From 7d5289c9ab0e595ff5f414716ff7fbb47d32c237 Mon Sep 17 00:00:00 2001 From: Tomasz Zajac Date: Tue, 29 Sep 2026 09:46:25 +0200 Subject: [PATCH 01/20] build: turn the repo into an npm workspaces monorepo Move each product into its own workspace so shared code can later be extracted into packages/ without splitting repositories: - apps/studio Studio (Electron + web) and the Hub viewer, with its tests, build configs and tools - apps/vscode VS Code extension (was tools/vscode-radical) - apps/web marketing site (was website/) - content/hub Hub concept catalogue (was hub/) Root scripts (dev, build, build:web, dist, test, typecheck) forward to the workspaces, so CI commands stay the same; workflows point at the new output paths. The Studio package keeps the name "radical-model": Electron derives the userData directory from it, and renaming it would hide users' saved documents. Electron is pinned to the locked 29.4.6 because electron-builder cannot resolve a version range from hoisted node_modules. The extension no longer commits its webview build or .vsix files; CI copies the Studio web build in at package time. Co-Authored-By: Claude Opus 5.5 --- .claude/skills/radical-diagram/SKILL.md | 2 +- .../references/radical-file-format.md | 4 +- .github/workflows/deploy.yml | 25 +- .github/workflows/release.yml | 13 +- .github/workflows/vscode-publish.yml | 20 +- .gitignore | 11 +- CONTRIBUTING.md | 29 +- README.md | 69 +- {build => apps/studio/build}/icon.png | Bin .../studio/electron-builder.yml | 2 +- .../studio/electron.vite.config.ts | 2 +- apps/studio/package.json | 44 + {src => apps/studio/src}/main/index.ts | 0 {src => apps/studio/src}/preload/index.d.ts | 0 {src => apps/studio/src}/preload/index.ts | 0 {src => apps/studio/src}/renderer/hub.html | 0 {src => apps/studio/src}/renderer/index.html | 0 {src => apps/studio/src}/renderer/src/App.tsx | 0 .../src}/renderer/src/ai/diagramFacade.ts | 0 .../src}/renderer/src/ai/forgeClarify.ts | 0 .../src}/renderer/src/ai/forgePrompts.ts | 0 .../src}/renderer/src/ai/mockupWireframe.ts | 0 .../src}/renderer/src/ai/providers/claude.ts | 0 .../src}/renderer/src/ai/providers/gemini.ts | 0 .../src}/renderer/src/ai/providers/ollama.ts | 0 .../src}/renderer/src/ai/providers/openai.ts | 0 .../src}/renderer/src/ai/queryLanguage.ts | 0 .../studio/src}/renderer/src/ai/registry.ts | 0 .../studio/src}/renderer/src/ai/runner.ts | 0 .../studio/src}/renderer/src/ai/settings.ts | 0 .../src}/renderer/src/ai/systemPrompt.ts | 0 .../src}/renderer/src/ai/tools/index.ts | 0 .../src}/renderer/src/ai/tools/modelTools.ts | 0 .../src}/renderer/src/ai/tools/nodeTools.ts | 0 .../src}/renderer/src/ai/tools/propertyBag.ts | 0 .../renderer/src/ai/tools/relationTools.ts | 0 .../src}/renderer/src/ai/tools/types.ts | 0 .../src}/renderer/src/ai/tools/viewTools.ts | 0 .../studio/src}/renderer/src/ai/types.ts | 0 .../src}/renderer/src/ai/useDiagramFacade.ts | 0 .../renderer/src/components/AIReportLine.tsx | 0 .../src/components/AISettingsModal.tsx | 0 .../src}/renderer/src/components/Canvas.tsx | 0 .../src/components/DeleteConfirmDialog.tsx | 0 .../src/components/DevSampleToolbar.tsx | 0 .../src/components/DocumentManager.tsx | 0 .../src/components/EarsQuickEntry.tsx | 0 .../renderer/src/components/EdgeActionBar.tsx | 0 .../renderer/src/components/ErrorBoundary.tsx | 0 .../renderer/src/components/ExportMenu.tsx | 0 .../src/components/HubImportModal.tsx | 0 .../renderer/src/components/MatrixView.tsx | 0 .../src/components/MetamodelEditor.tsx | 0 .../src/components/MilestoneEditOverlay.tsx | 0 .../src/components/MockupWireframe.tsx | 0 .../src/components/NotificationHost.tsx | 0 .../src/components/PresentationBar.tsx | 0 .../src/components/PropertiesPanel.tsx | 0 .../renderer/src/components/QuickSearch.tsx | 0 .../src/components/RadicalForgeModal.tsx | 0 .../renderer/src/components/RightPanel.tsx | 0 .../src/components/SelectionActionBar.tsx | 0 .../renderer/src/components/SequenceView.tsx | 0 .../src}/renderer/src/components/Sidebar.tsx | 0 .../src/components/SmartLayoutButton.tsx | 0 .../renderer/src/components/TableView.tsx | 0 .../renderer/src/components/TimeTravelBar.tsx | 0 .../src}/renderer/src/components/Toolbar.tsx | 0 .../renderer/src/components/TreemapView.tsx | 0 .../src}/renderer/src/components/ViewBar.tsx | 0 .../renderer/src/components/WelcomeScreen.tsx | 0 .../src}/renderer/src/components/WikiView.tsx | 0 .../src/components/edges/RelationEdge.tsx | 0 .../renderer/src/components/nodes/C4Nodes.tsx | 0 .../src}/renderer/src/export/exportGherkin.ts | 0 .../src}/renderer/src/hooks/useExport.ts | 0 .../renderer/src/hooks/useOutsideClick.ts | 0 {src => apps/studio/src}/renderer/src/hub.tsx | 0 .../studio/src}/renderer/src/hub/HubApp.tsx | 0 .../src}/renderer/src/hub/HubLanding.tsx | 0 .../studio/src}/renderer/src/hub/SiteNav.tsx | 4 +- .../src}/renderer/src/hub/conceptToDiagram.ts | 0 .../src}/renderer/src/hub/conceptViews.ts | 0 .../studio/src}/renderer/src/hub/hub.css | 0 .../studio/src}/renderer/src/hub/hubFormat.ts | 4 +- .../studio/src}/renderer/src/hub/hubRoute.ts | 0 .../src}/renderer/src/hub/importConcept.ts | 0 .../src}/renderer/src/hub/matchConcepts.ts | 0 .../renderer/src/import/structurizrDsl.ts | 0 .../studio/src}/renderer/src/index.css | 0 .../src}/renderer/src/layout/annealing.ts | 0 .../src}/renderer/src/layout/crossingOpt.ts | 0 .../src}/renderer/src/layout/edgeRouting.ts | 0 .../src}/renderer/src/layout/elkLayout.ts | 0 .../renderer/src/layout/elkSpacingBase.ts | 0 .../src}/renderer/src/layout/geometry.ts | 0 .../renderer/src/layout/layoutFinalize.ts | 0 .../renderer/src/layout/liveColaLayout.ts | 0 .../src}/renderer/src/layout/portAllocator.ts | 0 .../src}/renderer/src/layout/radicalLayout.ts | 0 .../src}/renderer/src/layout/scoreWeights.ts | 0 .../src}/renderer/src/layout/smartLayout.ts | 0 .../renderer/src/layout/smartLayout.worker.ts | 0 .../renderer/src/layout/smartLayoutRunner.ts | 0 .../studio/src}/renderer/src/main.tsx | 0 .../src}/renderer/src/persist/mdFolder.ts | 0 .../src}/renderer/src/persist/webFolder.ts | 0 .../studio/src}/renderer/src/route.ts | 0 .../studio/src}/renderer/src/runtime.ts | 0 .../src}/renderer/src/store/diagramStore.ts | 0 .../src}/renderer/src/store/documentStore.ts | 0 .../src}/renderer/src/store/fintechSample.ts | 0 .../renderer/src/store/fintechSampleData.json | 0 .../src}/renderer/src/store/hubStore.ts | 0 .../src}/renderer/src/studioSettings.ts | 0 .../studio/src}/renderer/src/types/c4.ts | 0 .../src}/renderer/src/types/hubTheme.ts | 0 .../src}/renderer/src/types/metamodel/ears.ts | 0 .../renderer/src/types/metamodel/index.ts | 0 .../renderer/src/types/metamodel/lookup.ts | 0 .../src/types/metamodel/presets/c4.ts | 0 .../src/types/metamodel/presets/ddd.ts | 0 .../src/types/metamodel/presets/governance.ts | 0 .../src/types/metamodel/presets/index.ts | 0 .../renderer/src/types/metamodel/types.ts | 0 .../renderer/src/types/metamodel/validate.ts | 0 .../tests}/_group_collapse_debug.test.ts | 0 .../studio/tests}/aiProviders.test.ts | 0 .../studio/tests}/aiQueryLanguage.test.ts | 0 {tests => apps/studio/tests}/aiRunner.test.ts | 0 .../studio/tests}/aiSettings.test.ts | 0 .../studio/tests}/aiSystemPrompt.test.ts | 0 .../studio/tests}/aiToolCatalogue.test.ts | 0 .../studio/tests}/annealing.test.ts | 0 {tests => apps/studio/tests}/autoFit.test.ts | 0 .../studio/tests}/cola-oscillation-test.mjs | 0 .../studio/tests}/collapsePhysics.test.ts | 0 .../studio/tests}/connection.test.ts | 0 .../studio/tests}/d3adaptor-test.mjs | 0 .../studio/tests}/earsSentence.test.ts | 0 .../studio/tests}/fintechSample.test.ts | 0 .../studio/tests}/forgeClarify.test.ts | 0 .../studio/tests}/forgePrompts.test.ts | 0 .../studio/tests}/hubCatalogue.test.ts | 2 +- .../studio/tests}/hubViewer.test.ts | 0 .../studio/tests}/layoutPipeline.test.ts | 0 .../studio/tests}/lazyNodeHydration.test.ts | 0 .../studio/tests}/matchConcepts.test.ts | 2 +- .../studio/tests}/mdFolderDocument.test.ts | 0 .../studio/tests}/mdFolderPersistence.test.ts | 0 .../studio/tests}/milestones.test.ts | 0 .../studio/tests}/mockupWireframe.test.ts | 0 {tests => apps/studio/tests}/model.test.ts | 0 {tests => apps/studio/tests}/openFile.test.ts | 0 .../studio/tests}/presentation.test.ts | 0 .../studio/tests}/presenterMode.test.ts | 0 .../studio/tests}/radicalLayout.test.ts | 0 {tests => apps/studio/tests}/route.test.ts | 0 .../studio/tests}/saThroughput.bench.mjs | 0 .../studio/tests}/saveAsFile.test.ts | 0 .../studio/tests}/sequences.test.ts | 0 {tests => apps/studio/tests}/setup.ts | 0 .../studio/tests}/smartLayout.test.ts | 0 .../studio/tests}/smartLayoutScoring.test.mjs | 0 .../tests}/snapshotMemorySharing.test.ts | 0 {tests => apps/studio/tests}/undo.test.ts | 0 .../studio/tests}/useOutsideClick.test.ts | 0 .../studio/tests}/viewCollapse.test.ts | 0 .../studio/tests}/viewerSandbox.test.ts | 0 {tests => apps/studio/tests}/views.test.ts | 0 .../studio/tests}/visual/layoutHarness.mjs | 0 .../studio/tests}/webFolder.test.ts | 0 .../studio/tools}/generate-sample.js | 0 {tools => apps/studio/tools}/hubCatalogue.ts | 6 +- .../studio/tools}/sample-product.js | 0 tsconfig.json => apps/studio/tsconfig.json | 0 .../studio/tsconfig.node.json | 0 .../studio/tsconfig.web.json | 0 .../studio/vite.web.config.ts | 2 +- .../studio/vitest.config.ts | 0 .../vscode}/.vscodeignore | 0 .../vscode}/CHANGELOG.md | 0 .../vscode-radical => apps/vscode}/README.md | 0 .../vscode}/example/demo.c4.json | 0 .../vscode}/example/demo.radical | 0 .../vscode}/images/icon.png | Bin .../vscode}/language-configuration.json | 0 .../vscode}/package.json | 2 +- .../vscode}/schemas/c4.schema.json | 0 .../vscode}/src/extension.ts | 5 +- .../vscode}/tsconfig.json | 0 {website => apps/web}/index.html | 0 {website => apps/web}/landing.css | 0 {website => apps/web}/manual.html | 0 apps/web/package.json | 5 + .../web}/screenshots/ai-settings-dark.png | Bin .../web}/screenshots/ai-settings-light.png | Bin {website => apps/web}/screenshots/demo.gif | Bin .../web}/screenshots/designer-dark.png | Bin .../web}/screenshots/designer-light.png | Bin .../web}/screenshots/documents-dark.png | Bin .../web}/screenshots/documents-light.png | Bin .../web}/screenshots/flow-dark.png | Bin .../web}/screenshots/flow-light.png | Bin .../web}/screenshots/hierarchy-dark.png | Bin .../web}/screenshots/hierarchy-light.png | Bin .../web}/screenshots/hub-catalogue-dark.png | Bin .../web}/screenshots/hub-catalogue-light.png | Bin .../web}/screenshots/hub-import-dark.png | Bin .../web}/screenshots/hub-import-light.png | Bin .../web}/screenshots/hub-landing-dark.png | Bin .../web}/screenshots/hub-landing-light.png | Bin .../web}/screenshots/matrix-dark.png | Bin .../web}/screenshots/matrix-light.png | Bin .../web}/screenshots/metamodel-dark.png | Bin .../web}/screenshots/metamodel-light.png | Bin .../web}/screenshots/milestones-dark.png | Bin .../web}/screenshots/milestones-light.png | Bin .../web}/screenshots/mockups-dark.png | Bin .../web}/screenshots/mockups-light.png | Bin .../web}/screenshots/presenter-dark.png | Bin .../web}/screenshots/presenter-light.png | Bin .../web}/screenshots/properties-dark.png | Bin .../web}/screenshots/properties-light.png | Bin .../web}/screenshots/search-dark.png | Bin .../web}/screenshots/search-light.png | Bin .../web}/screenshots/table-dark.png | Bin .../web}/screenshots/table-light.png | Bin .../web}/screenshots/viewer-dark.png | Bin .../web}/screenshots/viewer-light.png | Bin .../web}/screenshots/views-dark.png | Bin .../web}/screenshots/views-light.png | Bin .../web}/screenshots/welcome-dark.png | Bin .../web}/screenshots/welcome-light.png | Bin .../web}/screenshots/wiki-dark.png | Bin .../web}/screenshots/wiki-light.png | Bin {website => apps/web}/social-preview.png | Bin {website => apps/web}/style.css | 0 {website => apps/web}/theme.js | 0 .../hub}/adr/adr-api-versioning.radical | 0 .../hub}/adr/adr-auth-strategy.radical | 0 .../hub}/adr/adr-caching-strategy.radical | 0 .../adr/adr-data-consistency-model.radical | 0 .../hub}/adr/adr-data-store.radical | 0 .../hub}/adr/adr-deployment-strategy.radical | 0 .../adr/adr-event-schema-evolution.radical | 0 .../hub}/adr/adr-integration-style.radical | 0 ...adr-ledger-reconciliation-strategy.radical | 0 .../adr/adr-llm-provider-strategy.radical | 0 .../adr-marketplace-payments-model.radical | 0 .../hub}/adr/adr-multi-region.radical | 0 .../adr/adr-multi-tenancy-strategy.radical | 0 .../hub}/adr/adr-observability.radical | 0 .../hub}/adr/adr-realtime-transport.radical | 0 .../hub}/adr/adr-tech-stack.radical | 0 .../hub}/adr/adr-zero-trust-network.radical | 0 .../bp-ai-assistant-platform.radical | 0 .../bp-analytical-data-platform.radical | 0 .../blueprint/bp-ecommerce-platform.radical | 0 .../bp-fintech-ledger-platform.radical | 0 .../blueprint/bp-marketplace-platform.radical | 0 .../bp-realtime-collaboration.radical | 0 .../blueprint/bp-saas-b2b-platform.radical | 0 .../ff-accessibility-scan.radical | 0 .../fitness-function/ff-ai-eval-gate.radical | 0 .../fitness-function/ff-api-contract.radical | 0 .../ff-capacity-load-test.radical | 0 .../ff-carbon-footprint-guard.radical | 0 .../ff-change-failure-rate.radical | 0 .../ff-chaos-resilience-test.radical | 0 .../ff-cost-efficiency-guard.radical | 0 .../ff-coupling-guard.radical | 0 .../ff-data-integrity-check.radical | 0 .../ff-data-residency.radical | 0 .../ff-dependency-rules.radical | 0 .../ff-deploy-frequency.radical | 0 .../ff-dr-drill-success.radical | 0 .../ff-duplication-guard.radical | 0 .../fitness-function/ff-error-budget.radical | 0 .../ff-fail-safe-verification.radical | 0 .../fitness-function/ff-infra-drift.radical | 0 .../fitness-function/ff-latency-slo.radical | 0 .../fitness-function/ff-lead-time.radical | 0 .../ff-ledger-balance-integrity.radical | 0 .../ff-license-compliance.radical | 0 .../hub}/fitness-function/ff-mttr.radical | 0 .../ff-noisy-neighbor-guard.radical | 0 .../fitness-function/ff-sast-scan.radical | 0 .../ff-scale-out-verification.radical | 0 .../fitness-function/ff-security-scan.radical | 0 .../ff-startup-shutdown-check.radical | 0 .../ff-sync-convergence-test.radical | 0 .../fitness-function/ff-test-coverage.radical | 0 .../fitness-function/ff-web-vitals.radical | 0 .../pattern-anti-corruption-layer.radical | 0 .../hub}/pattern/pattern-api-gateway.radical | 0 .../hub}/pattern/pattern-bff.radical | 0 .../hub}/pattern/pattern-bulkhead.radical | 0 .../pattern/pattern-circuit-breaker.radical | 0 .../hub}/pattern/pattern-cqrs.radical | 0 .../hub}/pattern/pattern-crdt-sync.radical | 0 .../hub}/pattern/pattern-event-driven.radical | 0 .../pattern-event-sourced-ledger.radical | 0 .../hub}/pattern/pattern-hexagonal.radical | 0 .../pattern/pattern-microservices.radical | 0 .../hub}/pattern/pattern-rag-pipeline.radical | 0 .../hub}/pattern/pattern-rate-limiter.radical | 0 .../hub}/pattern/pattern-saga.radical | 0 .../hub}/pattern/pattern-sidecar.radical | 0 .../pattern/pattern-strangler-fig.radical | 0 .../pattern-transactional-outbox.radical | 0 .../requirement/req-accessibility.radical | 0 .../req-ai-autonomous-resolution.radical | 0 .../requirement/req-ai-groundedness.radical | 0 .../requirement/req-ai-human-handoff.radical | 0 .../hub}/requirement/req-alerting.radical | 0 .../requirement/req-api-response-time.radical | 0 .../hub}/requirement/req-api-standard.radical | 0 .../requirement/req-audit-logging.radical | 0 .../req-auth-response-time.radical | 0 .../hub}/requirement/req-auth.radical | 0 .../hub}/requirement/req-autoscaling.radical | 0 .../hub}/requirement/req-availability.radical | 0 .../req-backward-compatibility.radical | 0 .../req-batch-job-completion.radical | 0 .../requirement/req-carbon-efficiency.radical | 0 .../req-centralised-logging.radical | 0 .../requirement/req-ci-pipeline-time.radical | 0 .../requirement/req-code-complexity.radical | 0 .../req-config-propagation.radical | 0 .../requirement/req-data-integrity.radical | 0 .../requirement/req-data-retention.radical | 0 .../requirement/req-db-query-response.radical | 0 .../requirement/req-disaster-recovery.radical | 0 .../req-distributed-tracing.radical | 0 .../hub}/requirement/req-encryption.radical | 0 .../hub}/requirement/req-error-rate.radical | 0 .../requirement/req-error-recovery.radical | 0 .../req-event-schema-compatibility.radical | 0 .../requirement/req-fail-safe-default.radical | 0 ...req-fast-startup-graceful-shutdown.radical | 0 .../hub}/requirement/req-gdpr-erasure.radical | 0 .../req-graceful-degradation.radical | 0 .../requirement/req-health-checks.radical | 0 .../hub}/requirement/req-iac.radical | 0 .../hub}/requirement/req-idempotency.radical | 0 .../requirement/req-input-validation.radical | 0 .../requirement/req-least-privilege.radical | 0 .../req-ledger-immutability.radical | 0 .../hub}/requirement/req-mfa.radical | 0 .../req-ml-extraction-accuracy.radical | 0 .../requirement/req-onboarding-time.radical | 0 .../requirement/req-page-load-time.radical | 0 .../requirement/req-payout-latency.radical | 0 .../requirement/req-presence-latency.radical | 0 .../requirement/req-rate-limiting.radical | 0 .../requirement/req-report-generation.radical | 0 .../req-resource-efficiency.radical | 0 .../requirement/req-resource-headroom.radical | 0 .../req-resource-isolation.radical | 0 .../req-search-response-time.radical | 0 .../req-secrets-management.radical | 0 .../requirement/req-task-success-rate.radical | 0 .../requirement/req-test-coverage.radical | 0 .../hub}/requirement/req-throughput.radical | 0 .../req-vulnerability-scanning.radical | 0 .../req-zero-downtime-deploy.radical | 0 package-lock.json | 2320 ++++++++++++- package.json | 53 +- tools/generate-icon.js | 6 +- tools/vscode-radical/package-lock.json | 2885 ----------------- .../vscode-radical/vscode-radical-0.1.0.vsix | Bin 21616 -> 0 bytes .../vscode-radical/vscode-radical-0.2.0.vsix | Bin 872426 -> 0 bytes .../webview/assets/index-CF2Dm6ou.css | 1 - .../webview/assets/index-CjwCM0Na.js | 276 -- .../assets/smartLayout.worker-CkTs5eLZ.js | 48 - tools/vscode-radical/webview/hub-data.json | 2161 ------------ tools/vscode-radical/webview/index.html | 13 - 378 files changed, 2481 insertions(+), 5535 deletions(-) rename {build => apps/studio/build}/icon.png (100%) rename electron-builder.yml => apps/studio/electron-builder.yml (87%) rename electron.vite.config.ts => apps/studio/electron.vite.config.ts (96%) create mode 100644 apps/studio/package.json rename {src => apps/studio/src}/main/index.ts (100%) rename {src => apps/studio/src}/preload/index.d.ts (100%) rename {src => apps/studio/src}/preload/index.ts (100%) rename {src => apps/studio/src}/renderer/hub.html (100%) rename {src => apps/studio/src}/renderer/index.html (100%) rename {src => apps/studio/src}/renderer/src/App.tsx (100%) rename {src => apps/studio/src}/renderer/src/ai/diagramFacade.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/forgeClarify.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/forgePrompts.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/mockupWireframe.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/providers/claude.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/providers/gemini.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/providers/ollama.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/providers/openai.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/queryLanguage.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/registry.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/runner.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/settings.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/systemPrompt.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/tools/index.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/tools/modelTools.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/tools/nodeTools.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/tools/propertyBag.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/tools/relationTools.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/tools/types.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/tools/viewTools.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/types.ts (100%) rename {src => apps/studio/src}/renderer/src/ai/useDiagramFacade.ts (100%) rename {src => apps/studio/src}/renderer/src/components/AIReportLine.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/AISettingsModal.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/Canvas.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/DeleteConfirmDialog.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/DevSampleToolbar.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/DocumentManager.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/EarsQuickEntry.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/EdgeActionBar.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/ErrorBoundary.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/ExportMenu.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/HubImportModal.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/MatrixView.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/MetamodelEditor.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/MilestoneEditOverlay.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/MockupWireframe.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/NotificationHost.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/PresentationBar.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/PropertiesPanel.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/QuickSearch.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/RadicalForgeModal.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/RightPanel.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/SelectionActionBar.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/SequenceView.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/Sidebar.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/SmartLayoutButton.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/TableView.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/TimeTravelBar.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/Toolbar.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/TreemapView.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/ViewBar.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/WelcomeScreen.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/WikiView.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/edges/RelationEdge.tsx (100%) rename {src => apps/studio/src}/renderer/src/components/nodes/C4Nodes.tsx (100%) rename {src => apps/studio/src}/renderer/src/export/exportGherkin.ts (100%) rename {src => apps/studio/src}/renderer/src/hooks/useExport.ts (100%) rename {src => apps/studio/src}/renderer/src/hooks/useOutsideClick.ts (100%) rename {src => apps/studio/src}/renderer/src/hub.tsx (100%) rename {src => apps/studio/src}/renderer/src/hub/HubApp.tsx (100%) rename {src => apps/studio/src}/renderer/src/hub/HubLanding.tsx (100%) rename {src => apps/studio/src}/renderer/src/hub/SiteNav.tsx (94%) rename {src => apps/studio/src}/renderer/src/hub/conceptToDiagram.ts (100%) rename {src => apps/studio/src}/renderer/src/hub/conceptViews.ts (100%) rename {src => apps/studio/src}/renderer/src/hub/hub.css (100%) rename {src => apps/studio/src}/renderer/src/hub/hubFormat.ts (97%) rename {src => apps/studio/src}/renderer/src/hub/hubRoute.ts (100%) rename {src => apps/studio/src}/renderer/src/hub/importConcept.ts (100%) rename {src => apps/studio/src}/renderer/src/hub/matchConcepts.ts (100%) rename {src => apps/studio/src}/renderer/src/import/structurizrDsl.ts (100%) rename {src => apps/studio/src}/renderer/src/index.css (100%) rename {src => apps/studio/src}/renderer/src/layout/annealing.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/crossingOpt.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/edgeRouting.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/elkLayout.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/elkSpacingBase.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/geometry.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/layoutFinalize.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/liveColaLayout.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/portAllocator.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/radicalLayout.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/scoreWeights.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/smartLayout.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/smartLayout.worker.ts (100%) rename {src => apps/studio/src}/renderer/src/layout/smartLayoutRunner.ts (100%) rename {src => apps/studio/src}/renderer/src/main.tsx (100%) rename {src => apps/studio/src}/renderer/src/persist/mdFolder.ts (100%) rename {src => apps/studio/src}/renderer/src/persist/webFolder.ts (100%) rename {src => apps/studio/src}/renderer/src/route.ts (100%) rename {src => apps/studio/src}/renderer/src/runtime.ts (100%) rename {src => apps/studio/src}/renderer/src/store/diagramStore.ts (100%) rename {src => apps/studio/src}/renderer/src/store/documentStore.ts (100%) rename {src => apps/studio/src}/renderer/src/store/fintechSample.ts (100%) rename {src => apps/studio/src}/renderer/src/store/fintechSampleData.json (100%) rename {src => apps/studio/src}/renderer/src/store/hubStore.ts (100%) rename {src => apps/studio/src}/renderer/src/studioSettings.ts (100%) rename {src => apps/studio/src}/renderer/src/types/c4.ts (100%) rename {src => apps/studio/src}/renderer/src/types/hubTheme.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/ears.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/index.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/lookup.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/presets/c4.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/presets/ddd.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/presets/governance.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/presets/index.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/types.ts (100%) rename {src => apps/studio/src}/renderer/src/types/metamodel/validate.ts (100%) rename {tests => apps/studio/tests}/_group_collapse_debug.test.ts (100%) rename {tests => apps/studio/tests}/aiProviders.test.ts (100%) rename {tests => apps/studio/tests}/aiQueryLanguage.test.ts (100%) rename {tests => apps/studio/tests}/aiRunner.test.ts (100%) rename {tests => apps/studio/tests}/aiSettings.test.ts (100%) rename {tests => apps/studio/tests}/aiSystemPrompt.test.ts (100%) rename {tests => apps/studio/tests}/aiToolCatalogue.test.ts (100%) rename {tests => apps/studio/tests}/annealing.test.ts (100%) rename {tests => apps/studio/tests}/autoFit.test.ts (100%) rename {tests => apps/studio/tests}/cola-oscillation-test.mjs (100%) rename {tests => apps/studio/tests}/collapsePhysics.test.ts (100%) rename {tests => apps/studio/tests}/connection.test.ts (100%) rename {tests => apps/studio/tests}/d3adaptor-test.mjs (100%) rename {tests => apps/studio/tests}/earsSentence.test.ts (100%) rename {tests => apps/studio/tests}/fintechSample.test.ts (100%) rename {tests => apps/studio/tests}/forgeClarify.test.ts (100%) rename {tests => apps/studio/tests}/forgePrompts.test.ts (100%) rename {tests => apps/studio/tests}/hubCatalogue.test.ts (99%) rename {tests => apps/studio/tests}/hubViewer.test.ts (100%) rename {tests => apps/studio/tests}/layoutPipeline.test.ts (100%) rename {tests => apps/studio/tests}/lazyNodeHydration.test.ts (100%) rename {tests => apps/studio/tests}/matchConcepts.test.ts (97%) rename {tests => apps/studio/tests}/mdFolderDocument.test.ts (100%) rename {tests => apps/studio/tests}/mdFolderPersistence.test.ts (100%) rename {tests => apps/studio/tests}/milestones.test.ts (100%) rename {tests => apps/studio/tests}/mockupWireframe.test.ts (100%) rename {tests => apps/studio/tests}/model.test.ts (100%) rename {tests => apps/studio/tests}/openFile.test.ts (100%) rename {tests => apps/studio/tests}/presentation.test.ts (100%) rename {tests => apps/studio/tests}/presenterMode.test.ts (100%) rename {tests => apps/studio/tests}/radicalLayout.test.ts (100%) rename {tests => apps/studio/tests}/route.test.ts (100%) rename {tests => apps/studio/tests}/saThroughput.bench.mjs (100%) rename {tests => apps/studio/tests}/saveAsFile.test.ts (100%) rename {tests => apps/studio/tests}/sequences.test.ts (100%) rename {tests => apps/studio/tests}/setup.ts (100%) rename {tests => apps/studio/tests}/smartLayout.test.ts (100%) rename {tests => apps/studio/tests}/smartLayoutScoring.test.mjs (100%) rename {tests => apps/studio/tests}/snapshotMemorySharing.test.ts (100%) rename {tests => apps/studio/tests}/undo.test.ts (100%) rename {tests => apps/studio/tests}/useOutsideClick.test.ts (100%) rename {tests => apps/studio/tests}/viewCollapse.test.ts (100%) rename {tests => apps/studio/tests}/viewerSandbox.test.ts (100%) rename {tests => apps/studio/tests}/views.test.ts (100%) rename {tests => apps/studio/tests}/visual/layoutHarness.mjs (100%) rename {tests => apps/studio/tests}/webFolder.test.ts (100%) rename {tools => apps/studio/tools}/generate-sample.js (100%) rename {tools => apps/studio/tools}/hubCatalogue.ts (96%) rename {tools => apps/studio/tools}/sample-product.js (100%) rename tsconfig.json => apps/studio/tsconfig.json (100%) rename tsconfig.node.json => apps/studio/tsconfig.node.json (100%) rename tsconfig.web.json => apps/studio/tsconfig.web.json (100%) rename vite.web.config.ts => apps/studio/vite.web.config.ts (97%) rename vitest.config.ts => apps/studio/vitest.config.ts (100%) rename {tools/vscode-radical => apps/vscode}/.vscodeignore (100%) rename {tools/vscode-radical => apps/vscode}/CHANGELOG.md (100%) rename {tools/vscode-radical => apps/vscode}/README.md (100%) rename {tools/vscode-radical => apps/vscode}/example/demo.c4.json (100%) rename {tools/vscode-radical => apps/vscode}/example/demo.radical (100%) rename {tools/vscode-radical => apps/vscode}/images/icon.png (100%) rename {tools/vscode-radical => apps/vscode}/language-configuration.json (100%) rename {tools/vscode-radical => apps/vscode}/package.json (98%) rename {tools/vscode-radical => apps/vscode}/schemas/c4.schema.json (100%) rename {tools/vscode-radical => apps/vscode}/src/extension.ts (97%) rename {tools/vscode-radical => apps/vscode}/tsconfig.json (100%) rename {website => apps/web}/index.html (100%) rename {website => apps/web}/landing.css (100%) rename {website => apps/web}/manual.html (100%) create mode 100644 apps/web/package.json rename {website => apps/web}/screenshots/ai-settings-dark.png (100%) rename {website => apps/web}/screenshots/ai-settings-light.png (100%) rename {website => apps/web}/screenshots/demo.gif (100%) rename {website => apps/web}/screenshots/designer-dark.png (100%) rename {website => apps/web}/screenshots/designer-light.png (100%) rename {website => apps/web}/screenshots/documents-dark.png (100%) rename {website => apps/web}/screenshots/documents-light.png (100%) rename {website => apps/web}/screenshots/flow-dark.png (100%) rename {website => apps/web}/screenshots/flow-light.png (100%) rename {website => apps/web}/screenshots/hierarchy-dark.png (100%) rename {website => apps/web}/screenshots/hierarchy-light.png (100%) rename {website => apps/web}/screenshots/hub-catalogue-dark.png (100%) rename {website => apps/web}/screenshots/hub-catalogue-light.png (100%) rename {website => apps/web}/screenshots/hub-import-dark.png (100%) rename {website => apps/web}/screenshots/hub-import-light.png (100%) rename {website => apps/web}/screenshots/hub-landing-dark.png (100%) rename {website => apps/web}/screenshots/hub-landing-light.png (100%) rename {website => apps/web}/screenshots/matrix-dark.png (100%) rename {website => apps/web}/screenshots/matrix-light.png (100%) rename {website => apps/web}/screenshots/metamodel-dark.png (100%) rename {website => apps/web}/screenshots/metamodel-light.png (100%) rename {website => apps/web}/screenshots/milestones-dark.png (100%) rename {website => apps/web}/screenshots/milestones-light.png (100%) rename {website => apps/web}/screenshots/mockups-dark.png (100%) rename {website => apps/web}/screenshots/mockups-light.png (100%) rename {website => apps/web}/screenshots/presenter-dark.png (100%) rename {website => apps/web}/screenshots/presenter-light.png (100%) rename {website => apps/web}/screenshots/properties-dark.png (100%) rename {website => apps/web}/screenshots/properties-light.png (100%) rename {website => apps/web}/screenshots/search-dark.png (100%) rename {website => apps/web}/screenshots/search-light.png (100%) rename {website => apps/web}/screenshots/table-dark.png (100%) rename {website => apps/web}/screenshots/table-light.png (100%) rename {website => apps/web}/screenshots/viewer-dark.png (100%) rename {website => apps/web}/screenshots/viewer-light.png (100%) rename {website => apps/web}/screenshots/views-dark.png (100%) rename {website => apps/web}/screenshots/views-light.png (100%) rename {website => apps/web}/screenshots/welcome-dark.png (100%) rename {website => apps/web}/screenshots/welcome-light.png (100%) rename {website => apps/web}/screenshots/wiki-dark.png (100%) rename {website => apps/web}/screenshots/wiki-light.png (100%) rename {website => apps/web}/social-preview.png (100%) rename {website => apps/web}/style.css (100%) rename {website => apps/web}/theme.js (100%) rename {hub => content/hub}/adr/adr-api-versioning.radical (100%) rename {hub => content/hub}/adr/adr-auth-strategy.radical (100%) rename {hub => content/hub}/adr/adr-caching-strategy.radical (100%) rename {hub => content/hub}/adr/adr-data-consistency-model.radical (100%) rename {hub => content/hub}/adr/adr-data-store.radical (100%) rename {hub => content/hub}/adr/adr-deployment-strategy.radical (100%) rename {hub => content/hub}/adr/adr-event-schema-evolution.radical (100%) rename {hub => content/hub}/adr/adr-integration-style.radical (100%) rename {hub => content/hub}/adr/adr-ledger-reconciliation-strategy.radical (100%) rename {hub => content/hub}/adr/adr-llm-provider-strategy.radical (100%) rename {hub => content/hub}/adr/adr-marketplace-payments-model.radical (100%) rename {hub => content/hub}/adr/adr-multi-region.radical (100%) rename {hub => content/hub}/adr/adr-multi-tenancy-strategy.radical (100%) rename {hub => content/hub}/adr/adr-observability.radical (100%) rename {hub => content/hub}/adr/adr-realtime-transport.radical (100%) rename {hub => content/hub}/adr/adr-tech-stack.radical (100%) rename {hub => content/hub}/adr/adr-zero-trust-network.radical (100%) rename {hub => content/hub}/blueprint/bp-ai-assistant-platform.radical (100%) rename {hub => content/hub}/blueprint/bp-analytical-data-platform.radical (100%) rename {hub => content/hub}/blueprint/bp-ecommerce-platform.radical (100%) rename {hub => content/hub}/blueprint/bp-fintech-ledger-platform.radical (100%) rename {hub => content/hub}/blueprint/bp-marketplace-platform.radical (100%) rename {hub => content/hub}/blueprint/bp-realtime-collaboration.radical (100%) rename {hub => content/hub}/blueprint/bp-saas-b2b-platform.radical (100%) rename {hub => content/hub}/fitness-function/ff-accessibility-scan.radical (100%) rename {hub => content/hub}/fitness-function/ff-ai-eval-gate.radical (100%) rename {hub => content/hub}/fitness-function/ff-api-contract.radical (100%) rename {hub => content/hub}/fitness-function/ff-capacity-load-test.radical (100%) rename {hub => content/hub}/fitness-function/ff-carbon-footprint-guard.radical (100%) rename {hub => content/hub}/fitness-function/ff-change-failure-rate.radical (100%) rename {hub => content/hub}/fitness-function/ff-chaos-resilience-test.radical (100%) rename {hub => content/hub}/fitness-function/ff-cost-efficiency-guard.radical (100%) rename {hub => content/hub}/fitness-function/ff-coupling-guard.radical (100%) rename {hub => content/hub}/fitness-function/ff-data-integrity-check.radical (100%) rename {hub => content/hub}/fitness-function/ff-data-residency.radical (100%) rename {hub => content/hub}/fitness-function/ff-dependency-rules.radical (100%) rename {hub => content/hub}/fitness-function/ff-deploy-frequency.radical (100%) rename {hub => content/hub}/fitness-function/ff-dr-drill-success.radical (100%) rename {hub => content/hub}/fitness-function/ff-duplication-guard.radical (100%) rename {hub => content/hub}/fitness-function/ff-error-budget.radical (100%) rename {hub => content/hub}/fitness-function/ff-fail-safe-verification.radical (100%) rename {hub => content/hub}/fitness-function/ff-infra-drift.radical (100%) rename {hub => content/hub}/fitness-function/ff-latency-slo.radical (100%) rename {hub => content/hub}/fitness-function/ff-lead-time.radical (100%) rename {hub => content/hub}/fitness-function/ff-ledger-balance-integrity.radical (100%) rename {hub => content/hub}/fitness-function/ff-license-compliance.radical (100%) rename {hub => content/hub}/fitness-function/ff-mttr.radical (100%) rename {hub => content/hub}/fitness-function/ff-noisy-neighbor-guard.radical (100%) rename {hub => content/hub}/fitness-function/ff-sast-scan.radical (100%) rename {hub => content/hub}/fitness-function/ff-scale-out-verification.radical (100%) rename {hub => content/hub}/fitness-function/ff-security-scan.radical (100%) rename {hub => content/hub}/fitness-function/ff-startup-shutdown-check.radical (100%) rename {hub => content/hub}/fitness-function/ff-sync-convergence-test.radical (100%) rename {hub => content/hub}/fitness-function/ff-test-coverage.radical (100%) rename {hub => content/hub}/fitness-function/ff-web-vitals.radical (100%) rename {hub => content/hub}/pattern/pattern-anti-corruption-layer.radical (100%) rename {hub => content/hub}/pattern/pattern-api-gateway.radical (100%) rename {hub => content/hub}/pattern/pattern-bff.radical (100%) rename {hub => content/hub}/pattern/pattern-bulkhead.radical (100%) rename {hub => content/hub}/pattern/pattern-circuit-breaker.radical (100%) rename {hub => content/hub}/pattern/pattern-cqrs.radical (100%) rename {hub => content/hub}/pattern/pattern-crdt-sync.radical (100%) rename {hub => content/hub}/pattern/pattern-event-driven.radical (100%) rename {hub => content/hub}/pattern/pattern-event-sourced-ledger.radical (100%) rename {hub => content/hub}/pattern/pattern-hexagonal.radical (100%) rename {hub => content/hub}/pattern/pattern-microservices.radical (100%) rename {hub => content/hub}/pattern/pattern-rag-pipeline.radical (100%) rename {hub => content/hub}/pattern/pattern-rate-limiter.radical (100%) rename {hub => content/hub}/pattern/pattern-saga.radical (100%) rename {hub => content/hub}/pattern/pattern-sidecar.radical (100%) rename {hub => content/hub}/pattern/pattern-strangler-fig.radical (100%) rename {hub => content/hub}/pattern/pattern-transactional-outbox.radical (100%) rename {hub => content/hub}/requirement/req-accessibility.radical (100%) rename {hub => content/hub}/requirement/req-ai-autonomous-resolution.radical (100%) rename {hub => content/hub}/requirement/req-ai-groundedness.radical (100%) rename {hub => content/hub}/requirement/req-ai-human-handoff.radical (100%) rename {hub => content/hub}/requirement/req-alerting.radical (100%) rename {hub => content/hub}/requirement/req-api-response-time.radical (100%) rename {hub => content/hub}/requirement/req-api-standard.radical (100%) rename {hub => content/hub}/requirement/req-audit-logging.radical (100%) rename {hub => content/hub}/requirement/req-auth-response-time.radical (100%) rename {hub => content/hub}/requirement/req-auth.radical (100%) rename {hub => content/hub}/requirement/req-autoscaling.radical (100%) rename {hub => content/hub}/requirement/req-availability.radical (100%) rename {hub => content/hub}/requirement/req-backward-compatibility.radical (100%) rename {hub => content/hub}/requirement/req-batch-job-completion.radical (100%) rename {hub => content/hub}/requirement/req-carbon-efficiency.radical (100%) rename {hub => content/hub}/requirement/req-centralised-logging.radical (100%) rename {hub => content/hub}/requirement/req-ci-pipeline-time.radical (100%) rename {hub => content/hub}/requirement/req-code-complexity.radical (100%) rename {hub => content/hub}/requirement/req-config-propagation.radical (100%) rename {hub => content/hub}/requirement/req-data-integrity.radical (100%) rename {hub => content/hub}/requirement/req-data-retention.radical (100%) rename {hub => content/hub}/requirement/req-db-query-response.radical (100%) rename {hub => content/hub}/requirement/req-disaster-recovery.radical (100%) rename {hub => content/hub}/requirement/req-distributed-tracing.radical (100%) rename {hub => content/hub}/requirement/req-encryption.radical (100%) rename {hub => content/hub}/requirement/req-error-rate.radical (100%) rename {hub => content/hub}/requirement/req-error-recovery.radical (100%) rename {hub => content/hub}/requirement/req-event-schema-compatibility.radical (100%) rename {hub => content/hub}/requirement/req-fail-safe-default.radical (100%) rename {hub => content/hub}/requirement/req-fast-startup-graceful-shutdown.radical (100%) rename {hub => content/hub}/requirement/req-gdpr-erasure.radical (100%) rename {hub => content/hub}/requirement/req-graceful-degradation.radical (100%) rename {hub => content/hub}/requirement/req-health-checks.radical (100%) rename {hub => content/hub}/requirement/req-iac.radical (100%) rename {hub => content/hub}/requirement/req-idempotency.radical (100%) rename {hub => content/hub}/requirement/req-input-validation.radical (100%) rename {hub => content/hub}/requirement/req-least-privilege.radical (100%) rename {hub => content/hub}/requirement/req-ledger-immutability.radical (100%) rename {hub => content/hub}/requirement/req-mfa.radical (100%) rename {hub => content/hub}/requirement/req-ml-extraction-accuracy.radical (100%) rename {hub => content/hub}/requirement/req-onboarding-time.radical (100%) rename {hub => content/hub}/requirement/req-page-load-time.radical (100%) rename {hub => content/hub}/requirement/req-payout-latency.radical (100%) rename {hub => content/hub}/requirement/req-presence-latency.radical (100%) rename {hub => content/hub}/requirement/req-rate-limiting.radical (100%) rename {hub => content/hub}/requirement/req-report-generation.radical (100%) rename {hub => content/hub}/requirement/req-resource-efficiency.radical (100%) rename {hub => content/hub}/requirement/req-resource-headroom.radical (100%) rename {hub => content/hub}/requirement/req-resource-isolation.radical (100%) rename {hub => content/hub}/requirement/req-search-response-time.radical (100%) rename {hub => content/hub}/requirement/req-secrets-management.radical (100%) rename {hub => content/hub}/requirement/req-task-success-rate.radical (100%) rename {hub => content/hub}/requirement/req-test-coverage.radical (100%) rename {hub => content/hub}/requirement/req-throughput.radical (100%) rename {hub => content/hub}/requirement/req-vulnerability-scanning.radical (100%) rename {hub => content/hub}/requirement/req-zero-downtime-deploy.radical (100%) delete mode 100644 tools/vscode-radical/package-lock.json delete mode 100644 tools/vscode-radical/vscode-radical-0.1.0.vsix delete mode 100644 tools/vscode-radical/vscode-radical-0.2.0.vsix delete mode 100644 tools/vscode-radical/webview/assets/index-CF2Dm6ou.css delete mode 100644 tools/vscode-radical/webview/assets/index-CjwCM0Na.js delete mode 100644 tools/vscode-radical/webview/assets/smartLayout.worker-CkTs5eLZ.js delete mode 100644 tools/vscode-radical/webview/hub-data.json delete mode 100644 tools/vscode-radical/webview/index.html diff --git a/.claude/skills/radical-diagram/SKILL.md b/.claude/skills/radical-diagram/SKILL.md index 1eeb80d3..bf351c97 100644 --- a/.claude/skills/radical-diagram/SKILL.md +++ b/.claude/skills/radical-diagram/SKILL.md @@ -5,7 +5,7 @@ description: Create or edit .radical diagram files (C4 architecture models for r # Creating .radical diagram files -A `.radical` file is a JSON document (`DiagramData` in `src/renderer/src/types/c4.ts`) that radical.tools opens directly. You can author one by hand from a structure description — no UI needed. +A `.radical` file is a JSON document (`DiagramData` in `apps/studio/src/renderer/src/types/c4.ts`) that radical.tools opens directly. You can author one by hand from a structure description — no UI needed. ## Workflow diff --git a/.claude/skills/radical-diagram/references/radical-file-format.md b/.claude/skills/radical-diagram/references/radical-file-format.md index d1ff2131..6f1884e0 100644 --- a/.claude/skills/radical-diagram/references/radical-file-format.md +++ b/.claude/skills/radical-diagram/references/radical-file-format.md @@ -1,6 +1,6 @@ # .radical file reference -Full schema lives in `src/renderer/src/types/c4.ts` (`DiagramData`) and `src/renderer/src/types/metamodel.ts` (`Metamodel`). This file summarises the optional sections beyond `nodes` + `relations`. +Full schema lives in `apps/studio/src/renderer/src/types/c4.ts` (`DiagramData`) and `apps/studio/src/renderer/src/types/metamodel.ts` (`Metamodel`). This file summarises the optional sections beyond `nodes` + `relations`. ## Top-level shape (`DiagramData`) @@ -95,7 +95,7 @@ Available when using an extended built-in metamodel. Set `"metamodel": { "id": " ## Custom metamodel -Embed a full custom `metamodel` only when built-in presets do not provide the needed types. It needs `id`, `name`, `nodeTypes`, and `relationTypes`. Each node type needs `id`, `label`, `color`, `fg`, `iconPath` (16×16 SVG path), `width`, and `height`; add optional `collapsedWidth`, `collapsedHeight`, `allowedParents`, `allowedAtRoot`, and `properties` as needed. Each relation type needs `id`, `label`, and `allowedPairs: [{from,to}]`. Use `src/renderer/src/types/metamodel.ts` as the authoritative shape. +Embed a full custom `metamodel` only when built-in presets do not provide the needed types. It needs `id`, `name`, `nodeTypes`, and `relationTypes`. Each node type needs `id`, `label`, `color`, `fg`, `iconPath` (16×16 SVG path), `width`, and `height`; add optional `collapsedWidth`, `collapsedHeight`, `allowedParents`, `allowedAtRoot`, and `properties` as needed. Each relation type needs `id`, `label`, and `allowedPairs: [{from,to}]`. Use `apps/studio/src/renderer/src/types/metamodel.ts` as the authoritative shape. ## Collapsed sizes diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index af30fe76..b757d2da 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -35,8 +35,8 @@ jobs: - name: Build web renderer run: npm run build:web - # Output: out/renderer/{index.html,hub.html,hub-data.json} + out/renderer/assets/** - # + out/renderer/hub/{index.json,/.radical} + # Output: apps/studio/out/renderer/{index.html,hub.html,hub-data.json} + apps/studio/out/renderer/assets/** + # + apps/studio/out/renderer/hub/{index.json,/.radical} # index.html → studio.radical.tools, hub.html → hub.radical.tools (same bundle) - name: Configure AWS credentials (OIDC — no long-lived keys) @@ -48,7 +48,7 @@ jobs: - name: Sync static assets to S3 run: | # Vite content-hashes asset filenames → cache forever (immutable) - aws s3 sync out/renderer/assets/ \ + aws s3 sync apps/studio/out/renderer/assets/ \ s3://${{ secrets.S3_BUCKET }}/assets/ \ --cache-control "public, max-age=31536000, immutable" \ --delete @@ -56,7 +56,7 @@ jobs: - name: Upload index.html (no-cache) run: | # index.html is the SPA entry point — must never be served stale - aws s3 cp out/renderer/index.html \ + aws s3 cp apps/studio/out/renderer/index.html \ s3://${{ secrets.S3_BUCKET }}/index.html \ --cache-control "no-store" @@ -71,21 +71,22 @@ jobs: run: | # HTML references landing.css / style.css / theme.js as `?v=__BUILD__`. # Stamping the commit sha busts browser + CDN caches on every deploy. - sed -i "s/__BUILD__/${GITHUB_SHA::8}/g" website/*.html + sed -i "s/__BUILD__/${GITHUB_SHA::8}/g" apps/web/*.html - name: Sync marketing website to S3 run: | - # Static site under website/ — HTML/CSS/screenshots. + # Static site under apps/web/ — HTML/CSS/screenshots. # HTML is uploaded separately below with no-cache headers. - aws s3 sync website/ \ + aws s3 sync apps/web/ \ s3://${{ secrets.WEB_S3_BUCKET }}/ \ --delete \ --exclude "*.html" \ + --exclude "package.json" \ --cache-control "public, max-age=3600" - name: Upload website HTML (no-cache) run: | - for f in website/*.html; do + for f in apps/web/*.html; do aws s3 cp "$f" \ "s3://${{ secrets.WEB_S3_BUCKET }}/$(basename "$f")" \ --cache-control "no-store" \ @@ -103,14 +104,14 @@ jobs: # viewer profile). Assets are content-hashed and shared with the studio. - name: Sync hub assets to S3 run: | - aws s3 sync out/renderer/assets/ \ + aws s3 sync apps/studio/out/renderer/assets/ \ s3://${{ secrets.HUB_S3_BUCKET }}/assets/ \ --cache-control "public, max-age=31536000, immutable" \ --delete - name: Upload hub index.html (no-cache) run: | - aws s3 cp out/renderer/hub.html \ + aws s3 cp apps/studio/out/renderer/hub.html \ s3://${{ secrets.HUB_S3_BUCKET }}/index.html \ --cache-control "no-store" \ --content-type "text/html; charset=utf-8" @@ -119,7 +120,7 @@ jobs: run: | # hub/index.json + one .radical (JSON) document per concept. # Served as JSON so fetch() content-type checks pass for .radical. - aws s3 sync out/renderer/hub/ \ + aws s3 sync apps/studio/out/renderer/hub/ \ s3://${{ secrets.HUB_S3_BUCKET }}/hub/ \ --delete \ --cache-control "no-store" \ @@ -128,7 +129,7 @@ jobs: - name: Upload legacy hub-data.json (no-cache) run: | # Single-file catalogue kept for older desktop builds. - aws s3 cp out/renderer/hub-data.json \ + aws s3 cp apps/studio/out/renderer/hub-data.json \ s3://${{ secrets.HUB_S3_BUCKET }}/hub-data.json \ --cache-control "no-store" \ --content-type "application/json; charset=utf-8" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7baf45a2..99bb0966 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,9 +11,10 @@ on: - 'v*' pull_request: paths: - - electron-builder.yml + - apps/studio/electron-builder.yml + - apps/studio/package.json - .github/workflows/release.yml - - build/** + - apps/studio/build/** workflow_dispatch: permissions: @@ -37,7 +38,7 @@ jobs: - name: Tag matches package.json version if: startsWith(github.ref, 'refs/tags/v') run: | - PKG="v$(node -p "require('./package.json').version")" + PKG="v$(node -p "require('./apps/studio/package.json').version")" if [ "$PKG" != "$GITHUB_REF_NAME" ]; then echo "::error::Tag $GITHUB_REF_NAME does not match package.json version $PKG" exit 1 @@ -71,9 +72,9 @@ jobs: with: name: installers-${{ runner.os }} path: | - dist/*.dmg - dist/*.exe - dist/*.AppImage + apps/studio/dist/*.dmg + apps/studio/dist/*.exe + apps/studio/dist/*.AppImage if-no-files-found: error retention-days: 14 diff --git a/.github/workflows/vscode-publish.yml b/.github/workflows/vscode-publish.yml index 4016acfd..9913bbfa 100644 --- a/.github/workflows/vscode-publish.yml +++ b/.github/workflows/vscode-publish.yml @@ -35,7 +35,7 @@ jobs: cache: npm # ── Quality gate ──────────────────────────────────────────────────────── - - name: Install root dependencies + - name: Install dependencies (all workspaces) run: npm ci - name: Type-check @@ -47,42 +47,38 @@ jobs: # ── Build web renderer ─────────────────────────────────────────────────── - name: Build web renderer run: npm run build:web - # Produces: out/renderer/index.html + out/renderer/assets/** + # Produces: apps/studio/out/renderer/index.html + apps/studio/out/renderer/assets/** # ── Generate icon (idempotent) ─────────────────────────────────────────── - name: Generate extension icon run: node tools/generate-icon.js # ── Extension ──────────────────────────────────────────────────────────── - - name: Install extension dependencies - working-directory: tools/vscode-radical - run: npm ci - - name: Bundle web renderer into extension - working-directory: tools/vscode-radical + working-directory: apps/vscode run: npm run bundle-webview - # Copies out/renderer → tools/vscode-radical/webview/ + # Copies apps/studio/out/renderer → apps/vscode/webview/ - name: Compile extension - working-directory: tools/vscode-radical + working-directory: apps/vscode run: npm run compile # ── Package (always) ───────────────────────────────────────────────────── - name: Package VSIX - working-directory: tools/vscode-radical + working-directory: apps/vscode run: npx @vscode/vsce package --no-dependencies - name: Upload VSIX artifact uses: actions/upload-artifact@v4 with: name: vscode-radical-vsix - path: tools/vscode-radical/*.vsix + path: apps/vscode/*.vsix retention-days: 30 # ── Publish (skipped on dry-run) ───────────────────────────────────────── - name: Publish to VS Code Marketplace if: ${{ !inputs.dry_run }} - working-directory: tools/vscode-radical + working-directory: apps/vscode env: VSCE_PAT: ${{ secrets.VSCE_PAT }} run: npx @vscode/vsce publish --no-dependencies --packagePath *.vsix diff --git a/.gitignore b/.gitignore index 7decc7ba..8a4bb756 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,13 @@ out/ .playwright-mcp/ # Visual layout harness output (regenerated locally; large binaries) -tests/visual/out-*.svg -tests/visual/out-*.png +apps/studio/tests/visual/out-*.svg +apps/studio/tests/visual/out-*.png + +# VS Code extension: the webview is the Studio web build, copied in by +# `npm run bundle-webview -w vscode-radical`; packaged .vsix files are CI artifacts +apps/vscode/webview/ +*.vsix # Editor / OS .vscode/ @@ -24,5 +29,5 @@ infra/tfplan infra/override.tf infra/override.tf.json # Note: infra/.terraform.lock.hcl IS committed (pins provider versions) -# Note: hub/**/*.radical (repo root) IS committed — it is the canonical +# Note: content/hub/**/*.radical IS committed — it is the canonical # concept catalogue served at hub.radical.tools/hub/ (index.json is generated) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dac03bca..39e489ef 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,18 +25,23 @@ npm run typecheck # Type-check ## Project structure +npm workspaces monorepo; run commands from the repo root. + ``` -src/ - main/ — Electron main process - preload/ — Electron preload bridge - renderer/ - src/ - ai/ — AI provider integrations and query language - components/ — React UI components - hooks/ — Custom React hooks - store/ — Zustand state management - types/ — Shared TypeScript types -tests/ — Vitest unit tests +apps/ + studio/ — Radical Studio (Electron + web) and the Hub viewer + src/main/ — Electron main process + src/preload/ — Electron preload bridge + src/renderer/src/ + ai/ — AI provider integrations and query language + components/ — React UI components + hooks/ — Custom React hooks + store/ — Zustand state management + types/ — Shared TypeScript types + tests/ — Vitest unit tests + vscode/ — VS Code extension + web/ — Marketing site (radical.tools) +content/hub/ — Architecture Hub concept catalogue (.radical files) ``` ## Daily workflow (for maintainers) @@ -76,7 +81,7 @@ Branch naming: `feature/`, `hotfix/`, `docs/`. - TypeScript strict mode; no `any` unless unavoidable - React functional components with hooks -- State via Zustand + Immer slices in `src/renderer/src/store/` +- State via Zustand + Immer slices in `apps/studio/src/renderer/src/store/` - Tests live in `tests/` and use Vitest ## Commit style diff --git a/README.md b/README.md index d1d1e655..4f8cc4dd 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [**Try it in the browser**](https://studio.radical.tools) · [Architecture Hub](https://hub.radical.tools) · [Manual](https://radical.tools/manual.html) -Demo: opening the sample banking model and switching between its views: system context, container view, payment sequence, dependency matrix, governance table and generated wiki +Demo: opening the sample banking model and switching between its views: system context, container view, payment sequence, dependency matrix, governance table and generated wiki @@ -26,12 +26,12 @@ Architecture diagrams go stale because they are pictures. In radical.tools they - - + + - - + +
Screen-flow of low-fi UI mockups linked by navigation relations
UI mockups & screen flows, AI-generated wireframes linked to requirements
Architecture Hub catalogue of patterns, ADRs and blueprints
Architecture Hub, curated concepts you can import in one click
Screen-flow of low-fi UI mockups linked by navigation relations
UI mockups & screen flows, AI-generated wireframes linked to requirements
Architecture Hub catalogue of patterns, ADRs and blueprints
Architecture Hub, curated concepts you can import in one click
Dependency matrix view of containers
Dependency matrix, one of six views over the same model
Generated architecture wiki page
Architecture wiki, documentation generated from the model
Dependency matrix view of containers
Dependency matrix, one of six views over the same model
Generated architecture wiki page
Architecture wiki, documentation generated from the model
@@ -41,7 +41,7 @@ Open [**studio.radical.tools**](https://studio.radical.tools). No sign-up, nothi **Desktop app:** there are no prebuilt installers yet. To run it as an Electron app, build it from source (see [Getting started](#getting-started)): `npm install && npm run dist` produces an installer for your OS in `dist/`. -**VS Code:** an extension that opens `.radical` files right in the editor lives in [tools/vscode-radical](tools/vscode-radical). +**VS Code:** an extension that opens `.radical` files right in the editor lives in [apps/vscode](apps/vscode). ## Features @@ -88,13 +88,13 @@ npm run typecheck # Run tests npm test -# Production build (outputs to out/) +# Production build (outputs to apps/studio/out/) npm run build # Run built Electron app npm start -# Desktop installers for the current OS (outputs to dist/) +# Desktop installers for the current OS (outputs to apps/studio/dist/) npm run dist # Build web-only renderer (for deployment to studio.radical.tools) @@ -106,7 +106,8 @@ npm run build:web Bump the version and push the tag: ```bash -npm version 1.1.0 # updates package.json and creates the v1.1.0 tag +npm version 1.1.0 -w radical-model # bumps apps/studio/package.json +git commit -am "release: v1.1.0" && git tag v1.1.0 git push --follow-tags ``` @@ -114,31 +115,33 @@ The [Release Desktop App](.github/workflows/release.yml) workflow builds the mac ## Project structure +The repo is an npm workspaces monorepo. Run every command from the root; it +forwards to the right workspace. + ``` -src/ - main/ Electron main process (IPC handlers, file dialogs) - preload/ contextBridge API surface exposed to renderer - renderer/src/ - components/ React UI (Canvas, Toolbar, Panels, Modals, …) - layout/ Layout algorithms (smartLayout, elkLayout, colaLayout, …) - store/ Zustand stores (diagramStore, documentStore, hubStore) - ai/ AI integration (providers: OpenAI, Anthropic, Gemini, Ollama) - types/ C4 + metamodel TypeScript types - hub/ Radical Hub — embedded read-only viewer of the concept - catalogue (hub.html entry → hub.radical.tools) -hub/ The concept catalogue — one Radical Studio document per - concept (/.radical with a `hub` metadata - block); content, kept at the repo root next to website/ - rather than under src/. hub/index.json is generated at - build time -build/ Desktop app icon used by electron-builder -website/ Marketing site (radical.tools) -infra/ Terraform — AWS S3 + CloudFront + Route53 + IAM (OIDC) -tools/ - hubCatalogue.ts Vite plugin — validates hub/**.radical, emits - hub/index.json (+ legacy hub-data.json) - vscode-radical/ VS Code extension for .radical file syntax highlighting -tests/ Vitest unit/integration tests + layout benchmarks +apps/ + studio/ Radical Studio: Electron app + web SPA (studio.radical.tools), + and the Hub viewer (hub.html entry → hub.radical.tools) + src/main/ Electron main process (IPC handlers, file dialogs) + src/preload/ contextBridge API surface exposed to renderer + src/renderer/src/ + components/ React UI (Canvas, Toolbar, Panels, Modals, …) + layout/ Layout algorithms (smartLayout, elkLayout, colaLayout, …) + store/ Zustand stores (diagramStore, documentStore, hubStore) + ai/ AI integration (providers: OpenAI, Anthropic, Gemini, Ollama) + types/ C4 + metamodel TypeScript types + hub/ Radical Hub, the embedded read-only catalogue viewer + tests/ Vitest unit/integration tests + layout benchmarks + tools/ hubCatalogue.ts (Vite plugin: validates content/hub, + emits hub/index.json + legacy hub-data.json), sample generator + build/ Desktop app icon used by electron-builder + vscode/ VS Code extension; bundles the Studio web build as its webview + web/ Marketing site and manual (radical.tools) +content/ + hub/ The concept catalogue: one Radical Studio document per + concept (/.radical with a `hub` metadata block) +infra/ Terraform: AWS S3 + CloudFront + Route53 + IAM (OIDC) +tools/ Repo-wide scripts (generate-icon.js) docs/ Architecture notes and improvement log ``` diff --git a/build/icon.png b/apps/studio/build/icon.png similarity index 100% rename from build/icon.png rename to apps/studio/build/icon.png diff --git a/electron-builder.yml b/apps/studio/electron-builder.yml similarity index 87% rename from electron-builder.yml rename to apps/studio/electron-builder.yml index ae271029..08ba3ade 100644 --- a/electron-builder.yml +++ b/apps/studio/electron-builder.yml @@ -6,7 +6,7 @@ copyright: Copyright © 2024 radical.tools contributors artifactName: radical-studio-${version}-${os}-${arch}.${ext} directories: - buildResources: build # icon.png (512×512) — node tools/generate-icon.js --size 512 --out build/icon.png + buildResources: build # icon.png (512×512) — node ../../tools/generate-icon.js --size 512 --out build/icon.png output: dist # electron-vite bundles everything into out/; runtime deps come from package.json. diff --git a/electron.vite.config.ts b/apps/studio/electron.vite.config.ts similarity index 96% rename from electron.vite.config.ts rename to apps/studio/electron.vite.config.ts index 16c2379d..620504b1 100644 --- a/electron.vite.config.ts +++ b/apps/studio/electron.vite.config.ts @@ -11,7 +11,7 @@ export default defineConfig({ plugins: [externalizeDepsPlugin()] }, renderer: { - plugins: [react(), hubCataloguePlugin({ hubDir: resolve(__dirname, 'hub') })], + plugins: [react(), hubCataloguePlugin({ hubDir: resolve(__dirname, '../../content/hub') })], define: { __DEV_SAMPLE_DATA_PATH__: JSON.stringify( resolve(__dirname, 'src/renderer/src/store/fintechSampleData.json') diff --git a/apps/studio/package.json b/apps/studio/package.json new file mode 100644 index 00000000..27ff306d --- /dev/null +++ b/apps/studio/package.json @@ -0,0 +1,44 @@ +{ + "name": "radical-model", + "version": "1.0.0", + "description": "C4 Architecture Diagram Tool", + "author": "radical.tools contributors", + "license": "MIT", + "homepage": "https://radical.tools", + "main": "out/main/index.js", + "scripts": { + "dev": "electron-vite dev", + "build": "electron-vite build", + "build:web": "vite build --config vite.web.config.ts", + "dev:web": "vite --config vite.web.config.ts", + "start": "electron-vite preview", + "dist": "npm run build && electron-builder --publish never", + "test": "vitest run", + "test:watch": "vitest", + "typecheck": "tsc -p tsconfig.web.json --noEmit && tsc -p tsconfig.node.json --noEmit" + }, + "dependencies": { + "@electron-toolkit/utils": "^2.0.1", + "elkjs": "^0.9.3", + "html-to-image": "^1.11.13", + "immer": "^10.0.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "reactflow": "^11.11.4", + "webcola": "^3.4.0", + "zustand": "^4.5.0" + }, + "devDependencies": { + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", + "@vitejs/plugin-react": "^4.2.1", + "electron": "29.4.6", + "electron-builder": "^26.15.3", + "electron-vite": "^2.0.0", + "tsx": "^4.21.0", + "typescript": "^5.3.3", + "vite": "^5.0.10", + "vitest": "^4.1.4" + }, + "private": true +} diff --git a/src/main/index.ts b/apps/studio/src/main/index.ts similarity index 100% rename from src/main/index.ts rename to apps/studio/src/main/index.ts diff --git a/src/preload/index.d.ts b/apps/studio/src/preload/index.d.ts similarity index 100% rename from src/preload/index.d.ts rename to apps/studio/src/preload/index.d.ts diff --git a/src/preload/index.ts b/apps/studio/src/preload/index.ts similarity index 100% rename from src/preload/index.ts rename to apps/studio/src/preload/index.ts diff --git a/src/renderer/hub.html b/apps/studio/src/renderer/hub.html similarity index 100% rename from src/renderer/hub.html rename to apps/studio/src/renderer/hub.html diff --git a/src/renderer/index.html b/apps/studio/src/renderer/index.html similarity index 100% rename from src/renderer/index.html rename to apps/studio/src/renderer/index.html diff --git a/src/renderer/src/App.tsx b/apps/studio/src/renderer/src/App.tsx similarity index 100% rename from src/renderer/src/App.tsx rename to apps/studio/src/renderer/src/App.tsx diff --git a/src/renderer/src/ai/diagramFacade.ts b/apps/studio/src/renderer/src/ai/diagramFacade.ts similarity index 100% rename from src/renderer/src/ai/diagramFacade.ts rename to apps/studio/src/renderer/src/ai/diagramFacade.ts diff --git a/src/renderer/src/ai/forgeClarify.ts b/apps/studio/src/renderer/src/ai/forgeClarify.ts similarity index 100% rename from src/renderer/src/ai/forgeClarify.ts rename to apps/studio/src/renderer/src/ai/forgeClarify.ts diff --git a/src/renderer/src/ai/forgePrompts.ts b/apps/studio/src/renderer/src/ai/forgePrompts.ts similarity index 100% rename from src/renderer/src/ai/forgePrompts.ts rename to apps/studio/src/renderer/src/ai/forgePrompts.ts diff --git a/src/renderer/src/ai/mockupWireframe.ts b/apps/studio/src/renderer/src/ai/mockupWireframe.ts similarity index 100% rename from src/renderer/src/ai/mockupWireframe.ts rename to apps/studio/src/renderer/src/ai/mockupWireframe.ts diff --git a/src/renderer/src/ai/providers/claude.ts b/apps/studio/src/renderer/src/ai/providers/claude.ts similarity index 100% rename from src/renderer/src/ai/providers/claude.ts rename to apps/studio/src/renderer/src/ai/providers/claude.ts diff --git a/src/renderer/src/ai/providers/gemini.ts b/apps/studio/src/renderer/src/ai/providers/gemini.ts similarity index 100% rename from src/renderer/src/ai/providers/gemini.ts rename to apps/studio/src/renderer/src/ai/providers/gemini.ts diff --git a/src/renderer/src/ai/providers/ollama.ts b/apps/studio/src/renderer/src/ai/providers/ollama.ts similarity index 100% rename from src/renderer/src/ai/providers/ollama.ts rename to apps/studio/src/renderer/src/ai/providers/ollama.ts diff --git a/src/renderer/src/ai/providers/openai.ts b/apps/studio/src/renderer/src/ai/providers/openai.ts similarity index 100% rename from src/renderer/src/ai/providers/openai.ts rename to apps/studio/src/renderer/src/ai/providers/openai.ts diff --git a/src/renderer/src/ai/queryLanguage.ts b/apps/studio/src/renderer/src/ai/queryLanguage.ts similarity index 100% rename from src/renderer/src/ai/queryLanguage.ts rename to apps/studio/src/renderer/src/ai/queryLanguage.ts diff --git a/src/renderer/src/ai/registry.ts b/apps/studio/src/renderer/src/ai/registry.ts similarity index 100% rename from src/renderer/src/ai/registry.ts rename to apps/studio/src/renderer/src/ai/registry.ts diff --git a/src/renderer/src/ai/runner.ts b/apps/studio/src/renderer/src/ai/runner.ts similarity index 100% rename from src/renderer/src/ai/runner.ts rename to apps/studio/src/renderer/src/ai/runner.ts diff --git a/src/renderer/src/ai/settings.ts b/apps/studio/src/renderer/src/ai/settings.ts similarity index 100% rename from src/renderer/src/ai/settings.ts rename to apps/studio/src/renderer/src/ai/settings.ts diff --git a/src/renderer/src/ai/systemPrompt.ts b/apps/studio/src/renderer/src/ai/systemPrompt.ts similarity index 100% rename from src/renderer/src/ai/systemPrompt.ts rename to apps/studio/src/renderer/src/ai/systemPrompt.ts diff --git a/src/renderer/src/ai/tools/index.ts b/apps/studio/src/renderer/src/ai/tools/index.ts similarity index 100% rename from src/renderer/src/ai/tools/index.ts rename to apps/studio/src/renderer/src/ai/tools/index.ts diff --git a/src/renderer/src/ai/tools/modelTools.ts b/apps/studio/src/renderer/src/ai/tools/modelTools.ts similarity index 100% rename from src/renderer/src/ai/tools/modelTools.ts rename to apps/studio/src/renderer/src/ai/tools/modelTools.ts diff --git a/src/renderer/src/ai/tools/nodeTools.ts b/apps/studio/src/renderer/src/ai/tools/nodeTools.ts similarity index 100% rename from src/renderer/src/ai/tools/nodeTools.ts rename to apps/studio/src/renderer/src/ai/tools/nodeTools.ts diff --git a/src/renderer/src/ai/tools/propertyBag.ts b/apps/studio/src/renderer/src/ai/tools/propertyBag.ts similarity index 100% rename from src/renderer/src/ai/tools/propertyBag.ts rename to apps/studio/src/renderer/src/ai/tools/propertyBag.ts diff --git a/src/renderer/src/ai/tools/relationTools.ts b/apps/studio/src/renderer/src/ai/tools/relationTools.ts similarity index 100% rename from src/renderer/src/ai/tools/relationTools.ts rename to apps/studio/src/renderer/src/ai/tools/relationTools.ts diff --git a/src/renderer/src/ai/tools/types.ts b/apps/studio/src/renderer/src/ai/tools/types.ts similarity index 100% rename from src/renderer/src/ai/tools/types.ts rename to apps/studio/src/renderer/src/ai/tools/types.ts diff --git a/src/renderer/src/ai/tools/viewTools.ts b/apps/studio/src/renderer/src/ai/tools/viewTools.ts similarity index 100% rename from src/renderer/src/ai/tools/viewTools.ts rename to apps/studio/src/renderer/src/ai/tools/viewTools.ts diff --git a/src/renderer/src/ai/types.ts b/apps/studio/src/renderer/src/ai/types.ts similarity index 100% rename from src/renderer/src/ai/types.ts rename to apps/studio/src/renderer/src/ai/types.ts diff --git a/src/renderer/src/ai/useDiagramFacade.ts b/apps/studio/src/renderer/src/ai/useDiagramFacade.ts similarity index 100% rename from src/renderer/src/ai/useDiagramFacade.ts rename to apps/studio/src/renderer/src/ai/useDiagramFacade.ts diff --git a/src/renderer/src/components/AIReportLine.tsx b/apps/studio/src/renderer/src/components/AIReportLine.tsx similarity index 100% rename from src/renderer/src/components/AIReportLine.tsx rename to apps/studio/src/renderer/src/components/AIReportLine.tsx diff --git a/src/renderer/src/components/AISettingsModal.tsx b/apps/studio/src/renderer/src/components/AISettingsModal.tsx similarity index 100% rename from src/renderer/src/components/AISettingsModal.tsx rename to apps/studio/src/renderer/src/components/AISettingsModal.tsx diff --git a/src/renderer/src/components/Canvas.tsx b/apps/studio/src/renderer/src/components/Canvas.tsx similarity index 100% rename from src/renderer/src/components/Canvas.tsx rename to apps/studio/src/renderer/src/components/Canvas.tsx diff --git a/src/renderer/src/components/DeleteConfirmDialog.tsx b/apps/studio/src/renderer/src/components/DeleteConfirmDialog.tsx similarity index 100% rename from src/renderer/src/components/DeleteConfirmDialog.tsx rename to apps/studio/src/renderer/src/components/DeleteConfirmDialog.tsx diff --git a/src/renderer/src/components/DevSampleToolbar.tsx b/apps/studio/src/renderer/src/components/DevSampleToolbar.tsx similarity index 100% rename from src/renderer/src/components/DevSampleToolbar.tsx rename to apps/studio/src/renderer/src/components/DevSampleToolbar.tsx diff --git a/src/renderer/src/components/DocumentManager.tsx b/apps/studio/src/renderer/src/components/DocumentManager.tsx similarity index 100% rename from src/renderer/src/components/DocumentManager.tsx rename to apps/studio/src/renderer/src/components/DocumentManager.tsx diff --git a/src/renderer/src/components/EarsQuickEntry.tsx b/apps/studio/src/renderer/src/components/EarsQuickEntry.tsx similarity index 100% rename from src/renderer/src/components/EarsQuickEntry.tsx rename to apps/studio/src/renderer/src/components/EarsQuickEntry.tsx diff --git a/src/renderer/src/components/EdgeActionBar.tsx b/apps/studio/src/renderer/src/components/EdgeActionBar.tsx similarity index 100% rename from src/renderer/src/components/EdgeActionBar.tsx rename to apps/studio/src/renderer/src/components/EdgeActionBar.tsx diff --git a/src/renderer/src/components/ErrorBoundary.tsx b/apps/studio/src/renderer/src/components/ErrorBoundary.tsx similarity index 100% rename from src/renderer/src/components/ErrorBoundary.tsx rename to apps/studio/src/renderer/src/components/ErrorBoundary.tsx diff --git a/src/renderer/src/components/ExportMenu.tsx b/apps/studio/src/renderer/src/components/ExportMenu.tsx similarity index 100% rename from src/renderer/src/components/ExportMenu.tsx rename to apps/studio/src/renderer/src/components/ExportMenu.tsx diff --git a/src/renderer/src/components/HubImportModal.tsx b/apps/studio/src/renderer/src/components/HubImportModal.tsx similarity index 100% rename from src/renderer/src/components/HubImportModal.tsx rename to apps/studio/src/renderer/src/components/HubImportModal.tsx diff --git a/src/renderer/src/components/MatrixView.tsx b/apps/studio/src/renderer/src/components/MatrixView.tsx similarity index 100% rename from src/renderer/src/components/MatrixView.tsx rename to apps/studio/src/renderer/src/components/MatrixView.tsx diff --git a/src/renderer/src/components/MetamodelEditor.tsx b/apps/studio/src/renderer/src/components/MetamodelEditor.tsx similarity index 100% rename from src/renderer/src/components/MetamodelEditor.tsx rename to apps/studio/src/renderer/src/components/MetamodelEditor.tsx diff --git a/src/renderer/src/components/MilestoneEditOverlay.tsx b/apps/studio/src/renderer/src/components/MilestoneEditOverlay.tsx similarity index 100% rename from src/renderer/src/components/MilestoneEditOverlay.tsx rename to apps/studio/src/renderer/src/components/MilestoneEditOverlay.tsx diff --git a/src/renderer/src/components/MockupWireframe.tsx b/apps/studio/src/renderer/src/components/MockupWireframe.tsx similarity index 100% rename from src/renderer/src/components/MockupWireframe.tsx rename to apps/studio/src/renderer/src/components/MockupWireframe.tsx diff --git a/src/renderer/src/components/NotificationHost.tsx b/apps/studio/src/renderer/src/components/NotificationHost.tsx similarity index 100% rename from src/renderer/src/components/NotificationHost.tsx rename to apps/studio/src/renderer/src/components/NotificationHost.tsx diff --git a/src/renderer/src/components/PresentationBar.tsx b/apps/studio/src/renderer/src/components/PresentationBar.tsx similarity index 100% rename from src/renderer/src/components/PresentationBar.tsx rename to apps/studio/src/renderer/src/components/PresentationBar.tsx diff --git a/src/renderer/src/components/PropertiesPanel.tsx b/apps/studio/src/renderer/src/components/PropertiesPanel.tsx similarity index 100% rename from src/renderer/src/components/PropertiesPanel.tsx rename to apps/studio/src/renderer/src/components/PropertiesPanel.tsx diff --git a/src/renderer/src/components/QuickSearch.tsx b/apps/studio/src/renderer/src/components/QuickSearch.tsx similarity index 100% rename from src/renderer/src/components/QuickSearch.tsx rename to apps/studio/src/renderer/src/components/QuickSearch.tsx diff --git a/src/renderer/src/components/RadicalForgeModal.tsx b/apps/studio/src/renderer/src/components/RadicalForgeModal.tsx similarity index 100% rename from src/renderer/src/components/RadicalForgeModal.tsx rename to apps/studio/src/renderer/src/components/RadicalForgeModal.tsx diff --git a/src/renderer/src/components/RightPanel.tsx b/apps/studio/src/renderer/src/components/RightPanel.tsx similarity index 100% rename from src/renderer/src/components/RightPanel.tsx rename to apps/studio/src/renderer/src/components/RightPanel.tsx diff --git a/src/renderer/src/components/SelectionActionBar.tsx b/apps/studio/src/renderer/src/components/SelectionActionBar.tsx similarity index 100% rename from src/renderer/src/components/SelectionActionBar.tsx rename to apps/studio/src/renderer/src/components/SelectionActionBar.tsx diff --git a/src/renderer/src/components/SequenceView.tsx b/apps/studio/src/renderer/src/components/SequenceView.tsx similarity index 100% rename from src/renderer/src/components/SequenceView.tsx rename to apps/studio/src/renderer/src/components/SequenceView.tsx diff --git a/src/renderer/src/components/Sidebar.tsx b/apps/studio/src/renderer/src/components/Sidebar.tsx similarity index 100% rename from src/renderer/src/components/Sidebar.tsx rename to apps/studio/src/renderer/src/components/Sidebar.tsx diff --git a/src/renderer/src/components/SmartLayoutButton.tsx b/apps/studio/src/renderer/src/components/SmartLayoutButton.tsx similarity index 100% rename from src/renderer/src/components/SmartLayoutButton.tsx rename to apps/studio/src/renderer/src/components/SmartLayoutButton.tsx diff --git a/src/renderer/src/components/TableView.tsx b/apps/studio/src/renderer/src/components/TableView.tsx similarity index 100% rename from src/renderer/src/components/TableView.tsx rename to apps/studio/src/renderer/src/components/TableView.tsx diff --git a/src/renderer/src/components/TimeTravelBar.tsx b/apps/studio/src/renderer/src/components/TimeTravelBar.tsx similarity index 100% rename from src/renderer/src/components/TimeTravelBar.tsx rename to apps/studio/src/renderer/src/components/TimeTravelBar.tsx diff --git a/src/renderer/src/components/Toolbar.tsx b/apps/studio/src/renderer/src/components/Toolbar.tsx similarity index 100% rename from src/renderer/src/components/Toolbar.tsx rename to apps/studio/src/renderer/src/components/Toolbar.tsx diff --git a/src/renderer/src/components/TreemapView.tsx b/apps/studio/src/renderer/src/components/TreemapView.tsx similarity index 100% rename from src/renderer/src/components/TreemapView.tsx rename to apps/studio/src/renderer/src/components/TreemapView.tsx diff --git a/src/renderer/src/components/ViewBar.tsx b/apps/studio/src/renderer/src/components/ViewBar.tsx similarity index 100% rename from src/renderer/src/components/ViewBar.tsx rename to apps/studio/src/renderer/src/components/ViewBar.tsx diff --git a/src/renderer/src/components/WelcomeScreen.tsx b/apps/studio/src/renderer/src/components/WelcomeScreen.tsx similarity index 100% rename from src/renderer/src/components/WelcomeScreen.tsx rename to apps/studio/src/renderer/src/components/WelcomeScreen.tsx diff --git a/src/renderer/src/components/WikiView.tsx b/apps/studio/src/renderer/src/components/WikiView.tsx similarity index 100% rename from src/renderer/src/components/WikiView.tsx rename to apps/studio/src/renderer/src/components/WikiView.tsx diff --git a/src/renderer/src/components/edges/RelationEdge.tsx b/apps/studio/src/renderer/src/components/edges/RelationEdge.tsx similarity index 100% rename from src/renderer/src/components/edges/RelationEdge.tsx rename to apps/studio/src/renderer/src/components/edges/RelationEdge.tsx diff --git a/src/renderer/src/components/nodes/C4Nodes.tsx b/apps/studio/src/renderer/src/components/nodes/C4Nodes.tsx similarity index 100% rename from src/renderer/src/components/nodes/C4Nodes.tsx rename to apps/studio/src/renderer/src/components/nodes/C4Nodes.tsx diff --git a/src/renderer/src/export/exportGherkin.ts b/apps/studio/src/renderer/src/export/exportGherkin.ts similarity index 100% rename from src/renderer/src/export/exportGherkin.ts rename to apps/studio/src/renderer/src/export/exportGherkin.ts diff --git a/src/renderer/src/hooks/useExport.ts b/apps/studio/src/renderer/src/hooks/useExport.ts similarity index 100% rename from src/renderer/src/hooks/useExport.ts rename to apps/studio/src/renderer/src/hooks/useExport.ts diff --git a/src/renderer/src/hooks/useOutsideClick.ts b/apps/studio/src/renderer/src/hooks/useOutsideClick.ts similarity index 100% rename from src/renderer/src/hooks/useOutsideClick.ts rename to apps/studio/src/renderer/src/hooks/useOutsideClick.ts diff --git a/src/renderer/src/hub.tsx b/apps/studio/src/renderer/src/hub.tsx similarity index 100% rename from src/renderer/src/hub.tsx rename to apps/studio/src/renderer/src/hub.tsx diff --git a/src/renderer/src/hub/HubApp.tsx b/apps/studio/src/renderer/src/hub/HubApp.tsx similarity index 100% rename from src/renderer/src/hub/HubApp.tsx rename to apps/studio/src/renderer/src/hub/HubApp.tsx diff --git a/src/renderer/src/hub/HubLanding.tsx b/apps/studio/src/renderer/src/hub/HubLanding.tsx similarity index 100% rename from src/renderer/src/hub/HubLanding.tsx rename to apps/studio/src/renderer/src/hub/HubLanding.tsx diff --git a/src/renderer/src/hub/SiteNav.tsx b/apps/studio/src/renderer/src/hub/SiteNav.tsx similarity index 94% rename from src/renderer/src/hub/SiteNav.tsx rename to apps/studio/src/renderer/src/hub/SiteNav.tsx index 50cf2e82..1ca97c39 100644 --- a/src/renderer/src/hub/SiteNav.tsx +++ b/apps/studio/src/renderer/src/hub/SiteNav.tsx @@ -1,8 +1,8 @@ // ─── Shared site navigation ────────────────────────────────────────────────── // -// The same bar as radical.tools / docs (website/landing.css `.site-nav`): +// The same bar as radical.tools / docs (apps/web/landing.css `.site-nav`): // Home · Docs | Hub · Studio | GitHub · theme. Keep markup and class -// names in sync with website/index.html and website/manual.html. +// names in sync with apps/web/index.html and apps/web/manual.html. import React from 'react' diff --git a/src/renderer/src/hub/conceptToDiagram.ts b/apps/studio/src/renderer/src/hub/conceptToDiagram.ts similarity index 100% rename from src/renderer/src/hub/conceptToDiagram.ts rename to apps/studio/src/renderer/src/hub/conceptToDiagram.ts diff --git a/src/renderer/src/hub/conceptViews.ts b/apps/studio/src/renderer/src/hub/conceptViews.ts similarity index 100% rename from src/renderer/src/hub/conceptViews.ts rename to apps/studio/src/renderer/src/hub/conceptViews.ts diff --git a/src/renderer/src/hub/hub.css b/apps/studio/src/renderer/src/hub/hub.css similarity index 100% rename from src/renderer/src/hub/hub.css rename to apps/studio/src/renderer/src/hub/hub.css diff --git a/src/renderer/src/hub/hubFormat.ts b/apps/studio/src/renderer/src/hub/hubFormat.ts similarity index 97% rename from src/renderer/src/hub/hubFormat.ts rename to apps/studio/src/renderer/src/hub/hubFormat.ts index 9b71625a..c2db6b86 100644 --- a/src/renderer/src/hub/hubFormat.ts +++ b/apps/studio/src/renderer/src/hub/hubFormat.ts @@ -3,8 +3,8 @@ // Every hub concept is a regular Radical Studio document (`DiagramData`: // nodes + relations, openable in the studio as-is) with one extra top-level // `hub` block carrying the catalogue metadata. The catalogue lives in the -// top-level hub//.radical (repo root, alongside website/ and -// docs/ — it's content, not app source) and is served verbatim; +// monorepo's content/hub//.radical (it's content, not app +// source) and is served verbatim under hub/; // `hub/index.json` (generated at build time, see tools/hubCatalogue.ts) lists // lightweight summaries so the UI can browse without downloading every file. // diff --git a/src/renderer/src/hub/hubRoute.ts b/apps/studio/src/renderer/src/hub/hubRoute.ts similarity index 100% rename from src/renderer/src/hub/hubRoute.ts rename to apps/studio/src/renderer/src/hub/hubRoute.ts diff --git a/src/renderer/src/hub/importConcept.ts b/apps/studio/src/renderer/src/hub/importConcept.ts similarity index 100% rename from src/renderer/src/hub/importConcept.ts rename to apps/studio/src/renderer/src/hub/importConcept.ts diff --git a/src/renderer/src/hub/matchConcepts.ts b/apps/studio/src/renderer/src/hub/matchConcepts.ts similarity index 100% rename from src/renderer/src/hub/matchConcepts.ts rename to apps/studio/src/renderer/src/hub/matchConcepts.ts diff --git a/src/renderer/src/import/structurizrDsl.ts b/apps/studio/src/renderer/src/import/structurizrDsl.ts similarity index 100% rename from src/renderer/src/import/structurizrDsl.ts rename to apps/studio/src/renderer/src/import/structurizrDsl.ts diff --git a/src/renderer/src/index.css b/apps/studio/src/renderer/src/index.css similarity index 100% rename from src/renderer/src/index.css rename to apps/studio/src/renderer/src/index.css diff --git a/src/renderer/src/layout/annealing.ts b/apps/studio/src/renderer/src/layout/annealing.ts similarity index 100% rename from src/renderer/src/layout/annealing.ts rename to apps/studio/src/renderer/src/layout/annealing.ts diff --git a/src/renderer/src/layout/crossingOpt.ts b/apps/studio/src/renderer/src/layout/crossingOpt.ts similarity index 100% rename from src/renderer/src/layout/crossingOpt.ts rename to apps/studio/src/renderer/src/layout/crossingOpt.ts diff --git a/src/renderer/src/layout/edgeRouting.ts b/apps/studio/src/renderer/src/layout/edgeRouting.ts similarity index 100% rename from src/renderer/src/layout/edgeRouting.ts rename to apps/studio/src/renderer/src/layout/edgeRouting.ts diff --git a/src/renderer/src/layout/elkLayout.ts b/apps/studio/src/renderer/src/layout/elkLayout.ts similarity index 100% rename from src/renderer/src/layout/elkLayout.ts rename to apps/studio/src/renderer/src/layout/elkLayout.ts diff --git a/src/renderer/src/layout/elkSpacingBase.ts b/apps/studio/src/renderer/src/layout/elkSpacingBase.ts similarity index 100% rename from src/renderer/src/layout/elkSpacingBase.ts rename to apps/studio/src/renderer/src/layout/elkSpacingBase.ts diff --git a/src/renderer/src/layout/geometry.ts b/apps/studio/src/renderer/src/layout/geometry.ts similarity index 100% rename from src/renderer/src/layout/geometry.ts rename to apps/studio/src/renderer/src/layout/geometry.ts diff --git a/src/renderer/src/layout/layoutFinalize.ts b/apps/studio/src/renderer/src/layout/layoutFinalize.ts similarity index 100% rename from src/renderer/src/layout/layoutFinalize.ts rename to apps/studio/src/renderer/src/layout/layoutFinalize.ts diff --git a/src/renderer/src/layout/liveColaLayout.ts b/apps/studio/src/renderer/src/layout/liveColaLayout.ts similarity index 100% rename from src/renderer/src/layout/liveColaLayout.ts rename to apps/studio/src/renderer/src/layout/liveColaLayout.ts diff --git a/src/renderer/src/layout/portAllocator.ts b/apps/studio/src/renderer/src/layout/portAllocator.ts similarity index 100% rename from src/renderer/src/layout/portAllocator.ts rename to apps/studio/src/renderer/src/layout/portAllocator.ts diff --git a/src/renderer/src/layout/radicalLayout.ts b/apps/studio/src/renderer/src/layout/radicalLayout.ts similarity index 100% rename from src/renderer/src/layout/radicalLayout.ts rename to apps/studio/src/renderer/src/layout/radicalLayout.ts diff --git a/src/renderer/src/layout/scoreWeights.ts b/apps/studio/src/renderer/src/layout/scoreWeights.ts similarity index 100% rename from src/renderer/src/layout/scoreWeights.ts rename to apps/studio/src/renderer/src/layout/scoreWeights.ts diff --git a/src/renderer/src/layout/smartLayout.ts b/apps/studio/src/renderer/src/layout/smartLayout.ts similarity index 100% rename from src/renderer/src/layout/smartLayout.ts rename to apps/studio/src/renderer/src/layout/smartLayout.ts diff --git a/src/renderer/src/layout/smartLayout.worker.ts b/apps/studio/src/renderer/src/layout/smartLayout.worker.ts similarity index 100% rename from src/renderer/src/layout/smartLayout.worker.ts rename to apps/studio/src/renderer/src/layout/smartLayout.worker.ts diff --git a/src/renderer/src/layout/smartLayoutRunner.ts b/apps/studio/src/renderer/src/layout/smartLayoutRunner.ts similarity index 100% rename from src/renderer/src/layout/smartLayoutRunner.ts rename to apps/studio/src/renderer/src/layout/smartLayoutRunner.ts diff --git a/src/renderer/src/main.tsx b/apps/studio/src/renderer/src/main.tsx similarity index 100% rename from src/renderer/src/main.tsx rename to apps/studio/src/renderer/src/main.tsx diff --git a/src/renderer/src/persist/mdFolder.ts b/apps/studio/src/renderer/src/persist/mdFolder.ts similarity index 100% rename from src/renderer/src/persist/mdFolder.ts rename to apps/studio/src/renderer/src/persist/mdFolder.ts diff --git a/src/renderer/src/persist/webFolder.ts b/apps/studio/src/renderer/src/persist/webFolder.ts similarity index 100% rename from src/renderer/src/persist/webFolder.ts rename to apps/studio/src/renderer/src/persist/webFolder.ts diff --git a/src/renderer/src/route.ts b/apps/studio/src/renderer/src/route.ts similarity index 100% rename from src/renderer/src/route.ts rename to apps/studio/src/renderer/src/route.ts diff --git a/src/renderer/src/runtime.ts b/apps/studio/src/renderer/src/runtime.ts similarity index 100% rename from src/renderer/src/runtime.ts rename to apps/studio/src/renderer/src/runtime.ts diff --git a/src/renderer/src/store/diagramStore.ts b/apps/studio/src/renderer/src/store/diagramStore.ts similarity index 100% rename from src/renderer/src/store/diagramStore.ts rename to apps/studio/src/renderer/src/store/diagramStore.ts diff --git a/src/renderer/src/store/documentStore.ts b/apps/studio/src/renderer/src/store/documentStore.ts similarity index 100% rename from src/renderer/src/store/documentStore.ts rename to apps/studio/src/renderer/src/store/documentStore.ts diff --git a/src/renderer/src/store/fintechSample.ts b/apps/studio/src/renderer/src/store/fintechSample.ts similarity index 100% rename from src/renderer/src/store/fintechSample.ts rename to apps/studio/src/renderer/src/store/fintechSample.ts diff --git a/src/renderer/src/store/fintechSampleData.json b/apps/studio/src/renderer/src/store/fintechSampleData.json similarity index 100% rename from src/renderer/src/store/fintechSampleData.json rename to apps/studio/src/renderer/src/store/fintechSampleData.json diff --git a/src/renderer/src/store/hubStore.ts b/apps/studio/src/renderer/src/store/hubStore.ts similarity index 100% rename from src/renderer/src/store/hubStore.ts rename to apps/studio/src/renderer/src/store/hubStore.ts diff --git a/src/renderer/src/studioSettings.ts b/apps/studio/src/renderer/src/studioSettings.ts similarity index 100% rename from src/renderer/src/studioSettings.ts rename to apps/studio/src/renderer/src/studioSettings.ts diff --git a/src/renderer/src/types/c4.ts b/apps/studio/src/renderer/src/types/c4.ts similarity index 100% rename from src/renderer/src/types/c4.ts rename to apps/studio/src/renderer/src/types/c4.ts diff --git a/src/renderer/src/types/hubTheme.ts b/apps/studio/src/renderer/src/types/hubTheme.ts similarity index 100% rename from src/renderer/src/types/hubTheme.ts rename to apps/studio/src/renderer/src/types/hubTheme.ts diff --git a/src/renderer/src/types/metamodel/ears.ts b/apps/studio/src/renderer/src/types/metamodel/ears.ts similarity index 100% rename from src/renderer/src/types/metamodel/ears.ts rename to apps/studio/src/renderer/src/types/metamodel/ears.ts diff --git a/src/renderer/src/types/metamodel/index.ts b/apps/studio/src/renderer/src/types/metamodel/index.ts similarity index 100% rename from src/renderer/src/types/metamodel/index.ts rename to apps/studio/src/renderer/src/types/metamodel/index.ts diff --git a/src/renderer/src/types/metamodel/lookup.ts b/apps/studio/src/renderer/src/types/metamodel/lookup.ts similarity index 100% rename from src/renderer/src/types/metamodel/lookup.ts rename to apps/studio/src/renderer/src/types/metamodel/lookup.ts diff --git a/src/renderer/src/types/metamodel/presets/c4.ts b/apps/studio/src/renderer/src/types/metamodel/presets/c4.ts similarity index 100% rename from src/renderer/src/types/metamodel/presets/c4.ts rename to apps/studio/src/renderer/src/types/metamodel/presets/c4.ts diff --git a/src/renderer/src/types/metamodel/presets/ddd.ts b/apps/studio/src/renderer/src/types/metamodel/presets/ddd.ts similarity index 100% rename from src/renderer/src/types/metamodel/presets/ddd.ts rename to apps/studio/src/renderer/src/types/metamodel/presets/ddd.ts diff --git a/src/renderer/src/types/metamodel/presets/governance.ts b/apps/studio/src/renderer/src/types/metamodel/presets/governance.ts similarity index 100% rename from src/renderer/src/types/metamodel/presets/governance.ts rename to apps/studio/src/renderer/src/types/metamodel/presets/governance.ts diff --git a/src/renderer/src/types/metamodel/presets/index.ts b/apps/studio/src/renderer/src/types/metamodel/presets/index.ts similarity index 100% rename from src/renderer/src/types/metamodel/presets/index.ts rename to apps/studio/src/renderer/src/types/metamodel/presets/index.ts diff --git a/src/renderer/src/types/metamodel/types.ts b/apps/studio/src/renderer/src/types/metamodel/types.ts similarity index 100% rename from src/renderer/src/types/metamodel/types.ts rename to apps/studio/src/renderer/src/types/metamodel/types.ts diff --git a/src/renderer/src/types/metamodel/validate.ts b/apps/studio/src/renderer/src/types/metamodel/validate.ts similarity index 100% rename from src/renderer/src/types/metamodel/validate.ts rename to apps/studio/src/renderer/src/types/metamodel/validate.ts diff --git a/tests/_group_collapse_debug.test.ts b/apps/studio/tests/_group_collapse_debug.test.ts similarity index 100% rename from tests/_group_collapse_debug.test.ts rename to apps/studio/tests/_group_collapse_debug.test.ts diff --git a/tests/aiProviders.test.ts b/apps/studio/tests/aiProviders.test.ts similarity index 100% rename from tests/aiProviders.test.ts rename to apps/studio/tests/aiProviders.test.ts diff --git a/tests/aiQueryLanguage.test.ts b/apps/studio/tests/aiQueryLanguage.test.ts similarity index 100% rename from tests/aiQueryLanguage.test.ts rename to apps/studio/tests/aiQueryLanguage.test.ts diff --git a/tests/aiRunner.test.ts b/apps/studio/tests/aiRunner.test.ts similarity index 100% rename from tests/aiRunner.test.ts rename to apps/studio/tests/aiRunner.test.ts diff --git a/tests/aiSettings.test.ts b/apps/studio/tests/aiSettings.test.ts similarity index 100% rename from tests/aiSettings.test.ts rename to apps/studio/tests/aiSettings.test.ts diff --git a/tests/aiSystemPrompt.test.ts b/apps/studio/tests/aiSystemPrompt.test.ts similarity index 100% rename from tests/aiSystemPrompt.test.ts rename to apps/studio/tests/aiSystemPrompt.test.ts diff --git a/tests/aiToolCatalogue.test.ts b/apps/studio/tests/aiToolCatalogue.test.ts similarity index 100% rename from tests/aiToolCatalogue.test.ts rename to apps/studio/tests/aiToolCatalogue.test.ts diff --git a/tests/annealing.test.ts b/apps/studio/tests/annealing.test.ts similarity index 100% rename from tests/annealing.test.ts rename to apps/studio/tests/annealing.test.ts diff --git a/tests/autoFit.test.ts b/apps/studio/tests/autoFit.test.ts similarity index 100% rename from tests/autoFit.test.ts rename to apps/studio/tests/autoFit.test.ts diff --git a/tests/cola-oscillation-test.mjs b/apps/studio/tests/cola-oscillation-test.mjs similarity index 100% rename from tests/cola-oscillation-test.mjs rename to apps/studio/tests/cola-oscillation-test.mjs diff --git a/tests/collapsePhysics.test.ts b/apps/studio/tests/collapsePhysics.test.ts similarity index 100% rename from tests/collapsePhysics.test.ts rename to apps/studio/tests/collapsePhysics.test.ts diff --git a/tests/connection.test.ts b/apps/studio/tests/connection.test.ts similarity index 100% rename from tests/connection.test.ts rename to apps/studio/tests/connection.test.ts diff --git a/tests/d3adaptor-test.mjs b/apps/studio/tests/d3adaptor-test.mjs similarity index 100% rename from tests/d3adaptor-test.mjs rename to apps/studio/tests/d3adaptor-test.mjs diff --git a/tests/earsSentence.test.ts b/apps/studio/tests/earsSentence.test.ts similarity index 100% rename from tests/earsSentence.test.ts rename to apps/studio/tests/earsSentence.test.ts diff --git a/tests/fintechSample.test.ts b/apps/studio/tests/fintechSample.test.ts similarity index 100% rename from tests/fintechSample.test.ts rename to apps/studio/tests/fintechSample.test.ts diff --git a/tests/forgeClarify.test.ts b/apps/studio/tests/forgeClarify.test.ts similarity index 100% rename from tests/forgeClarify.test.ts rename to apps/studio/tests/forgeClarify.test.ts diff --git a/tests/forgePrompts.test.ts b/apps/studio/tests/forgePrompts.test.ts similarity index 100% rename from tests/forgePrompts.test.ts rename to apps/studio/tests/forgePrompts.test.ts diff --git a/tests/hubCatalogue.test.ts b/apps/studio/tests/hubCatalogue.test.ts similarity index 99% rename from tests/hubCatalogue.test.ts rename to apps/studio/tests/hubCatalogue.test.ts index ed02cede..a50002da 100644 --- a/tests/hubCatalogue.test.ts +++ b/apps/studio/tests/hubCatalogue.test.ts @@ -19,7 +19,7 @@ import { useDiagramStore } from '../src/renderer/src/store/diagramStore' import { builtInGovernanceMetamodel, isParentAllowed } from '../src/renderer/src/types/metamodel' import { sanitizeWireframeSvg } from '../src/renderer/src/ai/mockupWireframe' -const HUB_DIR = resolve(__dirname, '../hub') +const HUB_DIR = resolve(__dirname, '../../../content/hub') const doc: HubRadicalDoc = { hub: { diff --git a/tests/hubViewer.test.ts b/apps/studio/tests/hubViewer.test.ts similarity index 100% rename from tests/hubViewer.test.ts rename to apps/studio/tests/hubViewer.test.ts diff --git a/tests/layoutPipeline.test.ts b/apps/studio/tests/layoutPipeline.test.ts similarity index 100% rename from tests/layoutPipeline.test.ts rename to apps/studio/tests/layoutPipeline.test.ts diff --git a/tests/lazyNodeHydration.test.ts b/apps/studio/tests/lazyNodeHydration.test.ts similarity index 100% rename from tests/lazyNodeHydration.test.ts rename to apps/studio/tests/lazyNodeHydration.test.ts diff --git a/tests/matchConcepts.test.ts b/apps/studio/tests/matchConcepts.test.ts similarity index 97% rename from tests/matchConcepts.test.ts rename to apps/studio/tests/matchConcepts.test.ts index e77609d2..676bb595 100644 --- a/tests/matchConcepts.test.ts +++ b/apps/studio/tests/matchConcepts.test.ts @@ -10,7 +10,7 @@ import { readCatalogue, buildIndex } from '../tools/hubCatalogue' import { findRelevantConcepts, scoreConceptRelevance } from '../src/renderer/src/hub/matchConcepts' import type { HubConceptSummary } from '../src/renderer/src/hub/hubFormat' -const HUB_DIR = resolve(__dirname, '../hub') +const HUB_DIR = resolve(__dirname, '../../../content/hub') const concepts: HubConceptSummary[] = buildIndex(readCatalogue(HUB_DIR)) describe('findRelevantConcepts', () => { diff --git a/tests/mdFolderDocument.test.ts b/apps/studio/tests/mdFolderDocument.test.ts similarity index 100% rename from tests/mdFolderDocument.test.ts rename to apps/studio/tests/mdFolderDocument.test.ts diff --git a/tests/mdFolderPersistence.test.ts b/apps/studio/tests/mdFolderPersistence.test.ts similarity index 100% rename from tests/mdFolderPersistence.test.ts rename to apps/studio/tests/mdFolderPersistence.test.ts diff --git a/tests/milestones.test.ts b/apps/studio/tests/milestones.test.ts similarity index 100% rename from tests/milestones.test.ts rename to apps/studio/tests/milestones.test.ts diff --git a/tests/mockupWireframe.test.ts b/apps/studio/tests/mockupWireframe.test.ts similarity index 100% rename from tests/mockupWireframe.test.ts rename to apps/studio/tests/mockupWireframe.test.ts diff --git a/tests/model.test.ts b/apps/studio/tests/model.test.ts similarity index 100% rename from tests/model.test.ts rename to apps/studio/tests/model.test.ts diff --git a/tests/openFile.test.ts b/apps/studio/tests/openFile.test.ts similarity index 100% rename from tests/openFile.test.ts rename to apps/studio/tests/openFile.test.ts diff --git a/tests/presentation.test.ts b/apps/studio/tests/presentation.test.ts similarity index 100% rename from tests/presentation.test.ts rename to apps/studio/tests/presentation.test.ts diff --git a/tests/presenterMode.test.ts b/apps/studio/tests/presenterMode.test.ts similarity index 100% rename from tests/presenterMode.test.ts rename to apps/studio/tests/presenterMode.test.ts diff --git a/tests/radicalLayout.test.ts b/apps/studio/tests/radicalLayout.test.ts similarity index 100% rename from tests/radicalLayout.test.ts rename to apps/studio/tests/radicalLayout.test.ts diff --git a/tests/route.test.ts b/apps/studio/tests/route.test.ts similarity index 100% rename from tests/route.test.ts rename to apps/studio/tests/route.test.ts diff --git a/tests/saThroughput.bench.mjs b/apps/studio/tests/saThroughput.bench.mjs similarity index 100% rename from tests/saThroughput.bench.mjs rename to apps/studio/tests/saThroughput.bench.mjs diff --git a/tests/saveAsFile.test.ts b/apps/studio/tests/saveAsFile.test.ts similarity index 100% rename from tests/saveAsFile.test.ts rename to apps/studio/tests/saveAsFile.test.ts diff --git a/tests/sequences.test.ts b/apps/studio/tests/sequences.test.ts similarity index 100% rename from tests/sequences.test.ts rename to apps/studio/tests/sequences.test.ts diff --git a/tests/setup.ts b/apps/studio/tests/setup.ts similarity index 100% rename from tests/setup.ts rename to apps/studio/tests/setup.ts diff --git a/tests/smartLayout.test.ts b/apps/studio/tests/smartLayout.test.ts similarity index 100% rename from tests/smartLayout.test.ts rename to apps/studio/tests/smartLayout.test.ts diff --git a/tests/smartLayoutScoring.test.mjs b/apps/studio/tests/smartLayoutScoring.test.mjs similarity index 100% rename from tests/smartLayoutScoring.test.mjs rename to apps/studio/tests/smartLayoutScoring.test.mjs diff --git a/tests/snapshotMemorySharing.test.ts b/apps/studio/tests/snapshotMemorySharing.test.ts similarity index 100% rename from tests/snapshotMemorySharing.test.ts rename to apps/studio/tests/snapshotMemorySharing.test.ts diff --git a/tests/undo.test.ts b/apps/studio/tests/undo.test.ts similarity index 100% rename from tests/undo.test.ts rename to apps/studio/tests/undo.test.ts diff --git a/tests/useOutsideClick.test.ts b/apps/studio/tests/useOutsideClick.test.ts similarity index 100% rename from tests/useOutsideClick.test.ts rename to apps/studio/tests/useOutsideClick.test.ts diff --git a/tests/viewCollapse.test.ts b/apps/studio/tests/viewCollapse.test.ts similarity index 100% rename from tests/viewCollapse.test.ts rename to apps/studio/tests/viewCollapse.test.ts diff --git a/tests/viewerSandbox.test.ts b/apps/studio/tests/viewerSandbox.test.ts similarity index 100% rename from tests/viewerSandbox.test.ts rename to apps/studio/tests/viewerSandbox.test.ts diff --git a/tests/views.test.ts b/apps/studio/tests/views.test.ts similarity index 100% rename from tests/views.test.ts rename to apps/studio/tests/views.test.ts diff --git a/tests/visual/layoutHarness.mjs b/apps/studio/tests/visual/layoutHarness.mjs similarity index 100% rename from tests/visual/layoutHarness.mjs rename to apps/studio/tests/visual/layoutHarness.mjs diff --git a/tests/webFolder.test.ts b/apps/studio/tests/webFolder.test.ts similarity index 100% rename from tests/webFolder.test.ts rename to apps/studio/tests/webFolder.test.ts diff --git a/tools/generate-sample.js b/apps/studio/tools/generate-sample.js similarity index 100% rename from tools/generate-sample.js rename to apps/studio/tools/generate-sample.js diff --git a/tools/hubCatalogue.ts b/apps/studio/tools/hubCatalogue.ts similarity index 96% rename from tools/hubCatalogue.ts rename to apps/studio/tools/hubCatalogue.ts index f6bba5ba..d2425caa 100644 --- a/tools/hubCatalogue.ts +++ b/apps/studio/tools/hubCatalogue.ts @@ -1,9 +1,9 @@ // ─── Hub catalogue build plugin ────────────────────────────────────────────── // // The catalogue is a folder of Radical Studio documents (top-level -// hub//.radical, see hubFormat.ts) — content curated by -// contributors, kept at the repo root alongside website/ and docs/ rather -// than inside src/renderer, since it isn't app source. This plugin serves +// content/hub//.radical, see hubFormat.ts) — content curated +// by contributors, kept in the monorepo's content/ folder rather than inside +// apps/studio, since it isn't app source. This plugin serves // and bundles it under the same /hub/ URL prefix the app already expects: // // hub//.radical — the concept documents themselves diff --git a/tools/sample-product.js b/apps/studio/tools/sample-product.js similarity index 100% rename from tools/sample-product.js rename to apps/studio/tools/sample-product.js diff --git a/tsconfig.json b/apps/studio/tsconfig.json similarity index 100% rename from tsconfig.json rename to apps/studio/tsconfig.json diff --git a/tsconfig.node.json b/apps/studio/tsconfig.node.json similarity index 100% rename from tsconfig.node.json rename to apps/studio/tsconfig.node.json diff --git a/tsconfig.web.json b/apps/studio/tsconfig.web.json similarity index 100% rename from tsconfig.web.json rename to apps/studio/tsconfig.web.json diff --git a/vite.web.config.ts b/apps/studio/vite.web.config.ts similarity index 97% rename from vite.web.config.ts rename to apps/studio/vite.web.config.ts index 465071f1..e202a8ed 100644 --- a/vite.web.config.ts +++ b/apps/studio/vite.web.config.ts @@ -22,7 +22,7 @@ import { hubCataloguePlugin } from './tools/hubCatalogue' const root = resolve(__dirname, 'src/renderer') export default defineConfig({ - plugins: [react(), hubCataloguePlugin({ hubDir: resolve(__dirname, 'hub') })], + plugins: [react(), hubCataloguePlugin({ hubDir: resolve(__dirname, '../../content/hub') })], root, base: './', build: { diff --git a/vitest.config.ts b/apps/studio/vitest.config.ts similarity index 100% rename from vitest.config.ts rename to apps/studio/vitest.config.ts diff --git a/tools/vscode-radical/.vscodeignore b/apps/vscode/.vscodeignore similarity index 100% rename from tools/vscode-radical/.vscodeignore rename to apps/vscode/.vscodeignore diff --git a/tools/vscode-radical/CHANGELOG.md b/apps/vscode/CHANGELOG.md similarity index 100% rename from tools/vscode-radical/CHANGELOG.md rename to apps/vscode/CHANGELOG.md diff --git a/tools/vscode-radical/README.md b/apps/vscode/README.md similarity index 100% rename from tools/vscode-radical/README.md rename to apps/vscode/README.md diff --git a/tools/vscode-radical/example/demo.c4.json b/apps/vscode/example/demo.c4.json similarity index 100% rename from tools/vscode-radical/example/demo.c4.json rename to apps/vscode/example/demo.c4.json diff --git a/tools/vscode-radical/example/demo.radical b/apps/vscode/example/demo.radical similarity index 100% rename from tools/vscode-radical/example/demo.radical rename to apps/vscode/example/demo.radical diff --git a/tools/vscode-radical/images/icon.png b/apps/vscode/images/icon.png similarity index 100% rename from tools/vscode-radical/images/icon.png rename to apps/vscode/images/icon.png diff --git a/tools/vscode-radical/language-configuration.json b/apps/vscode/language-configuration.json similarity index 100% rename from tools/vscode-radical/language-configuration.json rename to apps/vscode/language-configuration.json diff --git a/tools/vscode-radical/package.json b/apps/vscode/package.json similarity index 98% rename from tools/vscode-radical/package.json rename to apps/vscode/package.json index 55cec708..ae4666f9 100644 --- a/tools/vscode-radical/package.json +++ b/apps/vscode/package.json @@ -110,7 +110,7 @@ "scripts": { "compile": "esbuild src/extension.ts --bundle --outfile=dist/extension.js --external:vscode --platform=node --format=cjs --sourcemap", "watch": "esbuild src/extension.ts --bundle --outfile=dist/extension.js --external:vscode --platform=node --format=cjs --sourcemap --watch", - "bundle-webview": "node -e \"const fs=require('fs');fs.cpSync('../../out/renderer','webview',{recursive:true,force:true})\"", + "bundle-webview": "node -e \"const fs=require('fs');fs.cpSync('../studio/out/renderer','webview',{recursive:true,force:true})\"", "vscode:prepublish": "npm run compile", "package": "npm run compile && npx @vscode/vsce package --no-dependencies --allow-missing-repository", "publish": "npm run compile && npx @vscode/vsce publish --no-dependencies" diff --git a/tools/vscode-radical/schemas/c4.schema.json b/apps/vscode/schemas/c4.schema.json similarity index 100% rename from tools/vscode-radical/schemas/c4.schema.json rename to apps/vscode/schemas/c4.schema.json diff --git a/tools/vscode-radical/src/extension.ts b/apps/vscode/src/extension.ts similarity index 97% rename from tools/vscode-radical/src/extension.ts rename to apps/vscode/src/extension.ts index 187758cc..bcfe681f 100644 --- a/tools/vscode-radical/src/extension.ts +++ b/apps/vscode/src/extension.ts @@ -168,7 +168,10 @@ function getOutDir(projectRoot: string): string { const bundled = path.join(extensionPath, 'webview') if (fs.existsSync(path.join(bundled, 'index.html'))) return bundled } - // Fall back to local source build (developer install) + // Fall back to local source build (developer install): the monorepo keeps + // the Studio build in apps/studio/out, older checkouts at the root + const monorepoOut = path.join(projectRoot, 'apps', 'studio', 'out', 'renderer') + if (fs.existsSync(path.join(projectRoot, 'apps', 'studio'))) return monorepoOut return path.join(projectRoot, 'out', 'renderer') } diff --git a/tools/vscode-radical/tsconfig.json b/apps/vscode/tsconfig.json similarity index 100% rename from tools/vscode-radical/tsconfig.json rename to apps/vscode/tsconfig.json diff --git a/website/index.html b/apps/web/index.html similarity index 100% rename from website/index.html rename to apps/web/index.html diff --git a/website/landing.css b/apps/web/landing.css similarity index 100% rename from website/landing.css rename to apps/web/landing.css diff --git a/website/manual.html b/apps/web/manual.html similarity index 100% rename from website/manual.html rename to apps/web/manual.html diff --git a/apps/web/package.json b/apps/web/package.json new file mode 100644 index 00000000..9054127e --- /dev/null +++ b/apps/web/package.json @@ -0,0 +1,5 @@ +{ + "name": "@radical/web", + "private": true, + "description": "Marketing site and manual (radical.tools). Static files, deployed as-is." +} diff --git a/website/screenshots/ai-settings-dark.png b/apps/web/screenshots/ai-settings-dark.png similarity index 100% rename from website/screenshots/ai-settings-dark.png rename to apps/web/screenshots/ai-settings-dark.png diff --git a/website/screenshots/ai-settings-light.png b/apps/web/screenshots/ai-settings-light.png similarity index 100% rename from website/screenshots/ai-settings-light.png rename to apps/web/screenshots/ai-settings-light.png diff --git a/website/screenshots/demo.gif b/apps/web/screenshots/demo.gif similarity index 100% rename from website/screenshots/demo.gif rename to apps/web/screenshots/demo.gif diff --git a/website/screenshots/designer-dark.png b/apps/web/screenshots/designer-dark.png similarity index 100% rename from website/screenshots/designer-dark.png rename to apps/web/screenshots/designer-dark.png diff --git a/website/screenshots/designer-light.png b/apps/web/screenshots/designer-light.png similarity index 100% rename from website/screenshots/designer-light.png rename to apps/web/screenshots/designer-light.png diff --git a/website/screenshots/documents-dark.png b/apps/web/screenshots/documents-dark.png similarity index 100% rename from website/screenshots/documents-dark.png rename to apps/web/screenshots/documents-dark.png diff --git a/website/screenshots/documents-light.png b/apps/web/screenshots/documents-light.png similarity index 100% rename from website/screenshots/documents-light.png rename to apps/web/screenshots/documents-light.png diff --git a/website/screenshots/flow-dark.png b/apps/web/screenshots/flow-dark.png similarity index 100% rename from website/screenshots/flow-dark.png rename to apps/web/screenshots/flow-dark.png diff --git a/website/screenshots/flow-light.png b/apps/web/screenshots/flow-light.png similarity index 100% rename from website/screenshots/flow-light.png rename to apps/web/screenshots/flow-light.png diff --git a/website/screenshots/hierarchy-dark.png b/apps/web/screenshots/hierarchy-dark.png similarity index 100% rename from website/screenshots/hierarchy-dark.png rename to apps/web/screenshots/hierarchy-dark.png diff --git a/website/screenshots/hierarchy-light.png b/apps/web/screenshots/hierarchy-light.png similarity index 100% rename from website/screenshots/hierarchy-light.png rename to apps/web/screenshots/hierarchy-light.png diff --git a/website/screenshots/hub-catalogue-dark.png b/apps/web/screenshots/hub-catalogue-dark.png similarity index 100% rename from website/screenshots/hub-catalogue-dark.png rename to apps/web/screenshots/hub-catalogue-dark.png diff --git a/website/screenshots/hub-catalogue-light.png b/apps/web/screenshots/hub-catalogue-light.png similarity index 100% rename from website/screenshots/hub-catalogue-light.png rename to apps/web/screenshots/hub-catalogue-light.png diff --git a/website/screenshots/hub-import-dark.png b/apps/web/screenshots/hub-import-dark.png similarity index 100% rename from website/screenshots/hub-import-dark.png rename to apps/web/screenshots/hub-import-dark.png diff --git a/website/screenshots/hub-import-light.png b/apps/web/screenshots/hub-import-light.png similarity index 100% rename from website/screenshots/hub-import-light.png rename to apps/web/screenshots/hub-import-light.png diff --git a/website/screenshots/hub-landing-dark.png b/apps/web/screenshots/hub-landing-dark.png similarity index 100% rename from website/screenshots/hub-landing-dark.png rename to apps/web/screenshots/hub-landing-dark.png diff --git a/website/screenshots/hub-landing-light.png b/apps/web/screenshots/hub-landing-light.png similarity index 100% rename from website/screenshots/hub-landing-light.png rename to apps/web/screenshots/hub-landing-light.png diff --git a/website/screenshots/matrix-dark.png b/apps/web/screenshots/matrix-dark.png similarity index 100% rename from website/screenshots/matrix-dark.png rename to apps/web/screenshots/matrix-dark.png diff --git a/website/screenshots/matrix-light.png b/apps/web/screenshots/matrix-light.png similarity index 100% rename from website/screenshots/matrix-light.png rename to apps/web/screenshots/matrix-light.png diff --git a/website/screenshots/metamodel-dark.png b/apps/web/screenshots/metamodel-dark.png similarity index 100% rename from website/screenshots/metamodel-dark.png rename to apps/web/screenshots/metamodel-dark.png diff --git a/website/screenshots/metamodel-light.png b/apps/web/screenshots/metamodel-light.png similarity index 100% rename from website/screenshots/metamodel-light.png rename to apps/web/screenshots/metamodel-light.png diff --git a/website/screenshots/milestones-dark.png b/apps/web/screenshots/milestones-dark.png similarity index 100% rename from website/screenshots/milestones-dark.png rename to apps/web/screenshots/milestones-dark.png diff --git a/website/screenshots/milestones-light.png b/apps/web/screenshots/milestones-light.png similarity index 100% rename from website/screenshots/milestones-light.png rename to apps/web/screenshots/milestones-light.png diff --git a/website/screenshots/mockups-dark.png b/apps/web/screenshots/mockups-dark.png similarity index 100% rename from website/screenshots/mockups-dark.png rename to apps/web/screenshots/mockups-dark.png diff --git a/website/screenshots/mockups-light.png b/apps/web/screenshots/mockups-light.png similarity index 100% rename from website/screenshots/mockups-light.png rename to apps/web/screenshots/mockups-light.png diff --git a/website/screenshots/presenter-dark.png b/apps/web/screenshots/presenter-dark.png similarity index 100% rename from website/screenshots/presenter-dark.png rename to apps/web/screenshots/presenter-dark.png diff --git a/website/screenshots/presenter-light.png b/apps/web/screenshots/presenter-light.png similarity index 100% rename from website/screenshots/presenter-light.png rename to apps/web/screenshots/presenter-light.png diff --git a/website/screenshots/properties-dark.png b/apps/web/screenshots/properties-dark.png similarity index 100% rename from website/screenshots/properties-dark.png rename to apps/web/screenshots/properties-dark.png diff --git a/website/screenshots/properties-light.png b/apps/web/screenshots/properties-light.png similarity index 100% rename from website/screenshots/properties-light.png rename to apps/web/screenshots/properties-light.png diff --git a/website/screenshots/search-dark.png b/apps/web/screenshots/search-dark.png similarity index 100% rename from website/screenshots/search-dark.png rename to apps/web/screenshots/search-dark.png diff --git a/website/screenshots/search-light.png b/apps/web/screenshots/search-light.png similarity index 100% rename from website/screenshots/search-light.png rename to apps/web/screenshots/search-light.png diff --git a/website/screenshots/table-dark.png b/apps/web/screenshots/table-dark.png similarity index 100% rename from website/screenshots/table-dark.png rename to apps/web/screenshots/table-dark.png diff --git a/website/screenshots/table-light.png b/apps/web/screenshots/table-light.png similarity index 100% rename from website/screenshots/table-light.png rename to apps/web/screenshots/table-light.png diff --git a/website/screenshots/viewer-dark.png b/apps/web/screenshots/viewer-dark.png similarity index 100% rename from website/screenshots/viewer-dark.png rename to apps/web/screenshots/viewer-dark.png diff --git a/website/screenshots/viewer-light.png b/apps/web/screenshots/viewer-light.png similarity index 100% rename from website/screenshots/viewer-light.png rename to apps/web/screenshots/viewer-light.png diff --git a/website/screenshots/views-dark.png b/apps/web/screenshots/views-dark.png similarity index 100% rename from website/screenshots/views-dark.png rename to apps/web/screenshots/views-dark.png diff --git a/website/screenshots/views-light.png b/apps/web/screenshots/views-light.png similarity index 100% rename from website/screenshots/views-light.png rename to apps/web/screenshots/views-light.png diff --git a/website/screenshots/welcome-dark.png b/apps/web/screenshots/welcome-dark.png similarity index 100% rename from website/screenshots/welcome-dark.png rename to apps/web/screenshots/welcome-dark.png diff --git a/website/screenshots/welcome-light.png b/apps/web/screenshots/welcome-light.png similarity index 100% rename from website/screenshots/welcome-light.png rename to apps/web/screenshots/welcome-light.png diff --git a/website/screenshots/wiki-dark.png b/apps/web/screenshots/wiki-dark.png similarity index 100% rename from website/screenshots/wiki-dark.png rename to apps/web/screenshots/wiki-dark.png diff --git a/website/screenshots/wiki-light.png b/apps/web/screenshots/wiki-light.png similarity index 100% rename from website/screenshots/wiki-light.png rename to apps/web/screenshots/wiki-light.png diff --git a/website/social-preview.png b/apps/web/social-preview.png similarity index 100% rename from website/social-preview.png rename to apps/web/social-preview.png diff --git a/website/style.css b/apps/web/style.css similarity index 100% rename from website/style.css rename to apps/web/style.css diff --git a/website/theme.js b/apps/web/theme.js similarity index 100% rename from website/theme.js rename to apps/web/theme.js diff --git a/hub/adr/adr-api-versioning.radical b/content/hub/adr/adr-api-versioning.radical similarity index 100% rename from hub/adr/adr-api-versioning.radical rename to content/hub/adr/adr-api-versioning.radical diff --git a/hub/adr/adr-auth-strategy.radical b/content/hub/adr/adr-auth-strategy.radical similarity index 100% rename from hub/adr/adr-auth-strategy.radical rename to content/hub/adr/adr-auth-strategy.radical diff --git a/hub/adr/adr-caching-strategy.radical b/content/hub/adr/adr-caching-strategy.radical similarity index 100% rename from hub/adr/adr-caching-strategy.radical rename to content/hub/adr/adr-caching-strategy.radical diff --git a/hub/adr/adr-data-consistency-model.radical b/content/hub/adr/adr-data-consistency-model.radical similarity index 100% rename from hub/adr/adr-data-consistency-model.radical rename to content/hub/adr/adr-data-consistency-model.radical diff --git a/hub/adr/adr-data-store.radical b/content/hub/adr/adr-data-store.radical similarity index 100% rename from hub/adr/adr-data-store.radical rename to content/hub/adr/adr-data-store.radical diff --git a/hub/adr/adr-deployment-strategy.radical b/content/hub/adr/adr-deployment-strategy.radical similarity index 100% rename from hub/adr/adr-deployment-strategy.radical rename to content/hub/adr/adr-deployment-strategy.radical diff --git a/hub/adr/adr-event-schema-evolution.radical b/content/hub/adr/adr-event-schema-evolution.radical similarity index 100% rename from hub/adr/adr-event-schema-evolution.radical rename to content/hub/adr/adr-event-schema-evolution.radical diff --git a/hub/adr/adr-integration-style.radical b/content/hub/adr/adr-integration-style.radical similarity index 100% rename from hub/adr/adr-integration-style.radical rename to content/hub/adr/adr-integration-style.radical diff --git a/hub/adr/adr-ledger-reconciliation-strategy.radical b/content/hub/adr/adr-ledger-reconciliation-strategy.radical similarity index 100% rename from hub/adr/adr-ledger-reconciliation-strategy.radical rename to content/hub/adr/adr-ledger-reconciliation-strategy.radical diff --git a/hub/adr/adr-llm-provider-strategy.radical b/content/hub/adr/adr-llm-provider-strategy.radical similarity index 100% rename from hub/adr/adr-llm-provider-strategy.radical rename to content/hub/adr/adr-llm-provider-strategy.radical diff --git a/hub/adr/adr-marketplace-payments-model.radical b/content/hub/adr/adr-marketplace-payments-model.radical similarity index 100% rename from hub/adr/adr-marketplace-payments-model.radical rename to content/hub/adr/adr-marketplace-payments-model.radical diff --git a/hub/adr/adr-multi-region.radical b/content/hub/adr/adr-multi-region.radical similarity index 100% rename from hub/adr/adr-multi-region.radical rename to content/hub/adr/adr-multi-region.radical diff --git a/hub/adr/adr-multi-tenancy-strategy.radical b/content/hub/adr/adr-multi-tenancy-strategy.radical similarity index 100% rename from hub/adr/adr-multi-tenancy-strategy.radical rename to content/hub/adr/adr-multi-tenancy-strategy.radical diff --git a/hub/adr/adr-observability.radical b/content/hub/adr/adr-observability.radical similarity index 100% rename from hub/adr/adr-observability.radical rename to content/hub/adr/adr-observability.radical diff --git a/hub/adr/adr-realtime-transport.radical b/content/hub/adr/adr-realtime-transport.radical similarity index 100% rename from hub/adr/adr-realtime-transport.radical rename to content/hub/adr/adr-realtime-transport.radical diff --git a/hub/adr/adr-tech-stack.radical b/content/hub/adr/adr-tech-stack.radical similarity index 100% rename from hub/adr/adr-tech-stack.radical rename to content/hub/adr/adr-tech-stack.radical diff --git a/hub/adr/adr-zero-trust-network.radical b/content/hub/adr/adr-zero-trust-network.radical similarity index 100% rename from hub/adr/adr-zero-trust-network.radical rename to content/hub/adr/adr-zero-trust-network.radical diff --git a/hub/blueprint/bp-ai-assistant-platform.radical b/content/hub/blueprint/bp-ai-assistant-platform.radical similarity index 100% rename from hub/blueprint/bp-ai-assistant-platform.radical rename to content/hub/blueprint/bp-ai-assistant-platform.radical diff --git a/hub/blueprint/bp-analytical-data-platform.radical b/content/hub/blueprint/bp-analytical-data-platform.radical similarity index 100% rename from hub/blueprint/bp-analytical-data-platform.radical rename to content/hub/blueprint/bp-analytical-data-platform.radical diff --git a/hub/blueprint/bp-ecommerce-platform.radical b/content/hub/blueprint/bp-ecommerce-platform.radical similarity index 100% rename from hub/blueprint/bp-ecommerce-platform.radical rename to content/hub/blueprint/bp-ecommerce-platform.radical diff --git a/hub/blueprint/bp-fintech-ledger-platform.radical b/content/hub/blueprint/bp-fintech-ledger-platform.radical similarity index 100% rename from hub/blueprint/bp-fintech-ledger-platform.radical rename to content/hub/blueprint/bp-fintech-ledger-platform.radical diff --git a/hub/blueprint/bp-marketplace-platform.radical b/content/hub/blueprint/bp-marketplace-platform.radical similarity index 100% rename from hub/blueprint/bp-marketplace-platform.radical rename to content/hub/blueprint/bp-marketplace-platform.radical diff --git a/hub/blueprint/bp-realtime-collaboration.radical b/content/hub/blueprint/bp-realtime-collaboration.radical similarity index 100% rename from hub/blueprint/bp-realtime-collaboration.radical rename to content/hub/blueprint/bp-realtime-collaboration.radical diff --git a/hub/blueprint/bp-saas-b2b-platform.radical b/content/hub/blueprint/bp-saas-b2b-platform.radical similarity index 100% rename from hub/blueprint/bp-saas-b2b-platform.radical rename to content/hub/blueprint/bp-saas-b2b-platform.radical diff --git a/hub/fitness-function/ff-accessibility-scan.radical b/content/hub/fitness-function/ff-accessibility-scan.radical similarity index 100% rename from hub/fitness-function/ff-accessibility-scan.radical rename to content/hub/fitness-function/ff-accessibility-scan.radical diff --git a/hub/fitness-function/ff-ai-eval-gate.radical b/content/hub/fitness-function/ff-ai-eval-gate.radical similarity index 100% rename from hub/fitness-function/ff-ai-eval-gate.radical rename to content/hub/fitness-function/ff-ai-eval-gate.radical diff --git a/hub/fitness-function/ff-api-contract.radical b/content/hub/fitness-function/ff-api-contract.radical similarity index 100% rename from hub/fitness-function/ff-api-contract.radical rename to content/hub/fitness-function/ff-api-contract.radical diff --git a/hub/fitness-function/ff-capacity-load-test.radical b/content/hub/fitness-function/ff-capacity-load-test.radical similarity index 100% rename from hub/fitness-function/ff-capacity-load-test.radical rename to content/hub/fitness-function/ff-capacity-load-test.radical diff --git a/hub/fitness-function/ff-carbon-footprint-guard.radical b/content/hub/fitness-function/ff-carbon-footprint-guard.radical similarity index 100% rename from hub/fitness-function/ff-carbon-footprint-guard.radical rename to content/hub/fitness-function/ff-carbon-footprint-guard.radical diff --git a/hub/fitness-function/ff-change-failure-rate.radical b/content/hub/fitness-function/ff-change-failure-rate.radical similarity index 100% rename from hub/fitness-function/ff-change-failure-rate.radical rename to content/hub/fitness-function/ff-change-failure-rate.radical diff --git a/hub/fitness-function/ff-chaos-resilience-test.radical b/content/hub/fitness-function/ff-chaos-resilience-test.radical similarity index 100% rename from hub/fitness-function/ff-chaos-resilience-test.radical rename to content/hub/fitness-function/ff-chaos-resilience-test.radical diff --git a/hub/fitness-function/ff-cost-efficiency-guard.radical b/content/hub/fitness-function/ff-cost-efficiency-guard.radical similarity index 100% rename from hub/fitness-function/ff-cost-efficiency-guard.radical rename to content/hub/fitness-function/ff-cost-efficiency-guard.radical diff --git a/hub/fitness-function/ff-coupling-guard.radical b/content/hub/fitness-function/ff-coupling-guard.radical similarity index 100% rename from hub/fitness-function/ff-coupling-guard.radical rename to content/hub/fitness-function/ff-coupling-guard.radical diff --git a/hub/fitness-function/ff-data-integrity-check.radical b/content/hub/fitness-function/ff-data-integrity-check.radical similarity index 100% rename from hub/fitness-function/ff-data-integrity-check.radical rename to content/hub/fitness-function/ff-data-integrity-check.radical diff --git a/hub/fitness-function/ff-data-residency.radical b/content/hub/fitness-function/ff-data-residency.radical similarity index 100% rename from hub/fitness-function/ff-data-residency.radical rename to content/hub/fitness-function/ff-data-residency.radical diff --git a/hub/fitness-function/ff-dependency-rules.radical b/content/hub/fitness-function/ff-dependency-rules.radical similarity index 100% rename from hub/fitness-function/ff-dependency-rules.radical rename to content/hub/fitness-function/ff-dependency-rules.radical diff --git a/hub/fitness-function/ff-deploy-frequency.radical b/content/hub/fitness-function/ff-deploy-frequency.radical similarity index 100% rename from hub/fitness-function/ff-deploy-frequency.radical rename to content/hub/fitness-function/ff-deploy-frequency.radical diff --git a/hub/fitness-function/ff-dr-drill-success.radical b/content/hub/fitness-function/ff-dr-drill-success.radical similarity index 100% rename from hub/fitness-function/ff-dr-drill-success.radical rename to content/hub/fitness-function/ff-dr-drill-success.radical diff --git a/hub/fitness-function/ff-duplication-guard.radical b/content/hub/fitness-function/ff-duplication-guard.radical similarity index 100% rename from hub/fitness-function/ff-duplication-guard.radical rename to content/hub/fitness-function/ff-duplication-guard.radical diff --git a/hub/fitness-function/ff-error-budget.radical b/content/hub/fitness-function/ff-error-budget.radical similarity index 100% rename from hub/fitness-function/ff-error-budget.radical rename to content/hub/fitness-function/ff-error-budget.radical diff --git a/hub/fitness-function/ff-fail-safe-verification.radical b/content/hub/fitness-function/ff-fail-safe-verification.radical similarity index 100% rename from hub/fitness-function/ff-fail-safe-verification.radical rename to content/hub/fitness-function/ff-fail-safe-verification.radical diff --git a/hub/fitness-function/ff-infra-drift.radical b/content/hub/fitness-function/ff-infra-drift.radical similarity index 100% rename from hub/fitness-function/ff-infra-drift.radical rename to content/hub/fitness-function/ff-infra-drift.radical diff --git a/hub/fitness-function/ff-latency-slo.radical b/content/hub/fitness-function/ff-latency-slo.radical similarity index 100% rename from hub/fitness-function/ff-latency-slo.radical rename to content/hub/fitness-function/ff-latency-slo.radical diff --git a/hub/fitness-function/ff-lead-time.radical b/content/hub/fitness-function/ff-lead-time.radical similarity index 100% rename from hub/fitness-function/ff-lead-time.radical rename to content/hub/fitness-function/ff-lead-time.radical diff --git a/hub/fitness-function/ff-ledger-balance-integrity.radical b/content/hub/fitness-function/ff-ledger-balance-integrity.radical similarity index 100% rename from hub/fitness-function/ff-ledger-balance-integrity.radical rename to content/hub/fitness-function/ff-ledger-balance-integrity.radical diff --git a/hub/fitness-function/ff-license-compliance.radical b/content/hub/fitness-function/ff-license-compliance.radical similarity index 100% rename from hub/fitness-function/ff-license-compliance.radical rename to content/hub/fitness-function/ff-license-compliance.radical diff --git a/hub/fitness-function/ff-mttr.radical b/content/hub/fitness-function/ff-mttr.radical similarity index 100% rename from hub/fitness-function/ff-mttr.radical rename to content/hub/fitness-function/ff-mttr.radical diff --git a/hub/fitness-function/ff-noisy-neighbor-guard.radical b/content/hub/fitness-function/ff-noisy-neighbor-guard.radical similarity index 100% rename from hub/fitness-function/ff-noisy-neighbor-guard.radical rename to content/hub/fitness-function/ff-noisy-neighbor-guard.radical diff --git a/hub/fitness-function/ff-sast-scan.radical b/content/hub/fitness-function/ff-sast-scan.radical similarity index 100% rename from hub/fitness-function/ff-sast-scan.radical rename to content/hub/fitness-function/ff-sast-scan.radical diff --git a/hub/fitness-function/ff-scale-out-verification.radical b/content/hub/fitness-function/ff-scale-out-verification.radical similarity index 100% rename from hub/fitness-function/ff-scale-out-verification.radical rename to content/hub/fitness-function/ff-scale-out-verification.radical diff --git a/hub/fitness-function/ff-security-scan.radical b/content/hub/fitness-function/ff-security-scan.radical similarity index 100% rename from hub/fitness-function/ff-security-scan.radical rename to content/hub/fitness-function/ff-security-scan.radical diff --git a/hub/fitness-function/ff-startup-shutdown-check.radical b/content/hub/fitness-function/ff-startup-shutdown-check.radical similarity index 100% rename from hub/fitness-function/ff-startup-shutdown-check.radical rename to content/hub/fitness-function/ff-startup-shutdown-check.radical diff --git a/hub/fitness-function/ff-sync-convergence-test.radical b/content/hub/fitness-function/ff-sync-convergence-test.radical similarity index 100% rename from hub/fitness-function/ff-sync-convergence-test.radical rename to content/hub/fitness-function/ff-sync-convergence-test.radical diff --git a/hub/fitness-function/ff-test-coverage.radical b/content/hub/fitness-function/ff-test-coverage.radical similarity index 100% rename from hub/fitness-function/ff-test-coverage.radical rename to content/hub/fitness-function/ff-test-coverage.radical diff --git a/hub/fitness-function/ff-web-vitals.radical b/content/hub/fitness-function/ff-web-vitals.radical similarity index 100% rename from hub/fitness-function/ff-web-vitals.radical rename to content/hub/fitness-function/ff-web-vitals.radical diff --git a/hub/pattern/pattern-anti-corruption-layer.radical b/content/hub/pattern/pattern-anti-corruption-layer.radical similarity index 100% rename from hub/pattern/pattern-anti-corruption-layer.radical rename to content/hub/pattern/pattern-anti-corruption-layer.radical diff --git a/hub/pattern/pattern-api-gateway.radical b/content/hub/pattern/pattern-api-gateway.radical similarity index 100% rename from hub/pattern/pattern-api-gateway.radical rename to content/hub/pattern/pattern-api-gateway.radical diff --git a/hub/pattern/pattern-bff.radical b/content/hub/pattern/pattern-bff.radical similarity index 100% rename from hub/pattern/pattern-bff.radical rename to content/hub/pattern/pattern-bff.radical diff --git a/hub/pattern/pattern-bulkhead.radical b/content/hub/pattern/pattern-bulkhead.radical similarity index 100% rename from hub/pattern/pattern-bulkhead.radical rename to content/hub/pattern/pattern-bulkhead.radical diff --git a/hub/pattern/pattern-circuit-breaker.radical b/content/hub/pattern/pattern-circuit-breaker.radical similarity index 100% rename from hub/pattern/pattern-circuit-breaker.radical rename to content/hub/pattern/pattern-circuit-breaker.radical diff --git a/hub/pattern/pattern-cqrs.radical b/content/hub/pattern/pattern-cqrs.radical similarity index 100% rename from hub/pattern/pattern-cqrs.radical rename to content/hub/pattern/pattern-cqrs.radical diff --git a/hub/pattern/pattern-crdt-sync.radical b/content/hub/pattern/pattern-crdt-sync.radical similarity index 100% rename from hub/pattern/pattern-crdt-sync.radical rename to content/hub/pattern/pattern-crdt-sync.radical diff --git a/hub/pattern/pattern-event-driven.radical b/content/hub/pattern/pattern-event-driven.radical similarity index 100% rename from hub/pattern/pattern-event-driven.radical rename to content/hub/pattern/pattern-event-driven.radical diff --git a/hub/pattern/pattern-event-sourced-ledger.radical b/content/hub/pattern/pattern-event-sourced-ledger.radical similarity index 100% rename from hub/pattern/pattern-event-sourced-ledger.radical rename to content/hub/pattern/pattern-event-sourced-ledger.radical diff --git a/hub/pattern/pattern-hexagonal.radical b/content/hub/pattern/pattern-hexagonal.radical similarity index 100% rename from hub/pattern/pattern-hexagonal.radical rename to content/hub/pattern/pattern-hexagonal.radical diff --git a/hub/pattern/pattern-microservices.radical b/content/hub/pattern/pattern-microservices.radical similarity index 100% rename from hub/pattern/pattern-microservices.radical rename to content/hub/pattern/pattern-microservices.radical diff --git a/hub/pattern/pattern-rag-pipeline.radical b/content/hub/pattern/pattern-rag-pipeline.radical similarity index 100% rename from hub/pattern/pattern-rag-pipeline.radical rename to content/hub/pattern/pattern-rag-pipeline.radical diff --git a/hub/pattern/pattern-rate-limiter.radical b/content/hub/pattern/pattern-rate-limiter.radical similarity index 100% rename from hub/pattern/pattern-rate-limiter.radical rename to content/hub/pattern/pattern-rate-limiter.radical diff --git a/hub/pattern/pattern-saga.radical b/content/hub/pattern/pattern-saga.radical similarity index 100% rename from hub/pattern/pattern-saga.radical rename to content/hub/pattern/pattern-saga.radical diff --git a/hub/pattern/pattern-sidecar.radical b/content/hub/pattern/pattern-sidecar.radical similarity index 100% rename from hub/pattern/pattern-sidecar.radical rename to content/hub/pattern/pattern-sidecar.radical diff --git a/hub/pattern/pattern-strangler-fig.radical b/content/hub/pattern/pattern-strangler-fig.radical similarity index 100% rename from hub/pattern/pattern-strangler-fig.radical rename to content/hub/pattern/pattern-strangler-fig.radical diff --git a/hub/pattern/pattern-transactional-outbox.radical b/content/hub/pattern/pattern-transactional-outbox.radical similarity index 100% rename from hub/pattern/pattern-transactional-outbox.radical rename to content/hub/pattern/pattern-transactional-outbox.radical diff --git a/hub/requirement/req-accessibility.radical b/content/hub/requirement/req-accessibility.radical similarity index 100% rename from hub/requirement/req-accessibility.radical rename to content/hub/requirement/req-accessibility.radical diff --git a/hub/requirement/req-ai-autonomous-resolution.radical b/content/hub/requirement/req-ai-autonomous-resolution.radical similarity index 100% rename from hub/requirement/req-ai-autonomous-resolution.radical rename to content/hub/requirement/req-ai-autonomous-resolution.radical diff --git a/hub/requirement/req-ai-groundedness.radical b/content/hub/requirement/req-ai-groundedness.radical similarity index 100% rename from hub/requirement/req-ai-groundedness.radical rename to content/hub/requirement/req-ai-groundedness.radical diff --git a/hub/requirement/req-ai-human-handoff.radical b/content/hub/requirement/req-ai-human-handoff.radical similarity index 100% rename from hub/requirement/req-ai-human-handoff.radical rename to content/hub/requirement/req-ai-human-handoff.radical diff --git a/hub/requirement/req-alerting.radical b/content/hub/requirement/req-alerting.radical similarity index 100% rename from hub/requirement/req-alerting.radical rename to content/hub/requirement/req-alerting.radical diff --git a/hub/requirement/req-api-response-time.radical b/content/hub/requirement/req-api-response-time.radical similarity index 100% rename from hub/requirement/req-api-response-time.radical rename to content/hub/requirement/req-api-response-time.radical diff --git a/hub/requirement/req-api-standard.radical b/content/hub/requirement/req-api-standard.radical similarity index 100% rename from hub/requirement/req-api-standard.radical rename to content/hub/requirement/req-api-standard.radical diff --git a/hub/requirement/req-audit-logging.radical b/content/hub/requirement/req-audit-logging.radical similarity index 100% rename from hub/requirement/req-audit-logging.radical rename to content/hub/requirement/req-audit-logging.radical diff --git a/hub/requirement/req-auth-response-time.radical b/content/hub/requirement/req-auth-response-time.radical similarity index 100% rename from hub/requirement/req-auth-response-time.radical rename to content/hub/requirement/req-auth-response-time.radical diff --git a/hub/requirement/req-auth.radical b/content/hub/requirement/req-auth.radical similarity index 100% rename from hub/requirement/req-auth.radical rename to content/hub/requirement/req-auth.radical diff --git a/hub/requirement/req-autoscaling.radical b/content/hub/requirement/req-autoscaling.radical similarity index 100% rename from hub/requirement/req-autoscaling.radical rename to content/hub/requirement/req-autoscaling.radical diff --git a/hub/requirement/req-availability.radical b/content/hub/requirement/req-availability.radical similarity index 100% rename from hub/requirement/req-availability.radical rename to content/hub/requirement/req-availability.radical diff --git a/hub/requirement/req-backward-compatibility.radical b/content/hub/requirement/req-backward-compatibility.radical similarity index 100% rename from hub/requirement/req-backward-compatibility.radical rename to content/hub/requirement/req-backward-compatibility.radical diff --git a/hub/requirement/req-batch-job-completion.radical b/content/hub/requirement/req-batch-job-completion.radical similarity index 100% rename from hub/requirement/req-batch-job-completion.radical rename to content/hub/requirement/req-batch-job-completion.radical diff --git a/hub/requirement/req-carbon-efficiency.radical b/content/hub/requirement/req-carbon-efficiency.radical similarity index 100% rename from hub/requirement/req-carbon-efficiency.radical rename to content/hub/requirement/req-carbon-efficiency.radical diff --git a/hub/requirement/req-centralised-logging.radical b/content/hub/requirement/req-centralised-logging.radical similarity index 100% rename from hub/requirement/req-centralised-logging.radical rename to content/hub/requirement/req-centralised-logging.radical diff --git a/hub/requirement/req-ci-pipeline-time.radical b/content/hub/requirement/req-ci-pipeline-time.radical similarity index 100% rename from hub/requirement/req-ci-pipeline-time.radical rename to content/hub/requirement/req-ci-pipeline-time.radical diff --git a/hub/requirement/req-code-complexity.radical b/content/hub/requirement/req-code-complexity.radical similarity index 100% rename from hub/requirement/req-code-complexity.radical rename to content/hub/requirement/req-code-complexity.radical diff --git a/hub/requirement/req-config-propagation.radical b/content/hub/requirement/req-config-propagation.radical similarity index 100% rename from hub/requirement/req-config-propagation.radical rename to content/hub/requirement/req-config-propagation.radical diff --git a/hub/requirement/req-data-integrity.radical b/content/hub/requirement/req-data-integrity.radical similarity index 100% rename from hub/requirement/req-data-integrity.radical rename to content/hub/requirement/req-data-integrity.radical diff --git a/hub/requirement/req-data-retention.radical b/content/hub/requirement/req-data-retention.radical similarity index 100% rename from hub/requirement/req-data-retention.radical rename to content/hub/requirement/req-data-retention.radical diff --git a/hub/requirement/req-db-query-response.radical b/content/hub/requirement/req-db-query-response.radical similarity index 100% rename from hub/requirement/req-db-query-response.radical rename to content/hub/requirement/req-db-query-response.radical diff --git a/hub/requirement/req-disaster-recovery.radical b/content/hub/requirement/req-disaster-recovery.radical similarity index 100% rename from hub/requirement/req-disaster-recovery.radical rename to content/hub/requirement/req-disaster-recovery.radical diff --git a/hub/requirement/req-distributed-tracing.radical b/content/hub/requirement/req-distributed-tracing.radical similarity index 100% rename from hub/requirement/req-distributed-tracing.radical rename to content/hub/requirement/req-distributed-tracing.radical diff --git a/hub/requirement/req-encryption.radical b/content/hub/requirement/req-encryption.radical similarity index 100% rename from hub/requirement/req-encryption.radical rename to content/hub/requirement/req-encryption.radical diff --git a/hub/requirement/req-error-rate.radical b/content/hub/requirement/req-error-rate.radical similarity index 100% rename from hub/requirement/req-error-rate.radical rename to content/hub/requirement/req-error-rate.radical diff --git a/hub/requirement/req-error-recovery.radical b/content/hub/requirement/req-error-recovery.radical similarity index 100% rename from hub/requirement/req-error-recovery.radical rename to content/hub/requirement/req-error-recovery.radical diff --git a/hub/requirement/req-event-schema-compatibility.radical b/content/hub/requirement/req-event-schema-compatibility.radical similarity index 100% rename from hub/requirement/req-event-schema-compatibility.radical rename to content/hub/requirement/req-event-schema-compatibility.radical diff --git a/hub/requirement/req-fail-safe-default.radical b/content/hub/requirement/req-fail-safe-default.radical similarity index 100% rename from hub/requirement/req-fail-safe-default.radical rename to content/hub/requirement/req-fail-safe-default.radical diff --git a/hub/requirement/req-fast-startup-graceful-shutdown.radical b/content/hub/requirement/req-fast-startup-graceful-shutdown.radical similarity index 100% rename from hub/requirement/req-fast-startup-graceful-shutdown.radical rename to content/hub/requirement/req-fast-startup-graceful-shutdown.radical diff --git a/hub/requirement/req-gdpr-erasure.radical b/content/hub/requirement/req-gdpr-erasure.radical similarity index 100% rename from hub/requirement/req-gdpr-erasure.radical rename to content/hub/requirement/req-gdpr-erasure.radical diff --git a/hub/requirement/req-graceful-degradation.radical b/content/hub/requirement/req-graceful-degradation.radical similarity index 100% rename from hub/requirement/req-graceful-degradation.radical rename to content/hub/requirement/req-graceful-degradation.radical diff --git a/hub/requirement/req-health-checks.radical b/content/hub/requirement/req-health-checks.radical similarity index 100% rename from hub/requirement/req-health-checks.radical rename to content/hub/requirement/req-health-checks.radical diff --git a/hub/requirement/req-iac.radical b/content/hub/requirement/req-iac.radical similarity index 100% rename from hub/requirement/req-iac.radical rename to content/hub/requirement/req-iac.radical diff --git a/hub/requirement/req-idempotency.radical b/content/hub/requirement/req-idempotency.radical similarity index 100% rename from hub/requirement/req-idempotency.radical rename to content/hub/requirement/req-idempotency.radical diff --git a/hub/requirement/req-input-validation.radical b/content/hub/requirement/req-input-validation.radical similarity index 100% rename from hub/requirement/req-input-validation.radical rename to content/hub/requirement/req-input-validation.radical diff --git a/hub/requirement/req-least-privilege.radical b/content/hub/requirement/req-least-privilege.radical similarity index 100% rename from hub/requirement/req-least-privilege.radical rename to content/hub/requirement/req-least-privilege.radical diff --git a/hub/requirement/req-ledger-immutability.radical b/content/hub/requirement/req-ledger-immutability.radical similarity index 100% rename from hub/requirement/req-ledger-immutability.radical rename to content/hub/requirement/req-ledger-immutability.radical diff --git a/hub/requirement/req-mfa.radical b/content/hub/requirement/req-mfa.radical similarity index 100% rename from hub/requirement/req-mfa.radical rename to content/hub/requirement/req-mfa.radical diff --git a/hub/requirement/req-ml-extraction-accuracy.radical b/content/hub/requirement/req-ml-extraction-accuracy.radical similarity index 100% rename from hub/requirement/req-ml-extraction-accuracy.radical rename to content/hub/requirement/req-ml-extraction-accuracy.radical diff --git a/hub/requirement/req-onboarding-time.radical b/content/hub/requirement/req-onboarding-time.radical similarity index 100% rename from hub/requirement/req-onboarding-time.radical rename to content/hub/requirement/req-onboarding-time.radical diff --git a/hub/requirement/req-page-load-time.radical b/content/hub/requirement/req-page-load-time.radical similarity index 100% rename from hub/requirement/req-page-load-time.radical rename to content/hub/requirement/req-page-load-time.radical diff --git a/hub/requirement/req-payout-latency.radical b/content/hub/requirement/req-payout-latency.radical similarity index 100% rename from hub/requirement/req-payout-latency.radical rename to content/hub/requirement/req-payout-latency.radical diff --git a/hub/requirement/req-presence-latency.radical b/content/hub/requirement/req-presence-latency.radical similarity index 100% rename from hub/requirement/req-presence-latency.radical rename to content/hub/requirement/req-presence-latency.radical diff --git a/hub/requirement/req-rate-limiting.radical b/content/hub/requirement/req-rate-limiting.radical similarity index 100% rename from hub/requirement/req-rate-limiting.radical rename to content/hub/requirement/req-rate-limiting.radical diff --git a/hub/requirement/req-report-generation.radical b/content/hub/requirement/req-report-generation.radical similarity index 100% rename from hub/requirement/req-report-generation.radical rename to content/hub/requirement/req-report-generation.radical diff --git a/hub/requirement/req-resource-efficiency.radical b/content/hub/requirement/req-resource-efficiency.radical similarity index 100% rename from hub/requirement/req-resource-efficiency.radical rename to content/hub/requirement/req-resource-efficiency.radical diff --git a/hub/requirement/req-resource-headroom.radical b/content/hub/requirement/req-resource-headroom.radical similarity index 100% rename from hub/requirement/req-resource-headroom.radical rename to content/hub/requirement/req-resource-headroom.radical diff --git a/hub/requirement/req-resource-isolation.radical b/content/hub/requirement/req-resource-isolation.radical similarity index 100% rename from hub/requirement/req-resource-isolation.radical rename to content/hub/requirement/req-resource-isolation.radical diff --git a/hub/requirement/req-search-response-time.radical b/content/hub/requirement/req-search-response-time.radical similarity index 100% rename from hub/requirement/req-search-response-time.radical rename to content/hub/requirement/req-search-response-time.radical diff --git a/hub/requirement/req-secrets-management.radical b/content/hub/requirement/req-secrets-management.radical similarity index 100% rename from hub/requirement/req-secrets-management.radical rename to content/hub/requirement/req-secrets-management.radical diff --git a/hub/requirement/req-task-success-rate.radical b/content/hub/requirement/req-task-success-rate.radical similarity index 100% rename from hub/requirement/req-task-success-rate.radical rename to content/hub/requirement/req-task-success-rate.radical diff --git a/hub/requirement/req-test-coverage.radical b/content/hub/requirement/req-test-coverage.radical similarity index 100% rename from hub/requirement/req-test-coverage.radical rename to content/hub/requirement/req-test-coverage.radical diff --git a/hub/requirement/req-throughput.radical b/content/hub/requirement/req-throughput.radical similarity index 100% rename from hub/requirement/req-throughput.radical rename to content/hub/requirement/req-throughput.radical diff --git a/hub/requirement/req-vulnerability-scanning.radical b/content/hub/requirement/req-vulnerability-scanning.radical similarity index 100% rename from hub/requirement/req-vulnerability-scanning.radical rename to content/hub/requirement/req-vulnerability-scanning.radical diff --git a/hub/requirement/req-zero-downtime-deploy.radical b/content/hub/requirement/req-zero-downtime-deploy.radical similarity index 100% rename from hub/requirement/req-zero-downtime-deploy.radical rename to content/hub/requirement/req-zero-downtime-deploy.radical diff --git a/package-lock.json b/package-lock.json index 16a424b1..ad8d88cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,10 +1,18 @@ { - "name": "radical-model", + "name": "radical", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { + "name": "radical", + "license": "MIT", + "workspaces": [ + "packages/*", + "apps/*" + ] + }, + "apps/studio": { "name": "radical-model", "version": "1.0.0", "license": "MIT", @@ -19,17 +27,642 @@ "webcola": "^3.4.0", "zustand": "^4.5.0" }, - "devDependencies": { - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "@vitejs/plugin-react": "^4.2.1", - "electron": "^29.0.0", - "electron-builder": "^26.15.3", - "electron-vite": "^2.0.0", - "tsx": "^4.21.0", - "typescript": "^5.3.3", - "vite": "^5.0.10", - "vitest": "^4.1.4" + "devDependencies": { + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", + "@vitejs/plugin-react": "^4.2.1", + "electron": "29.4.6", + "electron-builder": "^26.15.3", + "electron-vite": "^2.0.0", + "tsx": "^4.21.0", + "typescript": "^5.3.3", + "vite": "^5.0.10", + "vitest": "^4.1.4" + } + }, + "apps/vscode": { + "name": "vscode-radical", + "version": "0.2.0", + "license": "MIT", + "devDependencies": { + "@types/node": "^20.0.0", + "@types/vscode": "^1.85.0", + "@vscode/vsce": "^2.24.0", + "esbuild": "^0.20.0" + }, + "engines": { + "vscode": "^1.85.0" + } + }, + "apps/vscode/node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "apps/vscode/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "apps/web": { + "name": "@radical/web" + }, + "node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-auth": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-client": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.10.2.tgz", + "integrity": "sha512-1D2LpsU7y9xrqKjdIbsB7PlrRePw0xsVV8p+AKTlzITrWmscajryfJCdDJB/oGwvDI5HmRo04eMMADB67uwAwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-rest-pipeline": "^1.22.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.24.0.tgz", + "integrity": "sha512-PpLsoDQ3AMmKZ0VU+0GrmqMxgp/sExjlVm4R+nLWngeoEGAzOIPVifaxKGU5gMv+nWELUoHfvrolWD+ZS/nFJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", + "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/identity": { + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.13.1.tgz", + "integrity": "sha512-5C/2WD5Vb1lHnZS16dNQRPMjN6oV/Upba+C9nBIs15PmOi6A3ZGs4Lr2u60zw4S04gi+u3cEXiqTVP7M4Pz3kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.9.0", + "@azure/core-client": "^1.9.2", + "@azure/core-rest-pipeline": "^1.17.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.11.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^5.5.0", + "@azure/msal-node": "^5.1.0", + "open": "^10.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.3.0.tgz", + "integrity": "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/msal-browser": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-5.23.0.tgz", + "integrity": "sha512-IRCwkRCK47hBXK+7bu67UZWY7HS0Jx1dZgi4C1HVbjlBum8Jy8fb2l87xFr6HxdQJWy951zRUHtwwDITHFAtaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/msal-common": "16.14.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-common": { + "version": "16.14.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-16.14.1.tgz", + "integrity": "sha512-Or6xhPNyi4zHW25158yxBoyxuCqNSPa5YBVqfF1J5Ks4MJWBo/USXdp05DQIPu1Zli00YZu6t0+h6KvHJealxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-5.6.0.tgz", + "integrity": "sha512-uFY9NxrWHw8PwZx7gAX6PDn+9vdfS05+levc/kwkx77IkjfaldnQbbcQzzDIZ5Hq5Zdr6/z92oAIoRWKp6MnOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/msal-common": "16.13.0", + "jsonwebtoken": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@azure/msal-node/node_modules/@azure/msal-common": { + "version": "16.13.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-16.13.0.tgz", + "integrity": "sha512-rOAy0KUcyBbdwVJ+f3uPpthXatFLLZN+/KWAsTLzk1aB23Xl9DRmmXYwSvBFOZyXj4jUQQ5FKxxRkhAFW1fOow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" } }, "node_modules/@babel/code-frame": { @@ -1484,6 +2117,10 @@ "node": ">=14.18.0" } }, + "node_modules/@radical/web": { + "resolved": "apps/web", + "link": true + }, "node_modules/@reactflow/background": { "version": "11.3.14", "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.14.tgz", @@ -2671,6 +3308,13 @@ "@types/node": "*" } }, + "node_modules/@types/vscode": { + "version": "1.138.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.138.0.tgz", + "integrity": "sha512-DhlvrucJa8n6EHst7qQcXOcjLKs/VRTQy55plLO+RN74jonYsr/t9dd66zBnAyz1tpDig0okQAxuoPHpVNje2g==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/yauzl": { "version": "2.10.3", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", @@ -2681,6 +3325,21 @@ "@types/node": "*" } }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.6.tgz", + "integrity": "sha512-jIXhD0eWQ1JA6ln/5Dltyx22UxWNrw0hZmhy2rlv6m6KgF7kplHx3g0fzi09lNmTJQRR91OlemYp3xFnvDK9og==", + "dev": true, + "license": "MIT", + "dependencies": { + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", @@ -2788,6 +3447,338 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vscode/vsce": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.32.0.tgz", + "integrity": "sha512-3EFJfsgrSftIqt3EtdRcAygy/OJ3hstyI1cDmIgkU9CFZW5C+3djr6mfosndCUqcVYuyjmxOK1xmFp/Bq7+NIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/identity": "^4.1.0", + "@vscode/vsce-sign": "^2.0.0", + "azure-devops-node-api": "^12.5.0", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "cockatiel": "^3.1.2", + "commander": "^6.2.1", + "form-data": "^4.0.0", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "jsonc-parser": "^3.2.0", + "leven": "^3.1.0", + "markdown-it": "^12.3.2", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^7.5.2", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^4.0.1", + "xml2js": "^0.5.0", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + }, + "bin": { + "vsce": "vsce" + }, + "engines": { + "node": ">= 16" + }, + "optionalDependencies": { + "keytar": "^7.7.0" + } + }, + "node_modules/@vscode/vsce-sign": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.1.0.tgz", + "integrity": "sha512-9AQrqazrBgTgRSuwleLVXUrIUphY02/SFCh2TKYoLV/xifJAdblhdmEmw5gUrYSPQ3sRwNs9iyCMD14sATEE6g==", + "dev": true, + "hasInstallScript": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optionalDependencies": { + "@vscode/vsce-sign-alpine-arm64": "2.0.6", + "@vscode/vsce-sign-alpine-x64": "2.0.6", + "@vscode/vsce-sign-darwin-arm64": "2.0.6", + "@vscode/vsce-sign-darwin-x64": "2.0.6", + "@vscode/vsce-sign-linux-arm": "2.0.6", + "@vscode/vsce-sign-linux-arm64": "2.0.6", + "@vscode/vsce-sign-linux-x64": "2.0.6", + "@vscode/vsce-sign-win32-arm64": "2.0.6", + "@vscode/vsce-sign-win32-x64": "2.0.6" + } + }, + "node_modules/@vscode/vsce-sign-alpine-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.6.tgz", + "integrity": "sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-alpine-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.6.tgz", + "integrity": "sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.6.tgz", + "integrity": "sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.6.tgz", + "integrity": "sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.6.tgz", + "integrity": "sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.6.tgz", + "integrity": "sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.6.tgz", + "integrity": "sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-win32-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.6.tgz", + "integrity": "sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vscode/vsce-sign-win32-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.6.tgz", + "integrity": "sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vscode/vsce/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vscode/vsce/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vscode/vsce/node_modules/brace-expansion": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz", + "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@vscode/vsce/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vscode/vsce/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@vscode/vsce/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vscode/vsce/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@vscode/vsce/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@vscode/vsce/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@vscode/vsce/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vscode/vsce/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@vscode/vsce/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vscode/vsce/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@xmldom/xmldom": { "version": "0.8.15", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz", @@ -3105,6 +4096,17 @@ "dev": true, "license": "MIT" }, + "node_modules/azure-devops-node-api": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", + "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", + "dev": true, + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, "node_modules/balanced-match": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", @@ -3149,6 +4151,35 @@ "node": ">=6.0.0" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -3156,6 +4187,13 @@ "dev": true, "license": "MIT" }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, "node_modules/boolean": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", @@ -3211,6 +4249,32 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -3220,6 +4284,13 @@ "node": "*" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -3305,6 +4376,22 @@ "node": ">= 10.0.0" } }, + "node_modules/bundle-name": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.1.tgz", + "integrity": "sha512-DdH81/zPLVS11EUgWq3tEu/xn+EzljlMYooDNdzWEnFha3R3NBMpMV1UqYIpjYHV/SgpFKMIX1Oh7o06SjM/oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bytestreamjs": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", @@ -3366,6 +4453,23 @@ "node": ">= 0.4" } }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001788", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001788.tgz", @@ -3414,6 +4518,60 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/cheerio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz", + "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.1", + "htmlparser2": "^10.1.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.19.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=20.18.1" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio/node_modules/undici": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.0.tgz", + "integrity": "sha512-dkrQXeHSaoamnItlYbmzG0wFYrM0ZwDxCIg0A7aKjTyyhh9svRzCNFEzV+Vm05/yehjCzjDZ31KXfGEjYSztDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, "node_modules/chownr": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", @@ -3480,6 +4638,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cockatiel": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.2.1.tgz", + "integrity": "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3601,6 +4769,36 @@ "node": ">= 8" } }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", @@ -3772,6 +4970,47 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/default-browser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.1.tgz", + "integrity": "sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -3799,6 +5038,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", @@ -3937,6 +5189,65 @@ "node": ">= 10.0.0" } }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/dotenv": { "version": "16.6.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", @@ -3991,6 +5302,16 @@ "readable-stream": "^2.0.2" } }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", @@ -4246,6 +5567,20 @@ "dev": true, "license": "MIT" }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -4255,6 +5590,19 @@ "once": "^1.4.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -4406,6 +5754,17 @@ "@types/estree": "^1.0.0" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "license": "(MIT OR WTFPL)", + "optional": true, + "engines": { + "node": ">=6" + } + }, "node_modules/expect-type": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", @@ -4551,6 +5910,14 @@ "node": ">= 6" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -4684,6 +6051,14 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -4933,6 +6308,39 @@ "integrity": "sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg==", "license": "MIT" }, + "node_modules/htmlparser2": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", @@ -4980,6 +6388,41 @@ "node": ">= 14" } }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause", + "optional": true + }, "node_modules/immer": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz", @@ -5007,7 +6450,31 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, - "license": "ISC" + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", @@ -5019,6 +6486,41 @@ "node": ">=8" } }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -5152,6 +6654,13 @@ "node": ">=6" } }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -5161,6 +6670,78 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keytar": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz", + "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-addon-api": "^4.3.0", + "prebuild-install": "^7.0.1" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -5177,6 +6758,16 @@ "dev": true, "license": "MIT" }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/lightningcss": { "version": "1.32.0", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", @@ -5438,6 +7029,16 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/lodash": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", @@ -5445,6 +7046,55 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true, + "license": "MIT" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -5486,6 +7136,33 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", @@ -5509,6 +7186,13 @@ "node": ">= 0.4" } }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true, + "license": "MIT" + }, "node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", @@ -5617,12 +7301,27 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -5642,6 +7341,14 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/node-abi": { "version": "4.35.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.35.0.tgz", @@ -5668,6 +7375,14 @@ "node": ">=10" } }, + "node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/node-api-version": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.1.tgz", @@ -5797,6 +7512,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -5827,6 +7568,25 @@ "wrappy": "1" } }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", @@ -5852,6 +7612,79 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-semver": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", + "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.1.0" + } + }, + "node_modules/parse-semver/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -6021,11 +7854,68 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, - "license": "MIT", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/node-abi": { + "version": "3.96.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.96.0.tgz", + "integrity": "sha512-rebQ/lz7i0EkoLzUVSrKRzA69zMkwLp95kKMWoMDkkM00Suxz0D7zEQPwRml5fQum24mj7bPvmlgLAmu2JCiYg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", "optional": true, - "peer": true, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": "^12.20.0 || >=14" + "node": ">=10" } }, "node_modules/proc-log": { @@ -6110,6 +8000,23 @@ "node": ">=16.0.0" } }, + "node_modules/qs": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz", + "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -6122,6 +8029,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/radical-model": { + "resolved": "apps/studio", + "link": true + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -6175,6 +8103,19 @@ "react-dom": ">=17" } }, + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/read-binary-file-arch": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", @@ -6399,6 +8340,19 @@ "fsevents": "~2.3.2" } }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -6406,6 +8360,13 @@ "dev": true, "license": "MIT" }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, "node_modules/sanitize-filename": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.4.tgz", @@ -6490,6 +8451,82 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/siginfo": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", @@ -6504,6 +8541,55 @@ "dev": true, "license": "ISC" }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/simple-update-notifier": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", @@ -6630,6 +8716,17 @@ "node": ">=8" } }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -6672,6 +8769,62 @@ "node": ">=18" } }, + "node_modules/tar-fs": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.5.tgz", + "integrity": "sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/tar/node_modules/yallist": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", @@ -7351,6 +9504,30 @@ "@esbuild/win32-x64": "0.27.7" } }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type-fest": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", @@ -7364,6 +9541,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, "node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", @@ -7378,6 +9567,20 @@ "node": ">=14.17" } }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/underscore": { + "version": "1.13.8", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.8.tgz", + "integrity": "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==", + "dev": true, + "license": "MIT" + }, "node_modules/undici": { "version": "6.29.0", "resolved": "https://registry.npmjs.org/undici/-/undici-6.29.0.tgz", @@ -7486,6 +9689,13 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, "node_modules/use-sync-external-store": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", @@ -8222,6 +10432,10 @@ } } }, + "node_modules/vscode-radical": { + "resolved": "apps/vscode", + "link": true + }, "node_modules/webcola": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/webcola/-/webcola-3.4.0.tgz", @@ -8276,6 +10490,30 @@ "tslib": "^2.8.1" } }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/which": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", @@ -8333,6 +10571,46 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xmlbuilder": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", @@ -8399,6 +10677,16 @@ "fd-slicer": "~1.1.0" } }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index d7897bcb..1c542546 100644 --- a/package.json +++ b/package.json @@ -1,47 +1,26 @@ { - "name": "radical-model", - "version": "1.0.0", - "description": "C4 Architecture Diagram Tool", - "author": "radical.tools contributors", + "name": "radical", + "private": true, + "description": "radical.tools monorepo: Studio, Hub, VS Code extension, website and shared packages", "license": "MIT", "homepage": "https://radical.tools", "repository": { "type": "git", "url": "https://github.com/radicaltools/radical.tools.git" }, - "main": "out/main/index.js", + "workspaces": [ + "packages/*", + "apps/*" + ], "scripts": { - "dev": "electron-vite dev", - "build": "electron-vite build", - "build:web": "vite build --config vite.web.config.ts", - "dev:web": "vite --config vite.web.config.ts", - "start": "electron-vite preview", - "dist": "npm run build && electron-builder --publish never", - "test": "vitest run", - "test:watch": "vitest", - "typecheck": "tsc -p tsconfig.web.json --noEmit && tsc -p tsconfig.node.json --noEmit" - }, - "dependencies": { - "@electron-toolkit/utils": "^2.0.1", - "elkjs": "^0.9.3", - "html-to-image": "^1.11.13", - "immer": "^10.0.3", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "reactflow": "^11.11.4", - "webcola": "^3.4.0", - "zustand": "^4.5.0" - }, - "devDependencies": { - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "@vitejs/plugin-react": "^4.2.1", - "electron": "^29.0.0", - "electron-builder": "^26.15.3", - "electron-vite": "^2.0.0", - "tsx": "^4.21.0", - "typescript": "^5.3.3", - "vite": "^5.0.10", - "vitest": "^4.1.4" + "dev": "npm run dev -w radical-model", + "dev:web": "npm run dev:web -w radical-model", + "build": "npm run build -w radical-model", + "build:web": "npm run build:web -w radical-model", + "start": "npm run start -w radical-model", + "dist": "npm run dist -w radical-model", + "test": "npm run test --workspaces --if-present", + "test:watch": "npm run test:watch -w radical-model", + "typecheck": "npm run typecheck --workspaces --if-present" } } diff --git a/tools/generate-icon.js b/tools/generate-icon.js index 6aa8762a..f67a5b73 100644 --- a/tools/generate-icon.js +++ b/tools/generate-icon.js @@ -1,9 +1,9 @@ #!/usr/bin/env node -// Generates tools/vscode-radical/images/icon.png (128×128) +// Generates apps/vscode/images/icon.png (128×128) // Uses only Node.js built-ins (zlib, fs, path) — no dependencies. // // node tools/generate-icon.js → VS Code icon (128) -// node tools/generate-icon.js --size 512 --out build/icon.png → desktop app icon +// node tools/generate-icon.js --size 512 --out apps/studio/build/icon.png → desktop app icon const zlib = require('zlib') const fs = require('fs') @@ -176,7 +176,7 @@ const png = Buffer.concat([ const outFile = arg('--out') ? path.resolve(arg('--out')) - : path.join(__dirname, 'vscode-radical', 'images', 'icon.png') + : path.join(__dirname, '..', 'apps', 'vscode', 'images', 'icon.png') fs.mkdirSync(path.dirname(outFile), { recursive: true }) fs.writeFileSync(outFile, png) console.log(`icon.png ${png.length} bytes → ${outFile}`) diff --git a/tools/vscode-radical/package-lock.json b/tools/vscode-radical/package-lock.json deleted file mode 100644 index 7e3389c5..00000000 --- a/tools/vscode-radical/package-lock.json +++ /dev/null @@ -1,2885 +0,0 @@ -{ - "name": "vscode-radical", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "vscode-radical", - "version": "0.1.0", - "devDependencies": { - "@types/node": "^20.0.0", - "@types/vscode": "^1.85.0", - "@vscode/vsce": "^2.24.0", - "esbuild": "^0.20.0" - }, - "engines": { - "vscode": "^1.85.0" - } - }, - "node_modules/@azure/abort-controller": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", - "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@azure/core-auth": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", - "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.1.2", - "@azure/core-util": "^1.13.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@azure/core-client": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.10.1.tgz", - "integrity": "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.1.2", - "@azure/core-auth": "^1.10.0", - "@azure/core-rest-pipeline": "^1.22.0", - "@azure/core-tracing": "^1.3.0", - "@azure/core-util": "^1.13.0", - "@azure/logger": "^1.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@azure/core-rest-pipeline": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", - "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.1.2", - "@azure/core-auth": "^1.10.0", - "@azure/core-tracing": "^1.3.0", - "@azure/core-util": "^1.13.0", - "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.4", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@azure/core-tracing": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", - "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@azure/core-util": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", - "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.1.2", - "@typespec/ts-http-runtime": "^0.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@azure/identity": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.13.1.tgz", - "integrity": "sha512-5C/2WD5Vb1lHnZS16dNQRPMjN6oV/Upba+C9nBIs15PmOi6A3ZGs4Lr2u60zw4S04gi+u3cEXiqTVP7M4Pz3kw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-auth": "^1.9.0", - "@azure/core-client": "^1.9.2", - "@azure/core-rest-pipeline": "^1.17.0", - "@azure/core-tracing": "^1.0.0", - "@azure/core-util": "^1.11.0", - "@azure/logger": "^1.0.0", - "@azure/msal-browser": "^5.5.0", - "@azure/msal-node": "^5.1.0", - "open": "^10.1.0", - "tslib": "^2.2.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@azure/logger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.3.0.tgz", - "integrity": "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typespec/ts-http-runtime": "^0.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@azure/msal-browser": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-5.11.0.tgz", - "integrity": "sha512-zkGNYS3TwY8lUpPIafAmsFCYZbgFixY9y/LZB9GUg0IILoHTqpN26j5OrkL1AQThh/YdZsawe4iWXfp85lFVxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@azure/msal-common": "16.6.2" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@azure/msal-common": { - "version": "16.6.2", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-16.6.2.tgz", - "integrity": "sha512-hQjjsekAjB00cM1EmatWJlzhEoK2Qhz7Rj5gvM6tYf8iL7RM3tkxlpU9fG0+ofkulzg9AEEA6dIEnSmDr5ZqUA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@azure/msal-node": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-5.2.2.tgz", - "integrity": "sha512-toS+2AePxqyzb0YOKttDOOiSl3jrkK9aiqIvpurpis0O34QcIS5gToqrgT39p04Dpxw3YoUU0lxJKTpSFFfA6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@azure/msal-common": "16.6.2", - "jsonwebtoken": "^9.0.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@types/node": { - "version": "20.19.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.41.tgz", - "integrity": "sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/vscode": { - "version": "1.120.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.120.0.tgz", - "integrity": "sha512-feaT4Rst+FkTch5zz/ZbNCxoIvo55YU80Be2kiL7OJcod4+CUYf2lUBPdIJzozNnSEMq1VRTGrWEcCGFB3fBmA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typespec/ts-http-runtime": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.5.tgz", - "integrity": "sha512-yURCknZhvywvQItHMMmFSo+fq5arCUIyz/CVk7jD89MSai7dkaX8ufjCWp3NttLojoTVbcE72ri+be/TnEbMHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@vscode/vsce": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.32.0.tgz", - "integrity": "sha512-3EFJfsgrSftIqt3EtdRcAygy/OJ3hstyI1cDmIgkU9CFZW5C+3djr6mfosndCUqcVYuyjmxOK1xmFp/Bq7+NIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@azure/identity": "^4.1.0", - "@vscode/vsce-sign": "^2.0.0", - "azure-devops-node-api": "^12.5.0", - "chalk": "^2.4.2", - "cheerio": "^1.0.0-rc.9", - "cockatiel": "^3.1.2", - "commander": "^6.2.1", - "form-data": "^4.0.0", - "glob": "^7.0.6", - "hosted-git-info": "^4.0.2", - "jsonc-parser": "^3.2.0", - "leven": "^3.1.0", - "markdown-it": "^12.3.2", - "mime": "^1.3.4", - "minimatch": "^3.0.3", - "parse-semver": "^1.1.1", - "read": "^1.0.7", - "semver": "^7.5.2", - "tmp": "^0.2.1", - "typed-rest-client": "^1.8.4", - "url-join": "^4.0.1", - "xml2js": "^0.5.0", - "yauzl": "^2.3.1", - "yazl": "^2.2.2" - }, - "bin": { - "vsce": "vsce" - }, - "engines": { - "node": ">= 16" - }, - "optionalDependencies": { - "keytar": "^7.7.0" - } - }, - "node_modules/@vscode/vsce-sign": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.0.9.tgz", - "integrity": "sha512-8IvaRvtFyzUnGGl3f5+1Cnor3LqaUWvhaUjAYO8Y39OUYlOf3cRd+dowuQYLpZcP3uwSG+mURwjEBOSq4SOJ0g==", - "dev": true, - "hasInstallScript": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optionalDependencies": { - "@vscode/vsce-sign-alpine-arm64": "2.0.6", - "@vscode/vsce-sign-alpine-x64": "2.0.6", - "@vscode/vsce-sign-darwin-arm64": "2.0.6", - "@vscode/vsce-sign-darwin-x64": "2.0.6", - "@vscode/vsce-sign-linux-arm": "2.0.6", - "@vscode/vsce-sign-linux-arm64": "2.0.6", - "@vscode/vsce-sign-linux-x64": "2.0.6", - "@vscode/vsce-sign-win32-arm64": "2.0.6", - "@vscode/vsce-sign-win32-x64": "2.0.6" - } - }, - "node_modules/@vscode/vsce-sign-alpine-arm64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.6.tgz", - "integrity": "sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "alpine" - ] - }, - "node_modules/@vscode/vsce-sign-alpine-x64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.6.tgz", - "integrity": "sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "alpine" - ] - }, - "node_modules/@vscode/vsce-sign-darwin-arm64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.6.tgz", - "integrity": "sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@vscode/vsce-sign-darwin-x64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.6.tgz", - "integrity": "sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@vscode/vsce-sign-linux-arm": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.6.tgz", - "integrity": "sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@vscode/vsce-sign-linux-arm64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.6.tgz", - "integrity": "sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@vscode/vsce-sign-linux-x64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.6.tgz", - "integrity": "sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@vscode/vsce-sign-win32-arm64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.6.tgz", - "integrity": "sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@vscode/vsce-sign-win32-x64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.6.tgz", - "integrity": "sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/azure-devops-node-api": { - "version": "12.5.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", - "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", - "dev": true, - "license": "MIT", - "dependencies": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cheerio": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz", - "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.2", - "encoding-sniffer": "^0.2.1", - "htmlparser2": "^10.1.0", - "parse5": "^7.3.0", - "parse5-htmlparser2-tree-adapter": "^7.1.0", - "parse5-parser-stream": "^7.1.2", - "undici": "^7.19.0", - "whatwg-mimetype": "^4.0.0" - }, - "engines": { - "node": ">=20.18.1" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true, - "license": "ISC", - "optional": true - }, - "node_modules/cockatiel": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.2.1.tgz", - "integrity": "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/css-select": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", - "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/default-browser": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", - "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", - "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/encoding-sniffer": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", - "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "^0.6.3", - "whatwg-encoding": "^3.1.1" - }, - "funding": { - "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "dev": true, - "license": "(MIT OR WTFPL)", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/htmlparser2": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", - "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.2", - "entities": "^7.0.1" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", - "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause", - "optional": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC", - "optional": true - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", - "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsonwebtoken": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", - "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", - "dev": true, - "license": "MIT", - "dependencies": { - "jws": "^4.0.1", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jwa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", - "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-equal-constant-time": "^1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", - "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", - "dev": true, - "license": "MIT", - "dependencies": { - "jwa": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/keytar": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz", - "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "node-addon-api": "^4.3.0", - "prebuild-install": "^7.0.1" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it/node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "optional": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true, - "license": "ISC" - }, - "node_modules/napi-build-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", - "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/node-abi": { - "version": "3.92.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.92.0.tgz", - "integrity": "sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/open": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", - "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "wsl-utils": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-semver": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", - "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^5.1.0" - } - }, - "node_modules/parse-semver/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", - "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "domhandler": "^5.0.3", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-parser-stream": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", - "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", - "dev": true, - "license": "MIT", - "dependencies": { - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true, - "license": "MIT" - }, - "node_modules/prebuild-install": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", - "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", - "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^2.0.0", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pump": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", - "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/qs": { - "version": "6.15.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", - "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "mute-stream": "~0.0.4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/run-applescript": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", - "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/sax": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", - "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=11.0.0" - } - }, - "node_modules/semver": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", - "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tar-fs": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", - "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, - "node_modules/tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true, - "license": "MIT" - }, - "node_modules/underscore": { - "version": "1.13.8", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.8.tgz", - "integrity": "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/undici": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.26.0.tgz", - "integrity": "sha512-3O9Tf67pGhgOv9jM35AbhkXAKi13f3oy3aE4CSgr+TckGeY+/iu97ZXN+J7DpHPzLbVApFd1IFhcnBjREYXYcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.18.1" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true, - "license": "MIT" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", - "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/wsl-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", - "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yazl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", - "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3" - } - } - } -} diff --git a/tools/vscode-radical/vscode-radical-0.1.0.vsix b/tools/vscode-radical/vscode-radical-0.1.0.vsix deleted file mode 100644 index d08c31ca78e0443ad0bd9ab354d2b08c25ab96a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21616 zcma%iV~i+3v*p;fZTpUG+qP}nwr$(CZF}z6*4{7s^71y>Y_@-NSN-WuC#Nc1r%uaD z0fV3b06;(hcxs$!L*(?$^#B0?po0SdpaB2?n7BKe*g9F*+0wZ>S-9I6*jkvHI62p- z%*bx>Bk(SjslP8vM&Kf(AUFofQzWPIFBjuPrS3#DnKW5l$L185@e1eF%PnebK|&Vt z@xwP9K2QJIoAzeT!lO0KOxf>lEXBSa%?S@cRHaICDFPzD4*FaEYDtdk=rG2NVP8bH zpP*Bx{cq$3|KSKh%S2~4k$Pn z#(Ng{_ZW`59jQ>)FVBIz6iPtlY0L2|EN{c22)XFxg`Y%bYA zt6@X?AlX6%XsE+x?mh9n1d;Z|z}aO&RAonfqNR`tlxbUh6uMdYNE=vC`uMhE^>~c? zu?L|^ghmd_unu@XYjp;e=1%lVEia3+r4^GEFUGU)+?#M0mCo!yqL)`mbvYY4(Xg3 zfv!4YC%7Z41HIJpofhl^yV}5rXDxn!m*Xq}6bQcVs{UW7b+E7NqdcM*^U@Rm{5(o; zz3oIYsY`yi_O2vXTfDeWmg8R5W$x%OSxC)wt8pc81jIwOYZea%h#7hrwm+txw%m&t z_n!-U+?Y;jfIl^Z3MsOg+{2Q8PV}~Lyx`ZTouBh!(m1|4{HnCVUzo=zX`fO;le&9L zD^D;Qj3_PIJ_z!!In|C=6DkCm~`Smz|n*bXwljNNjJBzs-jf(Mtj;;irL)9Zt_1+&VcWL0{3DYh337>I54 z{e~U8_61K&Cy$8TTxsp73tb&9Jg#p+o3b`7ZjWNzAM%uD))6&?MAwY)`OOH>EEg<5~jl zyN33aG`*1$dP(|7>s^HRvxvyEsc~MwkxPclKWc zf1g7A@2f-nSFHcL?SBvKf7XA;I=!)llQaE)yL6ULJ=j~0Tcgi8dJUpHXc$WIhow1i zCYmXv9*5Di9>wgQ@hXrYsmGi9Km$O@Dxo>P!hQ96i%u`0BOyq*Tr<%^4h}C@9eZd` zk^&JFj%cX6x^{@C#~+-N7V7d$L}f>DEL1?xJKQnn$2z&DD@N-2*@sv&QCz@mB_rpw zV=Kf|g;1TEV&>kdP1WL$FTF|jvLl@_4+Tx&t5HwRioj`BBRZmTqIP-Ag=_Ec(o&u>nf@Bu5-XO>Phz8oc!7hpslQ%-~fEq||Ov3F_ z+U-~flT#csLk@yr#p6MG!Tjwjf{ z{rM#52u}%k!cP#hiosbitQ?f))I@p@A!piyjzaQrU+S2uORL_b_}r~=-9+m0*U5vV z#-P8Bn#mmGA{XLa;&F3(g~ewU+yv6u#f(1CzhJ@^3W>$6Q2GF%(ulfbkQ;5iM_p_Y z>Hdj?8ns}xoId&bW?|jA@rGcj%wp6<95@lG!w2F>C66>T>*=J`?L$QrfHf%0Acz2p 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 z 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

GP|NDPK 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%0D3PDw@m&@h1|l%{pBYsSyXh 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

CjeIMC=9O+tLTj3_vwC?ip3@X}(%{%)%}~B1 z<$iMlzcrRQyjY^)%@HUsP!(~PrB0wgM%dlr{xw`cMlNo!>Ul2BRf$&O@dA9Ptja}n z--ta&My2S!k&5mcnbCdJme;9P(>7KGq{eMpTzj_bW~@NV_#|Z;k&5bShRPGxyqa}q zMcld`hfJZXiDz6*tgdEKidB3(#L>K(aeg%^u4W=vGm)zq)79j#PUBiyJpAb18N4iY zi+4Z|E&*4g^C-)m0!)bzi~8Rp*O&3|%7%WA=U|$qw-RFxPGk-y8Jh`{mGOSlET&~{ z?;kah>sr#;niknuYi&!z&b9Ah{dAW0U3NiQ1K+Z9EsGD;%L95AEOgi@g7Bfo*6|66 zHj9h&*IQit90NPk62W~kWOm3A$?UR8I7-FD*flI6vCh#}4X1F1f!yAO5Z7fY=kiu7 zee|I#wV4vod)hqaF&wJMX@yA5SfQFB?Gxzgz0zt%M}QH8e6KaZ` zIH|^u&$&g0_e%`nL!RA#4UPqeKK8G9(-%cQa~ z#0z7~B>sHDcB1f(o#^&<56&XFRS2+}#^i7**fIA%cviE%r#U3%KwX#+C*asp>6p@r z2EJD!z0!{1Vc{5#wsO22P%m6A)4}cybXj3Nf(7WS2b+drW}Y#@7Z`6R%0ZS=ZD5Hk zwK{B~`9u?!^1pL(=QxD)0b}Cnu6msm$Z-!AhUXrW<{%nfDYhaPmZfT3%Ty4>^CsBf z**7&6S3KI>Y`eA94*hL(dOe6MH8oIYp$=HsH_R?UG93QFF^}#z%8|J2d_K0mjA#u; zl?WbGFilZ++wAox#kd)#3iwfJ-&yEU27}gd2Av`~TQ|!`3)R6ot}jxqjiai(P`HrPcV0+URm<1v_9}N80L`xTAR& zTx=sy`0fM@UdA2_NQQyCqhISN*b0NqYBdV%zPs}y3Vu3$?E?FnmGxj0nqW)26I5Np z#j=n2cbLqD?$I~7e&yE`>hK11cu4(S2X008cer(p?hdhI>${a7huBQ*T)}vUFjzQI z7n9W`brL*kGW8YXaK@zuPX=^J-N8Am9^DcX6>+OSN%v-lF4_Ix$~{%0pqDxk*{VG?dGg zxM&sgL}GC3Bx;^mTVq3c9}48UcZ?TOZOULig)f6Pp9X9`EwyO#{357C!9MOa#Fr0U zm_*cadH{!nt{%~FV0Gc^?TlFUrSa2q=1kMIPkj0ui7qWJA}0tEp4HU24td=_Tv>1M z799&z|CZa2crWQw-wq66Bmk+jZ`0ibHx6Vf4larm%~w(0H_CgeyvOBzqdY3i`?hT0 zdiv7Gye%83A>qm=5aL@a{KeV&c8rk@g}lyJF&UM||RLFp0Q?}!#| z&$(E(4pP9RDLd5w0Un6`6Hf=NUme(+U23jdYOcr4b)~r-j=1b;#Vn+TF$)XKVEU6o zzaV=g&ZH!J&=JH4W@nW)LiHUy66&8DX&|-zy0IdT?iGtLOJI{d+sVUzq2Rt77?4Lc z_?ot`EQbyBG7z*76Ey{Nq}hLf#aY8msw(qRfMd$6GVL@R3x+smmtfdEG8|K8m0`Y0 zP`PkHa!TL_AnbFlpj5o^td#DVWz5(SePk)nsCk}@uJ*h=%A(PeC#*607PHKX-VwH_L+hvn8oX+12r9!|AxcS>juG*i#&?tkcF8oD!P zArGI0)#w@ZSeun=@~Mnw!&zZ(#k1HHUgOtyN`j&-)$4bx|H|@R6>rD_MzT^YK_rl8 z_5BM>qx4ZoXZ8LCgO3%JBs|J6gyYuFZl7JuPB>q5=I|(-w-_)K_m6*@tX{}eR;IG- z87<;1W^u69&g$=IoVh7pvXw>Rbd{q@cP}8|Zo9v(I`6L#(*(UW2wRrH)3SJ+YJkYo zU8~s;UozM#-igosAOXD?qt0s>0VmsWfoa8Vr8ASxPx<@;=+j2r`V~69cVCMmH zYR^!YT|Z%7SKjw{0cdA9FgQ0ElPXg7Kc{b)tRUBIhV;OXH&xV|+h_k=D$k2(XS#H| z562_Kd4%(>g0Ex3yDe)00e>6__Hut;sY^$e8ELiOkj?d~57< z%@?hUt*;W*JTywn!q_gLMZAZBt7HyN^&A|`oP(WRHan%XZvClNdqCa#Q+TT9`Ul!o z`CFr0rQowF!OX)G9f>Mo#LORsD&daz#nCmbZpI@&pYg~w*IXg4k6+ptFTwUkW32izv*rDJm`?8ajT}K;Bk%1eHW!!L%Fq%$tt$&$1vyA3%@!*y31_>v@MWe;;h9{& zWghVOZU<0Q=c7ws*eu^%>Y%;dkiC=XSomnBDtlesp>K|^*;<=1I+``FF*UQ zewOF7#v|4DOVy92tG6Dhp4TgS|6^)nCJ*Xjs3A7ZXv41G^xx z@OXXL-&LH9S+q$M;V?q0)X)y!mM_5}H^~y{;DL?EB2DjmF;LR(hR4Xp^0skuKi)fa4lUj$VHQ>1mhT8!n6BP&Fjx!1Q z(FJ^l&&cv4bCXM5Zo8!n-|pZqtS$8+FwV9;*fHqp*FP5nlfQo^n$SQ+O zCpe-k5Lnr)D92=o_P7AGH$Z!XEmdY#dqcFx-J`uB+T*@?mTq(TYr4VtMHaV!#U68a z4WB0ZSEY-37Acho2@4-i=}qGZOm2<7o-aFA-U{+B20|Ig_FUf7Q7<1(Re|9kKpVZ2 zphU?qdV*h~($6v!1T?149behPO;2-wmZ!Psvy`{FkitogWcGLR_Z@R3Ok_U5atuh_ zn94j3sVjcpBY2i86Mz2;lq)^c0NSG=^h!gRaPK`aerAkUJOMbK)1TMR>G(W>zFNXQ z`?ZS^Od{%Bnq0?2i+!fKTFu2q5a7$u%1cY#sg}CZQg>EMU1=$nmj1xx!j6h=>L_ph z?{SQEYq{BSd;xt{4(cD|#OlflJymsLNCT+&=7)a~-;ZIy*faa5v}t5$zM%f$l!dxz zyCI-^G7UzUo|$h-gjlAQ+G;i$9V{yh_O=5CTY#3FTAKK@u^B1Mw#bH>?*wqr(EWco zwU}6zI{3A2aZpW+WihC~IklFZb7(0WD%7t5e?LC4iuDRvwWbhZy*t(F26=ZX6Dzyp z!+`$YpIR5c@y1Y}Nrzs|_!O&CQcutVwf^>$AuHk3_SktDFlVVzN%Z9S$~Hz~s@-bqhm%1K+C~m|)(*AdRtY7D;0kc#zQ}H<{nS z6dgvm6q0h|8$=*B?9NHbx%Cvte)`}B9>-(QjQOrFwsmtyrM>0S!c%U!CD>9aO=8Qd zE8?33kyVhEB8KX81D2vVRGVa=y@t{I$n1TD4_yT7mjfFT`iQ>wP7$>uI+kRGXXtUl zQeYR_6@(?r37%(WJPeeO)cTm-Z&#qNIdcbMjx=Y;&G1XP;i8xNw>a>gS8=&5b7S zHqN)Vn@a!>yjX0m*jrm0tnI(p-d>h6i5xZ8P$pb#t)S2fykT(IY%H%YwHo&J_BvyP zsD=S8q8iSMhQTdSG(46gG@Ka?(?iOp8un;Ldln-4E~1|g~%ukrZYF4bzT!+gF^sTJ79sq4k%#s==uI&9;;pn4Eg=^2t#*xSETT41ivsZk^kE|M6hwuTSqkAM6O1>l|$)!nr6OBo_#O zIr8G+(HvDhNpJ{wn5+7NU~5bb$W}fDG`GdMEOGL1tO3K&A)Yc)tesl*wFhNsQI3Ax_na=d|dCYaRV_(Kvk=A>NlNteI zKs#n$P{B@GpFlECTEb-$4ZPzm(DCM&W{B3Gp)Z3wICs;SrJ+i zcCx2xqjQ$)Phg2%!G_uo=++AVd8Xrb<{O1&yjc4$q$iph^%V)XFEvwt7h1h5Zkcgr zn;W(??Wv~OWl1+Kw7@D3VV+Gk)WnxC51gX8Uivk`mP0p{fdAs6!+S0?z2`#H`!6&! zJDgKJ8CU~PHy;%m2lGo8=K$WDYj@2&=%$-1eZ5)6cY!W74Dh`={9gL*l^2lc&mIP& z8=A**ej&Sz?5VvZ#|3qxw)L=|;n? zC094i;IPkQc@0ax$RMUNW@O%whvIQ%%LN~>=RwBc#gno}!Q{#Q1e>K1Oe-Ax2PF;_ z$ECp{=#lF9vusxMnYJwzQD}$~yVhY{Ljh(lduMtiW1Sfw{`vgJ(%Jd7t-|MEYZMCc zizA>^O(}=Ez0BHKhUfYWP3E30$p=4X%Ge{y;_iG||GO?ebl!h_>&}7BX zOJ!_Ax0~~4tD+gQ_XbjFV11D|8L5@84Y9EYeMI`)R3_L$c<#c~wYr=K!WrVj*r4<3 zoFb6s7(mIO^;%ryV>;oO2Fq^@3A^633o}D)5UX+XXNxR#6~6U zA6-cBL&z;(qvh_{rNk~db6rDFvDHC+W98_<1mpd(64#a zl`kR?o|fXFj~|`@*bC&2bihvH2+um=Xaajv z9~m#hq%bu7BQToH!Ucl)D~(m|k(lOYDW>^!=BlE}hVvyw`FLJ4AG3$+4B#C+ zR||u!9(;Of2NWUyM+hh4Wh-J>WJc+?4&4Ijj_w4WaV~1$HXqKrW0nJ8**>IW_Aej1 zhiaNtE_ZzyMqo32+m74UW2i76bH(nu{T~(Xy~{HGbmwA%&LO$jUOw;ocf0n{^&gR& zDSn84cXyOATK_os!K9rxRG>2Y3qe8(kb$36W%ReY2er$zOTe2|lU zYX`6B?=Kv85a*>MN8d)e5oe%Muh5waoxxJlFy4u?2i}QI<@LnSTgaS0sh~3p{LEj?NN(r1YB13t)2$3nyA;2d@1K=WI6< ze_RGz&V2%MQ580n&@hCn=LIEL#2lyzv;9H~OuhV-Oj)j#BT%Y}`%Y>U_y0=mKZYmS z^BX+tKT3(82!RpZN!m`ZTR6DMB9W9`+DvM(fo|EsG2glUhPrB7joutNS{Xs~D34HO zbK@j4mQODgwRC~9hf`ilc9C~V(}_ZPIUSlmEl3nb41gu|PFYW&tQlj0y%tkO!dr$B zD*|G7e4icTpocdH1c(1q#tC>V-DjMT7|Z|4I3bUehpnzZsJ~L`j(={d$Zz7A4~=$3u%qSVDR-Fo*;)Ko-5zuAuAf(SrN?oDr05 zwuM&ItWPVVZ_2FfJL)l7P8oKCZ^&DQD&%d;DlHv8JVbsEXoL7{|C;{()!Gih+h!zfjIznkO}ko6Hr3KIv??HIsOEYRnuhxjVYuF3T#r5jnv^Gwgma%w)aNs1f3O|T zVx&8IVRt9i)frtc&{)oNU<~&_?U#sE}dLi zi%V)5{u4aYg+KhC^zQgIFxBCp>KZoyUO=J0#Hm(&ER_{mD%F;=QoJ9ZW(E7l?5vn* zYz7v`Q{|_8YM>ZU*6S0JH_k?e{}y(Y);Ww~A8!;KQ;h1DYqaV~pnPS6gc&#-b-`@6$kYhAPpOZD8u+ltH zXa*kxz7WRK0MrWP{LxSPfgY_|oyvk8fSvq#oMzLkLs2n|3hQKu83j-s52{ofLXM|u zOpF?-5f7Lar4L>(X7CSRhUH_Vdi0UxMaJljtomScGNOIsGmf2Iq50ItK5ownHfmnn;Y0iV$k-Y+=@Mk6b8AmlNl>0@JXZ;Z?q8TNK~T}61aI; zDesc|+)+iLdAV;{72LbyuboYNExUKt;ntJCEurK8r!Nxu8{^~<~+O<$IxWEG_WCuq)J=)bU^JHrUJB0zT zF(f%Z>hQ}ir`Z1RCbiVQ_7xR`r*TF7Ms7=~y1ESQ^_S^BM#sDRZPMNW-= zA1TA@y$7!{JiJ(sqBk{)i5kU(M=^HYUZ>V-w@L)yrJm^c8T|u8_p_cF4c7Gs3l-x@ zAfSN%4t|hT_u`r!MQhc5c5zyj^qT!_d|Ioo2pjSP=fg+phY!~`UWmPaHZ}Ne`h{uJ zDy0~i@RNlMqlO@zPT9Wo2chg-v#w6W~d*>NB*OTE8KJ>GY}Tnc>9~U1kizafaWVyNZ4X zb9B1~*XLdy^;Eb@f%GibOtN3)U4cVwD_G_bw@Ob!U|{Ow6~+vNEK{**1s>c}AM}50 z;7yy<6ZT#la_c5(1TfO+tLoC1)8+MFEHR$K8kG1tc3g~@>N}bSg{;)HNk=>m_LRo~ z6xvDAm^Y1Yi0!qjIgJzk3(oKa?Wd_&tY$Zi4G(N4waT<7SLKc;7fFff?X5MI-3ylQ zW2)-c#=JX(H|8ChniFxOdy*5C4)rbtp5FsI8k);~Vh$7FF++)yE=4^fcVKUtU)DXI z=~^9CvH%OZtVW8tW?Z-xNX~}VhbE!2zNhat%kgG?x4yD@*LOZ*r07O&qh~+dhXUmB z!5ijIj>fH4Bd9s2Gbfu-b%H%4`lbO){<0{;{sXiRFxiK!SvzzQ^;sL+&-zY(yS~yn zthwH^)-$V*slMIcs;|&nbO=W-%B-){`nIr44zWSn!Yg*@rp%~>`|KQUqq$0L%qLVD zMn4$Ovg)BBSiYO#Z@sB7A&NJ)2aKcU8i>p2lbL|*;8R11{ITH(eE>?Y8II7g%z>Hs zLMuO?`46AjPs8+{+8J8G>*|*^YNopIpSjSxnv1e4%;S(@llUr2y(rG+u7YeXOXgm^ z`S|JJ=u>aM`>}h_bLRZ(jO%#W+bxZbZ(Fvx=891t^)s|#}@8aTk8lQ}=Yl^#bY*J&`^q-!{z z%pJq&oXZZtXR)a_Zm&Fx-McrivR{M}n3vETDB7JQH-52N4{TToGnXUQXAQCQX%!J1YgG_YHk}&K`UXoC@Oc=(_rH zU9E=Vo#HjCt1gzV%IWdO1*WE6u7sM|&iKbTU*dk&PoT6@tr~6;2mi)Nce60s@nx!n z;>v_4ZHez$#3>zHucXWCBVLNx_(Xdx$mJE*6%5^qQvtmRCc}ig0%Hc#7637EbIf}) zbwjJwu~u7f=R58>$z>A3RumJ+QjTC-U2RGbrZAB~M4HelGubk6`KZ~6P1A12hzr`G z1$tt)jhso11QojqC$DbjPJa6kXSNQp3j;??pSB#nyF;l%n|*4-;0`_Dr9!2;4t`92 zYO>8ya)WSL*b1XyD`E^p6%1JT24HSGh@Gp3Mxz52zu;+%J=S^Yx&GF*l^e|&pqEexY^ zGz{ka$=vTCO_W1ypy~#yZXk8FV-H=&MZ>)rFt{~B(DI~oOoiXPF?&8YYJYmAh(6d_ zMWQg3-`;L+a0u=5WsAwx<{36~_?357@MIUMIZ}+Q(ta^IZlBkMd7$#mL+Wx#mJHla zujmCl1<2gNh#wkGqWw+Nc`*Ah>2OA$H%r%5YPW59{%APXPuU7%k@$fyXS& zyB~4AaIXM}cKgG*$dFq=4M7_n>V#WpOK)^Fbcq+ZO!Lm#ZSPxVMV+8MRR*Y44y#N} zhwS_4rl(gIkLjG?WDkg>;wfeFc#4c*Q;{nUg~8KFs)$j|-wAh*k@xXczq`WS*u$nM zKc=>sRmB7JNQ8~YyBI;VUHpD+l7zn0;y5bU2e1_$l9WqdDbnGH(k+IdJ>%$OfqMpR zL*MEC*SHtckjag^to~~PTDrn9;Ys<%gp_8-<9Droo z4Le_V16lZFpgapB4!?}aJQYv2!%nkZYqk%rCCW7uFzD2{xjg!}r<*Bb zxk+E2%iYj5_S})=o89HJhU_uuUiF-bo-$}Ux`E=rr0wh8k9w^D&rh~9AhBnZ;86X) zwXbHx+nJz#^H``4MEcjX*`F2ql5*%v%Kud83-v_*V8pLh_S zhK!Ljy&9ZG;O0*&J3^Ql2rh=+qZTu)(y$igZqELbwz|uWHArpHB#}f?1;N{n8$l0A z^UoQHDSxqyc!>1QUp$@!uzpTrxDAh8>v#zsqkB`nH2TEV-jwTxJ~7yv_NUQjuJ`Oe zv{CH_!R0jk`@k`=`CWPOVFNvUWY%|p51vx3kSU-hx9b) zY?}}JbO=zjCbB>Z%3XAI7vAhHgiNkd>fv1X(5F5s&Y{sk1&^>+cKAGcFxFVb=yDjz zD+KtOUY(z^CGQpNfSn^+7Cg(EPg#&k6_8)|+Op2rcZb%L{e=CBQrxvK z=ZY%XhWOCf9I4=j5i3^^)G+!<0`CTE3PYy(l&JI&kr$3vf9@~#lMc;)ocwkS+H9ZK z_;a`|U{JJH>ro{e+qY}3=SaBvX06*xtjNRT9Y=Ps&#j$jMdwaM4 z$ml=H`;WN)=$`%~M*F$H|5!0&eu9k$w_tU{uKzl-*l((Sbp|{ai^oag1(#=%!Ohn` z#4-9Ci?s^@=_gJL9<~FJd2`Z0=Wabrqe9C~B?8V0qu^;lLc6_vII+H5v7~6LZ?VGV-lY)X{^F;ti8Fv^zv#Xs0^2jqp|BBi@-d>b&Yk8V`XuAEoW`sCQfJ~ zVkaGs>7P9f5|%PWw=J*IC#sR{N)LzvALT4QEY2UU!l!tGjhM|XVNO9 z5M~Y1mlc&RE8@$#P?zOTUDloZL7iWYj8Vp(T(MfFetj{oKbd*`$-lXNJ^h(^236LB z1{Yj~5LXrQl8$cDFL0K>z&wF>Vip^(Zd66vIU8dAaa4d=RtJoRGDs_eDqk(h0C3?2 z`S3`+Ds0fhd_f-vx}xayaaaX)bOpE4kRN{o4=|9B*kSj)OFEUUuIij^PVSAU4zbYhV%&wsY7{-{3i<=YB`Q*IqoSd_%H)DS)!O^RBy zUX;oSefW%WP7Q9>5(J^{PX(41#6)PQ=Fwx10{(~I^rP?|coZ4f_Smxn$m9kM$di1^ z^}ABd_@;VB9N|nG1-^@tog#H-O6Wb7(0lw35;_gD4Eb+Kz)){G?u+E!*)4|LV#xnk z=EuGf>LO;g^Rzv_A<|E;eyTmAfiebX+HpSj@X5=Jb7RRJBykqS*Sx3in|M2r!&wnH zZ}qp_XmN3VZx=ck9a&_WWU8joX1l43T*t@E&%Ak)Sa@Y_Z#m&Bauk)@+2x=1E}vp0 z{=@}ZrQ7R_>O;U_nXo`J@6d$r(1icVuBZlpA2?ZF90~&@cF#RiLj5>XLKTEdRwOe3 zzmtE4UxZDtAp|LE8@$O>S(|aSYTqGaxcTxl=`CCz5Fp^RaHm2`PJC;* zI7U!qan@+BoU2;ck73c&QVwbmFy6 z?C8WBop`Gg`#SMmCqC=M7oGU36NftSO(%}>XO>^#AWwyPD$Y~qdFrCLm3eBEr%vQK}*?c`|GSED@T;=-pyPF=@YfP z4-4OL&+b^NkkjAgU%PFol%vkr20n{f^@&5$4bL2!Gh^J#c}-PF`u}fwn`*G!+tg6* z0Dk8j}RrPj{Vf}(_*KqdU{~5 zi=IYPdsmKUKS9*|$e4`zjL&C=*oBq$v6-#|CUgj0S$P`IbWJ|*Y0~<=uHL@J_c&6( zWi{rFtN(x7Sg|yGIIz?$)?n$v!l9hJyAqqtyelJt^DP1T@`Erkig#vL-kH;NMf6ez z`6|L^!hTS|$36^9wY-i{m9Xx^&^XwJk)|#?WuRBfxdETsa@jXl&JA6GDIe%E0m=+f zAA&!Z3G_KOVh&ONSf4v~b5@Tzc>#})EUSV!ppU4o?;QC#lz6%Ln)jXIo`Q~ET5nAqm$W zbW2GHR%nWn@GQnPgypw^DF;0S#o0PNK1UOFew>ugd3-J`UYpA&*%1r>>EJrUMRb)b zjzs(KL96*nI9k2Z8731y`ebWB7S7!VbsX$|!FBMo*nGHVr%#LHcbJs&k%A8*^T@=Q zi_@zGsL2Rl@k7BbYppy^H39g>6+N5GF>Z*u6@zQ|7)6SDc?i$6iTmz*AhhWHDXavu zfi4=T;R|GA;gl~jtg=So;G-%$q{1G1aV2cI^`XB#_=EsGP982HUVxJqD^60?`PoMV z|4jQ>|9)cl#b&W}d3CI!B`DF?iHc5)?$8aszOm(#Do!v#MedXzKjxAzl$a)xQ;t_O zF?MPa7AGv3*tDo;o%{BBvs_$L&4d^05T_HwhhS-p3WLG~8$fQqqT8?h7wz|T`+mWG z$DBN0OGewHwHk6(4g-{n{(5!y1l z{bsp+_!daDsZLZ|c|T@E`0k^TT=#iTj_>&XeU?`wGETf=cR=+8zJG;yvmTXm#?=Vl zeC8awB>&KR$9&~*D)c$jZO6Tg0>mjZJqOYegZ<>5niF?tbF$^q7Jb6>v8)=`47%YI zgKlUr=xT)cw~LPZ!cKdf~G1HOZ3h6r+?4TJ2 zTO5)NEF6Zjzi5gNB>e4tHw=ntMG&vU;IEcmB3~y!;P6xw^(CBk{Y0SgJ%+gIE4L0Q zID!frCD=+kQYBvD8_2gM!Hp9qR-*1e;v8Nn??|SAA1VI#L)+Qk1$+sB%?#I8-^~eR z4KC^DPjQ*MLw|$0+=Df@xVpl&1@%om;K#sa=)$H>p3t0AP&eQOIX||h0MBSLs@3MU zH5+BceSi`I@W1qCNr`T$MAs-mFDJC02rkPKdLMxwPMe^k%&I^wikn1tGF3PARhlRJ zE&yCIHudx!6*+h6b7$I*dQPm4;kQMo#_ekTCp-;9=gDT(Lqbl3_ldK zghh~^UcUTu<|Md20E?h_^z&9_YblTVJ`3RLD1MF=g;6odqXN~g z`~hwf=0p2I^T|)wB>ggc#lNJyhhPHm=4P~2snK7We?)Z-#eJ{t(^Du&#d@MIrw0Q> zhn!TbuNO_x8Z;b%ql61i_eWH1{@ffMTt}a6%l^gC7V%R9_2Bve!X=0g<>e*T%)!NO z_L_qqXkU8*Z>aeGkuELWJ5cQra~J7)?43u$xok2DI5vr1!#TjYYuxK(gcoEgmgoYn zi&E(nk9(LuY(Z82bef|D&js~l-mNLbray*v)tzGQRI#PDx~b~Hshgv1P+!q{I`94l)s%duyw; zyuIC8*6;1CD$Vr-cXd;S=Xcyw&OR{on=`sCsf zGorLcmZmxR!;S@%**FJ}_GpwYqh;H$yZkz}7>fEO{nB?PPHUcQt)&g+01`9gw}SVk zyCNvx2O-a#44S={SqF^#fntK|4FK(W?94h>-vPpQYs0ReA;F?dJ8!TOk<`JyQx7$* zFteuW)|xdbWSphNgaNvjNzM!PWnstV&A6<6%mgm+!=PcMeQVIMAubXlDcCez{V?Fhd?M|T1hSQ7gqow()mp z%sRjCB@Zyn>kQ4GQzk0LL}$d96pSd8A`{5W>&REs#4&FsfdLaUa+6|rmPZrRugf6L z><5eO8Ea6K1#%+H#<>+BGQv?1PpK(RL3;^f|{WI0^jqCy5O!&_41k7a_OWR1fZ!LV1`cIl}_cp^J@XP;yU!$RVjl8G5Ml+uFL_h86SF9)a3HQEY z$pf!gTD)Suyham#jlBFd8b0+&^xz@JPon3#iGC8j{7EG0NhGyi`866o^coG-AQJr= z(JO>ksd$Y%^%_n1HS)~Y$b0f@)XQI^p79#>X1qqd{52Y?*T^?tqtA~Jq?RB**qd@5 zo{+s`>@F{{zEm@Y9KJ+AeU~23@pcB+xX?Lt(;5oZgQ{O+j&f_{4o_+0aEQeeRz#{n zFUmHM+)dB-t}G`##)Q@ifuX%gTh6VW(gIQ81!9M`>Hq=iRe4|)2Mt!eO^l$Y-L4O} zqWTE~q9m?cxWxd7@^G6qN{NA+355V1fhq)645+#0d8~YK^JBX+-)vjf`1ZC-pYj%T z9gJY6igYa8?}>B0M#5e<0L$@&LsDLUmmBBv4hz^&C`0!ix9X}I*P#dfjU2gi_&emV zKBtGkw#YUHxeXBC*K5{egGa4LFK~)F{lk#G)S>^tAp3?Q`t!YtXfbtxo$JI6B#u_= ze@1{7(+6B+2rbY@I@5${DXfl!<4+v=!%eSRwWZt-?I2*Vhdz>S^2K9FXNEE=oS4eD>cONbv;}}NsE_f7Gb(-cPy90;JL0e_L zLYDG-h#7^j=s7O;oN4;9V;A2}TtAkR91aM-b9K1g=p0`P@tG9=OY-e@a%@SYC!iI1 z2PAul-{#}bD21wj^ST#&P~31KC+&FbAG%JoXckL)A_O5 zplND(rv~9loRB4#mFp%X=LX2uXr`SJ{|0k?ccGG zl?^~SEirLWYvdtuY|=$2C`ar-+fi}T2FFzNY-YoHCttK9$PZ~noTrC8)y z(-7DKu+p-uuaJtXt3<^m_t8k+iErqqpq{Fj z>Zv=O`FRi22oQf027{kL>~uKgOvqF2^Rd-$@Vs)-Qj=J7X&GNTZdWf0e%czCX+H}D zI|YF85WaKBpUBSKU7vwC>Qo3@W;T5+FoahyT(CQj^mBlI+ER&z_5Y*pO}Nu$nsw2? z68o~eMGyo$WU#IH5SxS~IFp@(Bs(ih0)gZ~!b0HS*ZJ?ao~mxC1$fB&?Q`zA-}^bJ z=RvLRs_Lqzdj6e760^uSP5klr&N8uC<~*T7cenG)ER(qX&^^1e%uBOOKOFbsJBy^p zzG#RQhBb;4|NYcY&fL*zS=}c|?0$Sca{0a9S@l(61b#22f((RA>*@BAZ7yl-K!2gN zvBQ=Q>JHYg#ei-g(&iC>9Y9Qbj{xm}i&eMUVsBgEy$}~ETGlg_Jl?>%THG5N`V*Z@ z5P1T(E$(ioKrpB)jAnM12}g9b6Z2|~h?XWq0}q|<95Mt)SDccq^LP)PVBSNVS={DK z6(=t0_!f#6+`%!P=qeoRC^qA;$6=4cZD-0;>N+!?(00Xr4vDDMt}=5z zd+yZttdSneNOkccQMr@@nj+KZtlp!uJZxu~*f=c~avlorQ1+xI#FvS7)@F;GBoth_ z?h(V%VSHym=;>L3OFv=8s6B&WlDVed6q$BeS+2m_WEZI`$rbJ{fBSatH#B?Z%&S*J zbrm=61^&6e{b03{3Lemk5BFh_Cg4j%xZA&a*2WeV6WHY_vo@hQcmYj}DC;W`e1V(n z$9=y^3FQ@M^T{o3$0PS*;(u_H6zxX}oD0ooS3OC~`tXSujWq7WmwvKO3k1g7+(mP! zk^TM1_Ma^_wttoyHQ!M$ReN~BU}ZPgveKb&c=Mq8{xt0IgodiXw3O!fjjp47Fzw~9 zz#pFbQ99n{d(_qK`2^H8OM2lsRO)D2|yH6PIAz`2O(WrVU(E53n`ax4hec01`Trrra@h zzOrpsyR3o#5@@u^ZyO>v;Yu6Z?=pEZA z^lM6@Uo$c!Lx1x3B>ME3nb({l*St~2$NRAO(_CW^56A4jNZxf_kx;2gK&hiDa#DEU zNlFlKMdHgWVU84@=3g8zh|ar^b_ii(UtX5w(vlfe1ToEc$)-0|QGWXz`c`{p&0>_! z)LzAzDqKYFT(ToMHkLRcu3;nxruIJSB$W!(xu)X9Mb7BCzR_DTTNy-i)q6(u-mTRa zj#;kkbn2H`s88o9>c}HSf#~MSXu%-wivwN$V}n@wXbvJuEF+BB$@Bx4;&I;Gb*=*H zgKv7mbCi5;F5@!hCv9pNF5e5ax}aoas1_A8Sd@Y0_m~AQxEk4@4ItKcvsN?5d+0C4 zduWzf$32H}j~t%(qzL)o3In;mAxhab=ymHpfeoO2YT^-rZfS2r)eab*w9G2Py6-yi z`Z^gKo{6eD2OR;9v-wz9(zq~C`morTJk~p=qC0OHTC2<=wuPaEHxCWgze9T_N3OIq za%SvI2{fAel)c?4ea>E)A#X-Myr2JHOvax-#ARNM<-G%)MJtfy>+Ji|J!~h(wBDc5 zfwI!DML?ZxRghDQ?i7e6sE%u5DK&|unB|$y#=1;Y5BNM0!`OkwTz#-=XHisTBdcF% zFu1Y0sp1NTPW6g+Ep1qg_wQ22DCybWzp3z98MhqNx1$sXer=G%=ld!b&Qy3_-^PS& z-;%4)9im`XU(F6X{nPgO_^8!8aD%s3->0jfYKWGCv$nZuxuNOAnZ5w)MjVtX0GDzV zC#g1!2LJPsum0C+Hq82M!~B!?``ZOX3i-0~{U|5qZ*}xmP|TkA&bKxT7Yy&QhTk{O ziK`9z%&5yd6F;{~P{hejq(FVTtP88WKhpO*1UM+)HbbxtMJF!(qGxr>@*&&Z+R*W; zRXe7Qx2rH|1Su$0l>%{?YE8{rQQ#uw_3h?!2MeM3JYWvbC=)p1 zzEld9|Ky2c?cs_#?Z_VfvJz8&UG+&1+0`Rj zGB7UJ*kjf+QMI)b$8?3>>&dl(tu77|)+E>m^w~RTn<;_3TIA~LkO9y>`s$)h>%&X; z?9UrGfHqap3n%)7%|KnP>A{?G9o;Lb18N8EfNv&V_fsX-S>LF$3_rVt>#L%wVn#v& z1Qnd-HQ#}I6s^u&2J@B;ZT6HNnCIp_riB!-*4zEMwmlI_CYY;54(m|AJR z(>kO7y7m{{8*0z94B+6{mKiC*^hDCi_J<_ZAw7d*r=3Pp)v2+t(tB@chCw#HSwM{#Fy4U?GYMTM|k#SXt z8rp`(xy~lcBg%Wtt5jtOVN^tPli`dSC59kq?beDTPQPNt&IhB%J4CB&Kqk%1p3bPJ zv-vSkxwA9rY{{9j=@oUhgwB@p&a#stG@rvWt4^0dMQ0!>MsKIwTX%AMZ~vGsSmI@< zv^g5B;W9f|beRn!N*FeCJFrv=Oo`SFnv@D0s&2;y>$=o8dhUkp*(Rfdf@jS97ap=V zHad#NSFHU$BsTCDo4wobBVQgs&q7N2hL(Qt+IscEO4cp&f&S$y5c=w0d}FO&u!5|X zBq=EQ{X#b|(rxZ1>ftQH1NIhQJ*e*V^X|CCfi3}&$y7u!(6nO0n}r&)FDTZs#M(16 z^;|Yxk+Xlcd=4;M`8?cXBKmqF8hRocdLrt^PSna9Uk`c?g18_#b7eh_Tk{Z4q%c?g;!UOs{IlW;5 z{K^8lMY2$E=BR)^7T0dBhLUJ^XSq$;ZCffPI<1}j2p};D7#xxx4dlz$gYur2YqwY)q-D*y(dGfh-C7ghLAMc0!R!s7AOF zc`nljkDDRC_PZb#P42Zt85l<$*YnRF^e5-%GX=4uW$i^=qLTxxZDRWEuLta8Bym2y zO0@!^Tksa1E=r37$GY55$}`_jwerjcBX4{>wWA~Z+o}Ef+&)>iPuG8z#Z;l031MiH zYw{+?0<{499PTMj)~~PW=Tv@PpMzlTSr;rGBVK(ksd+!*+VH1v2{1(zh2-xC%A!qp zH6cmv*)cWB@JF~jz|(5vg~16EzWwP#xS>b|}3Sg$_2|MzxVEc2o- z4FazlCg)!L$fWS|GWTz{YKZSJ>~?CeSd4Bfa#3GDDlL<5Qx-6s;9q+7_!+9J3-=9* zJN2?hwUDNnTMdZs^PFpIpzuAD)=k(%BmBv743BMR*;>Q{obyN?5Et(T<*?$cXIK$2 zbL`2kGb#tW4jq{BE}XGMKc=|9NNn{G+bC7uMxMpgku9w|BVw^#&RD1>n6G9b!K@(% zvKZ|qWjE`sc_TNBt<~fB)Q|q3FiQPo?Dx`7ZZ!1iAliQL8c~sZ_Mnv{akBm3$ErAe z{#jYI)g#SCW%cKSHKfTbahjedN?TRSv@r8KWz}D)r1I0A3-4eRnD2M0-sM*a=^6Bq z{+*hZbYpB|HIn%L;baVH_U7Pjs+L$8e$a zDN3tCpASN)U4==j^EfK$)|m_WCLX{<_v)3`IyrII9S)o0* zfLzAVg6KOGb(``Z1NtwVgAXz$fL-g-rg@yw3B-=k3-_0jJVo-1lmF;?m(1efH-NU# z3c|yT9*T7x>*QmVY;0Yt-sdhda+DD!**c{QGX6iz_HDKixTB65K zz&LM58m_}rwS9MmiS(2v=~8fTkHNt`{u4m7Gd=Gli~uF9dRczwbJ!Zlt9fX+i6UcZeQ0LND&Qv##&^F5zFLE)v>)1g_?(z?ta) zbJXeD+6cD=BhllaN)Sc!A?>Ks=|px^aJUlop7QeHEVlqWYFiv_KRT;S7RuEMX~F0jzY)4ROGpwF5SmW3R>)j<1MEV#ZzK=RW`I zLeSoN;aeX*`PMQ0HR+FusK|$&4sEbU{ZxV29Z|m4v(&omN}dtrVdr`sCD(r}VtxK@ zR2kXczrBa($bo!zmfo7OX=(XM%S=fv=HxOp6WhCq6!7 zCj82{O{5QX;>(xXm9KQ-!yOq;scsEuSzYRBfee8t-K}=`gqU|;-lUb#fodi;2IFjD z6t9XZGb*_3K$(h^QJ_DJkC@oj>lpJp^~(w;F*N%ga^J&Z-$T{+nR8%uF%i)JpV{kF zTImVRcxHNM0Nr9@3;)8K+G~d4k}kBR9Y$GdqnWm}Qj%8MbO3H?Hoe5nJb~zy{eqU* z7u@%$I%WY@^_o3L(eCIwL6vqrU=p=Nwlk_u5$?m|oBq6I@Sh_b+bp@fzCOLAr~s~O zRvLVCdm%+!ty5ezt4_sUtlMritJBony2H*`p@dPd6V@;TNO=m8$`n#6YQ(R_G&Jb_ zAo|DpPrHA{ufu~wwhX|{Q%Zr=2J|c?4;_jMkx@{JC=-2f(@OM^-8T~hZPQ6ZoBEzr zsbFs}NnKQLLz_(XV05ufXLZ(t#vMJVG^*jPJ*Z5pA@_hz5nzBj)&)GA@4pilN^{jc zC%WPKI*+b4jD#|HZmQw%9WI;a8=@T1^>r~CdYzoWWCR?{>N|sMlS-GtBD!TU28$z& zJ|6&mp7wXVF_tPi9ve%@8^@;VB$XaxXmWpnG^yp&GiWK6bF373=Z?o^vYD>`)Ye-E zaA0l=;?l~>$XsCGmoBiKXaUxeF)Xo}uCJ}V^BL4q;Ju0xX25XsUU~=_9cTPLvEO`P zZ`z5^n2^_#$}Bm1V3`MnEdNVe4b|+4g!_(W1^vO%T*|noQVtL1Qj*v{`;;n( z@IzP$LTjvSe+k74LJ~#%(zxG~H#S_#Gj5f!dS=>3^gXm^cJe#dAW~C9eB4LAo{GT2 z*P26EQ^7(>VndF7k;Q_yuB|_`N=_K1H@p$!?e(7ce1&qa%oEOR9E>G~?o*I+JHf62 zXxZ2a6qenHP1gfEPZTY@9^BW9s!hj%LynG7ey2mFBmjBUpwywxjZ& zHUu&@Pnk)a-EzK7L^~J8e?%EpMvzceTGi0668%x%ZEAd=6awKLI%hzIK_79d_+HQc za=?RSxwJwjY(7GAx+9s}25c)gTxkke>uE#m0`g=YhfemkaIe^`I^Bh~3?J!#DwTxz z+`jm>qf>C;=WmR*mTmnmW8+=U=HF$!_%7)!W-rm8+Xwf)oHiDf-SX{YU$0mgBlL)k zp*hDx1jSj?3)>aGP?$ihtaP9Tm*En3pkdW4^9^o`ffY3d@7h`u;a`c}R#hqWcxA-V z%)+z|+AB1rv{F`9+G}eRXkA~gtaOP)SaF(IoBLPjO0G5E;;1I8xKpu-e{FG=0qo#8 zg|i(aX>Bd^udf68qal~p){cG3)0*=-*F@M)uCJSO2`x!rjEM=BxY1i*NQp|B&aH;jX(Z3F0VV_1Uuja zy#!YR+UC?YrM4xtYk0zl*?)n@CQRWe@wHSJ{Sn)A76KQT zzu-JO7|;^4w49wb9IBoEB!3K7+xAflHtjm&2|~J+e4z#RIxKUa2!$K%#6ORx?wPvJ zo(C=eu&ywm@`Mgp-CT64Sb$NkOtefuCMrEjKqjc+$p1wgJ=CF!=k3lEGVo4$%DT*E z9LS@YpasurJ!d9p!E8h{&3B@UxUBF3a?fR%khqf#qNOm%T`}IB+Fv#@X5kggM33v4 zIr(sGLC$7lw_tnI4#3&7MKOgO&7LybZE;U7;g3Ii&jBC*Ko}dQYs&ed872C&H)YE46 zw3R(QR+aX%{`XNn2aL-knPCV&@}vCNV-AtH6fIOa9h|WGU;NtgTH0o>|_h^?uDD zltME!-SVt`MW$o&k z4|=yv%IjNGZ!g=qHTBc2slnv7)UzAP8v5$v+wGor#Fg5Llh#gvoHA!s{qnSuvXA>p z^Rlcw#3c;_&;?eFkPn9X;wcVczl|s&(nPR{& z!ff9xN>Y-(x@rhH-uB@wzNpEEdoEU;dp{=L#4Yy3WmDOivNzLgMz2jdXBl=$wZWHs z)4aEb=DQgMkI4ycpS57vSOZCPUI}sb4vY~x4`-g8PN5#&J;9y7F4yvxq6c~9+ zU0Z$%L2It`U>e=1Z{+W$RsJ(?{H~$L>EDUJ{oub=D^X?jzZihL@1`yzl5el7cbOZW z0&4o{CXv)JLn~`%sYW)kCHYf4e692FR!yt66M0!(+RFx>-(Qh^&h8DzM_l3Ue`7(F+ z=K4C`8x{5eJ9uin1_~m~Y}nlRt}chV%Pz4?|EGE_calpx9*Vfxu&x-h%~xk=35-{B zWckO|hoN;iw32`WC`oR*6kVzPlLGsz&$&QFKL|dgYn4kg@f6HFzScXus?Cn9{ByC|3Ef@acxx?c@K(| zCv4=>;ai=$-8!+q_}1s4Z^U`;^)+nWh;`SI^Cj!E>bT|x;$9TujybMf%y){oQX%d& zxBRux@(0fMwvf;3`-uEf$T*eAi$df~BCiUOza{cjA@W=ze|1dW?()VXQR^tP33`48 z-lBxdpuo$JbFramU3?!nSw5faQ1b!UGav9P3?-}%UAEIr#g>i%O3KQNzHl=9qhQ?W zWJqx`aQhK(s3XI21Lz2H7+EWvXhoUTw5$*TiCs!E4s!nvT>Hmo7+pf6OR~{9j>OKP z1vAhxSa0}Pd(KbL_sbX-Q2q zUJ{RaBRiKpk9RQT!@OV)dn*e7>1J3PIc}w*u5gt-zrt0Ih;zzD3=?m@*qSW2gKx7A zC`8n3&tckZE>(fnG;(J4776lycDozamfr8?K4hoLmm2g28Er1A%whY%lqW;u8ZC!3 zoWn94IVCk4GpX~DGlT5hG>Hlg(5uWODhJTwj^Bm|&7B@OL8W4Me~h3S13hDAX-Bz) zm@nMkfkG4Ma0?p4lE1ujf*fJOBoSIY`{i3*P;FsqwP^vlEaRwD+&}Yz(#w-O?0!=E zXq>I`KiWb_Bdz`a+9c>stCm}>g<#X8EQ4;h1Ii4Bf@)*V5~z?gU&~(^1dS(NijCmk z*aKDnFR%wna)v>c;r*PA2DlkZwYFl{`ThhJ)gkMa96#aJpD89BvNF@vQ~F5Gx=dQO z`JSemVa{~L|GNzp7~D(#KC>7GoY*SL^n86U2b{ZvGBe-e^^phZ%zs?bIHuHQg|(zY zIcj=eu(L+&S2X1l94O}@ks#aQ9=iZRK)%0TRF=}O16E&Je?n`-jPKR6cv{4qiw8M! zREq0de!)jRVr^V*9cCAMmRB%)Zxiu72Lrd|TL|vo@_oY!EAK>}%R!$CTQz zpFr~(7ghEI35fk{g0ecRk@T6zIPyM{g zuJ*k{zlDU0xdhxGu}(VoFCG>;)>fHoC(C|I?wVto`yVxm~}yESL901tmeiUaxP6*3*IY zEkRwQBZ-6}WXf0DPG_Ax5WQb#*iF882CB14ZNA~uJd^hDtc6-90P%8nONEhlc-SRn zro-Rj>s}e}xI+cl5=CvLr?x^@wL4-hR`aV~5dek#EiXcLWN;nWgWGD*7ng!V)#mjS zo>Rl$i0s*O1>3p1%?WMREYxwZKbW70SqxQt?l^s#8Kz}R2smSv&F<6zE6QrMUPHRv z@F&M1QHDP)KyzxxLt3V-P+2G-vXq$dLb>SRGeElYZ; zHAwi5A>*iGCP}6&jinu!SRLq$5VzytlEN#CgXDO{q2r%(?UZRd`VoU+kge%QsGjdv z)l?wweod^RefAw!oZ4C33O29I6PL116Q6DTBMb1`Tg&jakT?yv^7_$WiVrK=3GZVTYHF$oRdJKc(>c_l zO@*k@CVuK5kK{PQttt=LY3(((>$Xt@3Gq+o*B4w#dfc{Axuue+XDz0fP^H946YAOh zQU57TXAupFC>v%MN()F%%D#gmVa7mSYB|z-q8YaF71+NSwroT%eTpxNbG4kQ7WgW)=g6DJBOkM#bPCcaLyzLl!*c;P=N90c>{ETrrjPg% z`THNK?;kheBl-3pv$Vrq!Ia`W>T}(F9BYh#SsT!oZwENlBs`R`@?7bP3&_f>8Zan% ztSRT7AD-bHj?HVLI@Fqu*b#O>OT~5CBCw7}0tP@lQ-(Uu6>z0hZV2SB<5de$#20^` z(PqPzV4*!_S9KHvdqT=xrKxnNt5bRDR1C`0Y*6XIrKW40xz@zBT-WNk+>uXbcA>ji zZw)s4fF3L)9DPP^xw~YwSTs;Y8U3zdTbKiQo!Q!izZ{=NHN?h!eXXB$LMREM7Po#= z(==_d2%3z378^E!0q)$|7^}Xl?-%WCtA;EU8|LmbQ}q+mS+&t-@v`6c^?o}w)ct0T z^s5JRCm2!DyP7!$-m&WtU#@69ZgVOUJCDdc-72dxylP<_XxdCHGg1XNP2`~y=S^c( zv^27^>sX&ts6wX@ zEHK4k3*FF;7;pujFSZ1N^@Y6J0wt+9>p2y4Cv?{0&~=+L=X}E4$NFaZ;qmK-2}^A5 zGf|6iG(qNBdwK^^#{*f37z3aQVA9$}ZRn@R;kkbmNB;Z4VC<)sD7xO1SOwwq@Ug$C zuI~>M-*U&+``9di)swJRJK(UF)&rfUr3rW~&+B_h)p`1O)8E>riRTA3`M0&Fz0B>; z*cw!;4JlM?Pmy2Am=!dkZT#GM_Jl~UU8k{5L^K5-Z*lNhU4KHrFs8+|wx&wqE+Qm$ zlBnR{5fsBi+pWet#Sx>IWj76s@ywq!F`ss9)Da7i^FLDq$2m7y7ow7Apq1H9){D75 ztWbHFu(+a8;&==GHV#7(;irikp5fuYAc1o$4YM8vDZNJ((YZutc^e}doJlWjF*T%I ze`HY8+Yz^SG6V?2LEZ^1$?`w1BJ1T0u9-yQSbtlEi;iVqJSUfGL;5#Wh)w2yrwIpvJsGuIW`lD8>{aiH=`Hx1HH?~)QtlAKM(}wEb zA(smEsq}sVQY>8C+-oL@JFA6b{$(za=(5Wv_}*5m>2s&C3FtouW}JKI+b>Uvu-v_N zl&QG@9G<)Ma>D*Z?az-nP4yYHRN%};s8!C?@F~Q?gT58nn5uvc!nc{+Y&_j4?{Uia zFEF2#m@M_#mP##MsMKd$S?YSdp;EtINh)Hp)J8)mzf^@eN~dq>hCix?xAJy3o;+5G zm!BmOF*^0>rcV8)iXtZKbNw03D<{9vL#o4<(>BM2O6&4{589Jq&H-VPam${0^Vnmk zn{EELVy&)La3@T`o^dyOy0GqcaJ}@>R_;M?1N2h(-K$O9X7lCOHphYtO3MOGSsD;I z_p4_;1|b*%>v#`7LOv%%F^2^Y0?L0y9Xc?!E{5TYKdqI^l<1z{8)g0Y;v{=aJK1A9 zkA0gzUgVEg`Qw)p@q^PoOK~;#>R5FZ5UJ4$w+dp4CI}u6BE#bWv?{Y6M-?_r;b}-P z2MIA9ivzIo$#~Y#lfmuZH5>E|{cjoko{T;3NjBDS`AAtiX*&TcrAAA;1-pI5Yxiph zWtNa1cx#)`NaH5}s=A@lUiy&0p1|IsU94cBKDop2PH$>jxf;-$)XmXNE+|F-h;f`} z8%))>#fc{>By(t!IImwaOF^%o0r309S3uDWCqWb&auJbXkCx@*gercJ`C|$KcZ!=A zjWr&DvFeQcjK0RR2rY-L-y>`FzyG_x3KgA^UxN~qwTyrX6foAS#LpHOHH$MB!xD_5 zFK?;suZ(*x1B;dqERumiHu1Q@@S8hOH20jZ6YK6JZv*oNUOTk5xlndm;av31H|n&^ zVyC5ivJF14_3t(-pW`NdSGgI}y6a8|HqKM%GPE};lTUtTG(xs3v$viKiq>xSDvQIW z-rvyoY{;l$sbb2}-@xcC+UJGQ*iTT=cvXCgWxB&R*y?!;wtCY!TfJs31;Q1eyW3ol z0JWH>YYI;n8(1e1r7gociObpjNgVM73Txi>YN2R&hihx2HXGy)`)PJ5@ukBa_Bzga zfHXsl8#yWLfN8QyxN%UBbZlQA)ndhi5qF;m$WTBGe2{VXBbFzaad^#vF!jVoI)O0t zPp~(80{wj!WOi{Qzzv^nm4)sw&F-dbb_e|sD8&Fl%VQvSQw#|9AR`+2!dfFvISl*tuy^!ams}uX%^6M(SK$#(>dlrlC z8Lb+759?t$vJ-{e6`uCod_)3`=?M1Z5cWOr#DJx1QHqA4N6IK@Y@$- z&UD$)uU>*W_}6XE7B><^gGMJbN!yVF1rFR9;f(A-uC-6E<{5qHsO0(c#$(V=M6^1+ zJgxTal##!-%{*JV=BRaw0e%4b)QZQ5>qZP}seKc-*U~-q-c40E=)kg}n{n2#E+>|1 zkO@Lx4vk{RbA=_{@n`iyzt=aQnt-GF8Dza#&mu@H;Hyx@duIHt{j2N#eU7bcLhj$c z&8;Wp%(k0jo^CPjq_q<8bw!|bKCcdWX^dZhlwzBAN8R7&D8#^(WQ|_z?1#*A#5D#a z#s=bEGWeoE4nKu9u0!i8u{&`5gaf0z#FzN%`*{;^oea>;FSw$x6~>)!|2mh8YM_7F zd`&dddNjDg>oL{Z(>gc(i4E`VJd=!0FoUAaOexx6VU1{egPX~JG}I(fc-X<<{V-rf z&)LxUGt+pc0VWbFq6^>|Ul-rVLSOfqQC!&!lG~`|CPG6yyFz zbPY~pA<@TyFK4V5ayBAturQt6sk%a%otgN+MU%2oEv$^7R8jDk9+{aU%5*}R2J;Tn z=k7%>xSEW!n&fC*);$n>!^-+xe-Jw;#%@6PzmS(&RC)gd#gQg+R+*9EO%qrv zw8-2A8|=3BN_Af!h#Fyw^(uR@HT?jL3l{dy+6}Ir7}>eChR=uHQjbK1)S5`2@$ZoybNop8O4uG z*c;d>avYn7(8?sPR1S&yj=LL*eaVhX{KI(j0jHYu(J-*u*br@oEvM zQszB9OeqI^6l$)g3!GFY4!hdXqQIO&wN_DxTS9dku7RFzh_j25GutWcI@6sJpyqy* ze)3jjjEi^&ij{%2YoYd;-G-hG(4+W>2H;SAr?s2OYg<%X@}v3lM~f;P(pm2V!*k+O zSSvTba8)d9UCNb;$G16{pEk{i$Jksu9dwOR@P2gAwUB-s4~`q!U=L9v_k<$N%e{Ah z!#^iQqavpGZ!s$Zz1{gjYjTh1kpSuhH4jd= zE1Zdem~PZ|Feiq=0PAc#jU(Tcdtk#0@qX@I@kZ5p!>{6g$^z?|6TT5Wi5PFrM9P{& zSv?n+zeYLZRA!vH)~<$@?6FOsEvrUQ z?aEUwhSpr7Jz{yv?Rj9d10y$D( zVFze#V9C)rpRzTFTmbeeDLW;Zq)t#9P#LIv(KJlb-Da8_H=vD_jYjmMpscJ|5&D%8 zv}4*jCE=WbpNEk%cHXh%kNd^Ygl90HdQqnS<~iw`a#Kk;09VralrC|npa=PrC`lEhc5( z_!bwmTUvnBq^KD;X$`&*fkyp^U|)HConH7xn3iSJ5lA}fTniI^K)q`b@7D6Ae?AK# zU5*%mhgnh2yDfjNxAt_8`iC^?Aa!n=I;lG-nHPH4(LF?WXri(n>M-@N!#!-St##Jc zN&>gu_SqBS(NhjB&O0qPOnK*)ECJTyPm@79zQ;B@kC)hV3_O(<+d695ws)6**A0f) zoHDfhf_AYo*0j1pTEPxUyHS1%TzMrI2OpM*5?d@2ozgi1&&#+1p&jD6u5hHB=W4+< z+GXO$6jSpNcR$%R>%xt6n{L)7uqgVD!y*FOk743aW|27ebp*N#OR9eczJXSXhGP$< z-wF_(8)b*mM39aIzwWTdN`kTT^#Xp0>1#zllv!@ff=fAUVBj12d)7h?FHr;Xg$gg8 zokMW|>UDoQj&fn??zWBB#_l+cc`xZvcd}8drV^v26648-$Ycz%lMPaC)*wV_;YAT8 zTES~h=pA?d(3fM7pv`*#$L^>lFz1~H0+p4OSX<^Y#4j2N6Fu_Ja*PoK*s$T5b8 zr;`P`&@369Eq4{uBJ!stPGVjs#Kyq0%?vvti$p&I`Hjp5Qw2xV%Xh-N-}n$P?`rI)YZzV<&@aBa;pnwVuYaY05CD;Z5}$Y|`t zLZKcP>JKJ^xI}4t~)M^>!Hz}MUyqcWO;z`?2bWl zZ|i5d41f!BhF?s7m-jg7u#e|${mj{nCFuUOdFR|Y&nmf#`&>s~lITmpXxWuub{z<_ zIr?Nfny75yv?AVHfeF?60ezOMFMJC50xb$1ym;y-XYOdcTHe`rS*%1m(yw0(TL6by z&>B=ln}gI(mX&0w=txZ91@6HZizq%ErB>aD$F4vj9AxWH_zFL%g;mMbDdg%%uBT;j zxscRO?#kvF5|{Bsl3KyTpfY+m0@;63N-frjY%qkIf`HaCIYjvsC2amwvH4iHQ-zv< zDQ2%}ZKqTVD?*9R3Iwd&_ZnXbYnEuoU8mhy>iO z!Nsyi)DQR&o=%TG044>XYYs^YJ=4?@dqNAY^srlPKBP}-jGN(0*GhuSYXD4q>(!*Z z>m+i4NhDf0e&@ckAU2k#q|C6`uG4swJhZGIVss)!)$dyIK7W z)bH*#P`~@UVb<^J`Wsw-d3gi%YM>ejmJT400R%FDVCevY+ZqV65d_8vg5n4Q89`7S zK`=K0TxR4e_QQgy4R5VbSdtTUkDj*u+6&s`OO%jl3Z+ntf=Z2OXi?!@+acG`5|=5g z%-Lu6j;t*GV^zC$Or7r#@IGtMN0;I@mg?NOgp$?o4LGYs?(eJH9P{Et$GlK6X-CKG ztC)6{=Rn20&0=1vn2RjtwTijQV&15jFImjd>b50MomE>NRx6=;+MzQ5T0y3&jHvv? zii-Xef=C3wWNbe+@FnRTWIE=0UbQ|P7o~1Qm;`-Eax~e|u{04n_IodjrOD8-&9f}F zo#!njS?t?9_S<I=p)%2W6G(4`qIfyu~_f}nkIfg+gHp2 zU?u4ZAE4>EbZQ5#0rRJde7| zqwW?)-BqLRvWq`s)Khd}IzQ^^l2P-zD2)3RF`#y-dBctJ?>=a|@oV~5Ouc4b#dMM0 zxn8LN^=8$5;-!v#2IByY!oUfGd-5 zOuw=OBVfv@5B)nkUNx zUQ4svrRN|vOT<-6!985FYzs~A)sj=N@GD+ze5yb%SSh1XUoSII5j{Q=4*i9<*5Rv8 z`aoM_+)%C1BYbYCBuYE~C@%rt2Q$r!BU~(_rpM39wcp$xeYjZD9!0nOJ%HzK!Ru>? zg{z#Fv%YjBsv1pJH#!XXHkQpd>08E4)gv99&AhYvXhgYU;;%i$u(D%4BY{~e2$mv5h((7v)KagCsA<#}jv@5hRSEAbc zGb)p)`|Pe$-|6nc2&r3UW`_FIrR~49w&nrc@-u=;=LuyfLukp+sttHws8&N|s;5p8 zZa|Ms4aFo*J9B)$@KDgu1gaq&T3^F{8UO^*hi)w^Xr_ip&H>pkKH@drlkCx=-jq79 zH=ppoA<#Sla_=RKDSv|}wzSP&n}bQ9y^!Pl$;wMV-YKee?JHXP&jcyc=8wtr2pF{<3qq_ucB*qC`%Dn518;r zC9as30lob9aI(jcB3{lb?ODwWb_I4@^RGnX(HH;Oo^~UJX{AY(i7jtS{d-a@e=+r2 z$7Q}4qvFg}6+9mf?lJ!IwsnPG#;CRl4Jo`_I{oqs)p$1nbDX2J-buV-Fc_#;UawJ2=;WAyDkZr zX%Lu>eYe=Lla+%A?>Y_H2?OJkUoZbNBjPLIn`IFr1O+idAYuf7N3eI_>uX+pu^ku= ze6jyo2N$S^cE~TVM&hxz;4>sgC;>gEBqB?!fz!+ym~oBSDH9gdN^*Toxt}{`_Pwd| zg^pc;$@3G2%G);Meo34?eaPxVF!&j=pX*^!5hku!(<&szt^=!ii&ShJ?Z{evfJbR{8P;(I-9kRDAIhJjVEWZ72 zsOo;}>Q42;)rZWlB-QkNjLL3W!hN%6C%T3s{m{}6ul2)csa*4paAp+Roe(sU3e&;j zCFLA%RRADvQI2?A7hj#mb!oz;b$#rZNzE&!c%0Jb6VQCwsV>8}^d8c^V!A5H>27)F zEVSA#&jB^_@mLFS(00N;Q0+X&pu7x<87A0GWj=tr$BDce{`J)FQ2qLPXE!%f%*|Yc zNF8xt7I`-Ry}`1H7QJ7vO1>Cd*0^td|4Ib;=gRl5wbM%Tv-0`3^7a|8Lva0bu!Q?@ zT1hL1ajIZy9URmd1F7%T*~>5Y3gQHP4_()O*wZX(ef#nf7`ugg=%|hlWFcX5`|EUR z!iGvP%Ka(abuTol+wi{p54F))Hnbbtkc1msGLvs;Z*y6DH&obI?E13yxSxLt2{(@E z#+GjA`m*6mdl?^RKt`@FEZzRHrTe?fOZRuTuyoshwRC$+mu^p~`rom1Uyl~XAM(%^ z5;nKH)1?U;D#0js=hBtD=Znkg-?g!H>E76eB;44NnS4WgOPB5q6*d;TzO23TdoA5t zyWY5|>&u3Je$&!T-`^-G+tKz3EpY#h$4`j*r|dm52B$(QK6jo!SS@eM^QSmYAFMK= z1j#||%CjN4%Vo10WqY-CcDh=InR&`)fg70=x6&}=xNM`HD%ocQEBM+88c)jqP*F>@ zy~?MPi3N;~+Z&JBP!R$ipM^WPlPoWm^a@<1t3^e`NKjL7DMAdmYpP)@I|EmVj65gi zns2E%>(csTZ7AT&o%S6n`LO$AWU)Jx{yCr4SXX_pR<(ccICpR}! z8uu=1+`C#zm=cE$+a16JfHqm|m$u1~o^g%?QAebOGj2;BDk)Oct0vs;Lp%b03SxT_t{0p;^ zoNYR5vlSn+`|PmT^6NAeFE?;IX}3;N3(~ZYW9#*pzW)JnW{`@*x9`46`v#HzzvzRi zrsT8MjHlhjzY&|7h$}Ir!J(1{Q|#g=J@-9}uz2tp17aNq8X|kqeFr~0FE{Wwt@%ar zJO-~X@m?{Wy*9dm4-qr>w_ik@et9>PratOfX7(=b`wvD*d>$*WrIREar(thZ1Pvj} z#I&ubl6paIxxUHX7n2pox`5lWua_(@qVU1_UI5GZ@^-1qyq>ajhEl@0uk?JB`SRq* zM;apIdS&i>8j_B zz9nsY1?d0Ya-7ha&!By#TVK}shqW#wX=sPqk5v1I%iDjv-I_Q7owl(=!TB&`vZ4!mg<-HhnK_G z%Y0o-x`F|*y)R1Gi;}Sye|=M-E-2U=wN~Ss;mdA%3drd$qsZs zu)7URR*AJ*TzgiKAW;Zt{G6i=86<-lcAa*v3#t7xw3m5jXl33RsPk8e)v`;XgyZXb zyeUNCa>Lg&KwnX?nVTwWJZ0*^F>nEvIy%WAm7kXF-|Z|M?{)f;?|rZo9-&w9YCUzIxfh9}0aHW3u(siTj|L8}5IG9+7ZLFOYh(g`wWH!y0%OdY z4#wMmeO+u^u^k2Cl%$!`8eRdDW&jSP032Y8JLtiPnfU1pO5CqpfR0;Vt=YM<(^}tn zf;+^+*dF!l`xlVI6;&ah423l)giV$y2W`sR*BL8u)KEDb>z zI=45-08@bz<^WRx158Cu2!JWo-m%f1TWrrQwpY5Vy)Ly!3$dgd?Cwr{zLsh_r61j_ z#U_nWx9AmHgksfc-eTvj7TcnO+|ezzcSE1A=bBFEN84!eIBT(2Y_XTOsMsl*XQo~0 zx8eZS6s8RP*k_1ZmFP;MYpX|2^i-lJiJq+ z+k-vYru8jhV86Izq?a0aI`3h#s=CTl)E7#lp0UE)R5V-d7au5D+z^*h?F95IiqBQ~ zR~7x4^9|Y&*HQ9b9Jh*hF*4u9?e{H9-o@>&Vt(oy+ZYiXcF^4RixeJGq+>01(BYX% ziGSluN|_Y&tWn4pe5n|0KYfDNfgOI=S?3)!!-O|Nu(A86IWGDHl0C?;O>%4X=r`Nm zXXV-{z5l@_X60RZTb{yq*qJCxJKeKBfVDeuDUF{#LMzXC5z%Keh7B%mc(JQU?oPOk z+ktrx!hzvF7!>UaP#t>L*8$t$<(FWrg4e;(RXc=&WRo6!`ds1FvIRXI><&<>n9gcn|~T%{opeMB_jw#ru_N~eO@ zS1qe+M|~e)-vg&>e{t!Ivtmr-sVm$U47d2+q)pVts|g5-mUy(0DKV}#+5jUjZyPI{ zV=8*QEQ4U1k%}rzT}!v=&kn#GhBe=5GY;KI&+rl;?Yn2Vg$d=!>{T(tye0SL(KE<` z;9eW+0$Gsg%T?_wf{kYveMQiE&)r3^my8a*?Iufyr0FIsN-yC%E`)d?(oy(ko3}y* z36IXYA_rDS?K*ETb&OxoQt<%eXgpPgGc*TU{L*pwtk~&N$GZ!-R&DNiR}8}E%&0-o zUSHEPJ%3Gam?oxOJF%-o0{S_n*(O%V0IAYt8~EAdXAe!eEWof^G&UkyFeo^L zi=SHgWCFX04dcJNK7H~L3?q0%pmT(wQ3ucQ001+lhY-rJC#}!6rR7;USJGB%D$Q)W z5*SJo4?6p<4H`xT7p14{U-fp^@GEkY&3Mqb(5@-IWg%KTIus*4XECn7Bu?G<<={~# zH#yGB(WBN`PjL?=UJ~nF-sX$t8M|zwE$qf`e_iy|Lh*V?z1VYC7zt5k!xh`=xp7qZ zLf@4rm!lR3wwS5UxSC6{4H;XTm0RXoD(A*c8tUuZ^A#LJtlTKaGQ32)pQr3e&MKzj z;-i<1DZFJ&p+tqZj>*i_hpN$BRZN5~DO*G#uhpN_<$vqXp4Qhl*4L}G`o@+-H8!8s z8;!?}C2M1$;zx_KW>6Ft_ZBwnGr6wu58 zz>3Do7)wdQFX0JNxN%$+a1E~15a=4*vcVq1;p9>a(hO|wiA<2ECWv-Sp>|u@2nX<( z&;ju*1;Kqr(6^D@@j%UW?Ju3 zipC(Nys{2*sh%#i>PP(#aTukmtQ_B0Rz~!*wsr(lJD4%0_M5tI`>?d) zOiU`Ba`qOociG_F$llf2PgQoJ-l<1E_b5XY`w-%GqRuMwA^ZTtnGh&)qB>y6oa*7p z7{0O2ottI@yrVj3&C3`+*0~&G=2E#Kmm3z!JrfZfSU>4T+gX{~ZOZu}>xK|ZAGsSJ z@^0Kw9Y`nX##dM_N3v5KEb1p``d?B)CIjNem^1qHqm-Pc@mp++Tz#oy)Vn z9To*jKn$A8v$?$l3YGHU5;+D8z$EKu>byBf(OX!_2F^;4wKi!;hjoLpXZM2Redc^u z8upUG5l8$SBU&;@AWN*R$%WcNVki)-E}V{4=4V4HWxMJ5SurbJNDKvxr0)P8c7FP# z(w@C!8qG?3^Ya%fToTYumHGLWN|!>=nw2gjs!Drs!9 z1KzJi@LTWO-@n+^2K}Fi%&C)}!v^UxwWdWK3O9YQD&V@JLNPT|D5jI91;IS6g~a6lem}5QEskJ3_(J^u%Hus}O4U)xZFpQhXGm(G zY%gtGp#$&`#9YtKG8)+Nmmz#d%gS;>^)Fkp8GU@JZQpEHfvw9- z-ZdO+n!mE^YrGeGwHd|H>^z=~ALuo(s(_Ebf5Er;>e%wo+}2a3-hdRY!#3Z%i~vN= zZk}QXDDq33gB#6(vTsyug^H3gEWu}i=D_oO+mYa%`CL~rM>GR0_? zyh@EDn!#(g_^J)pd(j?7Mnu+uQnc8P#{e)?(QnOYuc!;r&G4ZxkF6LQ++DX&U(8jx@>)uaN7ezr0_?Kk^|M1v zJMC9(v#TN@%SLERI2#(%&xniF_x^RGth2WK=Z*)YrsodG&{oA^hq;xK`j$%lZV6)YOGXM-QcaNZo!mz-i(+ngaHBuLtzSG zTB(&TJ#r&0j+r5*%%NW}R0;0^FaFFZ$RE1rdVQ>j1ml_b1p>BZlaK?^k@<=RT_(O^C%yV=Kj* zs%ytJ3NVV<_zU2OvIoW)1T%F}ZeeQ-R-KFV&C0?U`aFg<#!$i-+A@YxaSWw9$Iz>z zqsLDy9tMwN=1_1}7|--S8V_3@>ha{ueRLzFk0!H&OjCo%=$Bt%1Qvn_gH#);P8oj~ z4Vh+(8HGJIWBDc`abm6BaR~W6h2D($XB^Ww!<4UZ%l0``QT*Dcfl>?giD%`@UChkU zTMJGN2e#;dK(!&ei!@S?V|d`!;UUyKE>a^*=>QRZ@ex(GvnQ0fxWE%qlCTM^Wq@NN^dR8vq-ADh~YA?>>GtU){ckl`pI8Crhm(Jb!~ZmkD5-d!OFdwuSe_d0y~&cL7s zz>P%cN zk}z9o5iN&k$x4f47%A#@Qgd;?xp8r8-R6MxK~qNdQ+RNvzp!TwA(q{Q^+s;n6eh}! zcR%7!ZT7M}XB?vyTjz8Brkq+iNSc`p0o1zjxFGD)r4A42Jk){HmquXtve06EvBg5! z^OtkY255GD>xnrmx#m53SsaSQo;@xK!X(yxT;z3?R?xGe9Tx!Og&t90|vF&IR;2CtwHd8Vyiox&eb zN!ISa=&|>pmSY`-IP>0!-M?eKe+ri3KonR?Q&!Ti3lw^)JqC4OLV4JZ>DyxA#jsdHC+86Kf@;3I{ zeAA*+Vp}&gGLv22=gV>}s&5cW*z8MkgV>Q9#FBL59dHp3kMO3Zl}g!g126*wGzfaC zgfB8%K5A+CQVlPHz?aGZSD+ndNcBzAL!i|S$e8P=SRO6Y#4YfT{ZFiA3fMszViZqnFE1BDpkNEe;z=+~IeP11% z?fHZA#f0l%qzD9OQESC zIu{)COqF9E$dv56v(!S!U7sLWmuAAhZ>CvTzANs#FuPd6?d3tt; zF0TYUI|0p3AhXj1$fO<nwH?w&NMEqGGv+2NM!Sw^KMOOs7QP!&(Ifsbm5jc38HQ%~yLlLU)Jui^%TqA8@+iJRx(k6X*x|iUtF# z0~X~nW@E1FYku%@_gN}o?=AmqzvWaG1Iu}IkX;J31~{f1Ct+b#Y=dlB(IA-&4&T}9 z(q`7%#=m{&+AQsUm%HEPKh=E$UllmR<=xtPj@uUcyKU``y<6TJ;v=*b4g0RnAlQYt zgLRH8ln53J1jYP+77Yg3-sUp;OlPfO6C^j+!2*keS0ZEONgF z=L=%G*~87D(tiwYZZl9#N>@*owix_Xg9ds2{T|@+rZEC62O?UMK$L1RJd7q~-gp^W z`RN;hlgm)4A1Z1altq*8chVxu?;7f=^hHi9MAJfqUhr(wv|UD2-;r&x1l|2Znp{kM5Wbzz3&botkF;wragcU4a+Gy0THq7;l2W4TN8 zqxC8v+!U(2BV{^#;o+(eCO9a|cib^994j5;!qH*#_72yYR6ATB--OUic`>a3@cK!` z3E7LZF{#nqq(=W+CbiO5W-QsnMspJz{msPw<&@U{2dA?QvZ64d2GUZxoT6dCk2}2( zD=y2lZCEtmjxz&p7z4~v0ajADCVR)j1Z(0OYC9p+{Cn^mNv|UjY{G)3kk8jn5!=AT zOxX4Whp|vYpYwQC_DMBonGe#7Q@I8h!?^02#5G5^C~Q!gW+G~k0j}f&%yr04O)Qsz zGPa5rR2o8ki+zOacpekfqN_wXzy1!L3$~0nA%2B69^M$~^<>uOf4FA8Vb?|7N}=e5 zQS@lOXrwyzc?82?_9^XHeO&gu20H0WVjbeFbW2LhtYJ%}KAKfI?Tz^&ujh(*m8?k7 z0^P*2c$r$O$ASMK0@6V`8~H%Tuboy_AB1B@wir)Fps0zk_GS;#0O{Q*D&Fm<>3!Yc z7&sv}v1U!@AmOX4jxea{f=x|Z5<>fION{9Jmqbi_WSP^4a~OMstWmkP7D6whzE^VU z+a+gs#o*!W<07Pt?5!nww$jQ_|i%~V`&g2yE4l@vZ=Pf$$F?vaHed6qh`rvi;$DD zorQ-K9+Vemu}*IS@|XpK(H0x#OpAh9C39`DvCi}l&);Cn7GcNx5SNXEt+JlkpqLWm zDV_5|N(U~J*$WUPkILf76=`F(x}!8QNp@M`%hj%4#e&h2vcUmBSBwRGwk0;78owo5 zFn}*YDZa>s8Pkj=0PAr^gQYb|yekZxrW_lx#cWC|OLaCCNS04ih0kc-hgmBr3susB zP$gAD6?H>Li45E*5wD&qc*ZaKVe|o)xzq+c72e!VpWEpd+7bWGSv!5Bov*t3&-!5~ z?HCRHhePSIS9hN5-|sYD!wN28PQL>Z2M(ds8~So7UW5!8OUfTwTKLdX^`WKwq1`B9 znfuBD{gnmy%1SU-8`xhVUeBBjE&+L=TqlO@EZ|QmJb<6*Fn8G8TA#;aQJ;!gyqguj zNEeH1tTHcO@?rWvVn?CG8cc49@>a`f7%=ts6J#xDpR{xB6Uee!73WNZ@)=ZAdmbu^ zUGLFmLme^5k`C+k&nRIqPruHfIzcpL`f#QI7VgtoY<|S3Rn{Md^k3^?$<913i`;My zV<&zX!OFDY8##Uyf&J?K-6VA}N8R};>dFjFQU@l;*7<~%`ugMY!}F7hJU=NvoSu{) zS|gZ=vXRRj8DUR4U=^Y^8?DUn&{XhbZQmJHEN$(KyNUq8KGS=+O!%uIwfMcaiVh6; z&LNdM2MldGhY{v40|}cd-vcrG9$-zI6U(D-ViNKFJl5>7U*2i^6-V{nKIUicy3G!$ zIgf%3FaRlUpzxQny1BG+KR#zyM5Dy7&Iu|b;kx|4KpfEG6b*VXIARrVW*;hy<;URR z*hW41(bB~Ls*Jax?W{9T(=yqjmcbU;W{U7gq0l~*z_bs0Vh_b`ex9AmvJTCxeU@D$ zoW(O6_U0>C(F6DB!;?WDfX<=Uz+R!~%za98#J5^X>?wlYOh(J&Ulh{*qmhF|QoCNx zv`*nUb&1w#u5b!C4akU17@X_t;}rfj?P-zeY28C(639gU(#n+aUGDaAiGgHp8!1Re zC0@OM(%P>f{4k_7FR)f$#*?T|bbUlre@`t;FaGVrh1tCL@ zc_-jJY%a}D{mgD#szvDFoetu}yBL9X|NhGgo}j9W2?JljE@S-})e1$qEbsVfo&_wy z?=RAN(O}qs_Rx02Po90837Sd3j|Ee_J&~u53^Tm#I-Q;)@zzQECzuVkM2ZA)5tp0v z*DEtSV#QesggE^Qqcxh)!?Yp7Pu-r?5pbIFqxEf|o3yBW-{}B-q!I$xWU6pYW{d>~ zU8@Z6WzL-B_A0AEH3SIJZFQc^)w#}fs*>#Rd(Q&W?R1YS+UC<}$~pwJVbW_6tQ2ky zcOBJ)dQjfh<7t{LGfIom^6&aQVUCv3drZUsV8gv&vEe^fT3{Vg#W>K?G$>8L(@?Mf zM63nhvpQoI)TKD_ps)bAA>#`e-&4x7!~S%h#5Y7~5mlvJ(Ecg{E*T59MDGJvB-IkHtSUshC7R)8aS`5> zt=gm*cg|#TZ7nXI)`%$30(;if3HM6+r9;kAXX|#sKEVqQ=!H+EDX+YZC_wBr5wy{p zY72dtv#b0+(sC<1i+IX^)$cpk##};gqE(!>d<^ie`>*{EdNTp-V zG~b#=qIdvNMM3wVZmJxF&gdrG$5e11UlKXThW-~9$~6eSJjFGPoG$}t0D?e$zoiYq zBaWD<14y5$DPiS>gldX@BtPx5aj~X4@E&$3mR6(CYA=)gSvyQD6Q)flq-yDjA!AxE}We>Qz z@K8rKBy#XVu?@=DXw=ggjW44|2T1v!SCKW^=Wk$eNFAc!r%$5zp@Kt6{iTAhe~Vto zl?s28;8zv=YJKn7%1oxK;=YF*e4~P$4Gw-QR^S(dX)ze7U_TK@*u~UD_e~6a#>HS< z%-mDK&!-$bE2g@|U{DP9i@{MbI9xIZm&GhzF?e3=>9iP}6*K=N(*nE9o2z0af65UAaX-;L!8svYNv_a>_xj!j#zvpUkD7Wa-6A)>lxA6%#eP z6!9}|lx>cuE`p$AEK*5xv$PaQ!SguxW^MB|7^VKam{{_JSbidchv^si>a8&i7Ub`i znaS?BEMRF~_LegEwCpYE7%RBG_O7o-0vD;)&YLlmOX=;)gQp*YY>vBQ_O{3!Imv0J zJisZwnW6(%iMWu<1EC6}z;05@y>K#|Q(XBU`q%l)LRDt8MVf?<_z4{|b>*y*p6f<{ zpRb7cCc5+LD^wxZH=o#z22-B)ml5KdXZFVd99cH%b>$}WV&pS|cZn4!KaDwc%l^@@ zx9oMwL4S|wZvzjFEj&JXisy}Ibp#sEwm9k8lgFI6`Sj^Jr>}2r(h191*4OJ#>YVFw zqrR~vwQSV48c(*QuEy5-*3&0XrN$?Z*Pm@X+mvcIo;Efg|G(6|3wP7XvMu~qk_?}0 z3Cmfw^TdggVZdO(Kp+7OoLq)v%dtWt8CiBPg#UhPR&`4)$9b^UI_JCJ-iuh>YW4eB zT{Y*!?Ycx>dsy9G-`Lq&mn10Zt?iBV+LolVvAwmkzFphgsY_zj9~9@-_Re~JEAV;` zPpEdNtR`6~m0jOoNM(Guu`+NaMRnGvr(nbRMw|Lzi~dms2Rlyh4gDZQP{aFL9e>vG zX9IsW@n?(De?OQ0hxzoMNr3Ck7r52kVDDKLem5wWZEEZ^Jk;V8R=pTrZ9svNiY5T-l4!+>r)v{Ij4(10iSd9wl)aLocZi!qqWZv}mZX@?NUg*^aU^{0H~r6vUZglZS$DUg zF8#0Hf7W0t4LW_?ztJT4pElg0MCKb$D*Vd{4-nqNEQNVK?P#qx^peMPerl!`Ko~Z6 zaP>BtjE5OjTNs^MwVdc6{Y_)vI8ld`%2DXPcOD<{AioH$%f8Z^c^X+^Zg{xmYZNARDOVdF6KkB90_i;4~{O--0;}xwa1F^;DJfcqP>GA8<^JncxZ{Drw zMej7tzol2#0(^K<`2Ohmqt5f!&-B~iQ}OG$*WEnvC+}aq`n1A;4|#kaTAi$D?Yw9! z?^>_kd}u!Ew7#~UJZl}T$QBw3g|D+P-N$c`OZD}W{Kcoji}z;!DZMtzM^yw3+ClNv ztLLxT|G78k-|Vvgr@S=J-Zc-~U%UE?xASj4={HY}Qt6LWbdRpR`lMgIGhRJ@^Xjnq z`1mVlb0p}um zO@{i``7TUiaD&S2rKa&@#%Z>j(red)9cKn}SqZSRvMc)5v;V4Z(5YeeSAF9ODoel; zJ7|_`ji$y#iwm2o)`JbTjzhB?dXgy{Ls!`_+Ed2SBbt0id(GVut(U1Ad`W031#zQ1 zg!*CXTG1*UF82278~gi|5#P1a)%D!nansdGt-f<$rR4rUwTJcWT?0N@z>*uOfYJW` z#{a2rRP%uF$pW_BPz4P4_qYB}eba~$K3Tx{i$_^>o3$^U6T?xu^7r;OOrI%za@96{ z!qu(ylN=<*MfOqTlfPfS8*)>~%T_IavK!DE*<#`(PFX6y_Wwzp|4~&M#i2QAU;*Sl z)=PChM!Xw!krc@@-wM$}rf|kbZUuiUqH;CbkH@R4KVzsv!ne=Rfa%(Itiw;Rr=m%$ zWu-!W_l>mx-ZoPX{f#XO$m@VZ;LO&LFb7K8dp5zTisO1pBj{5AybnslQJ$~jC5)H!Gv-2^;1HA!AE6*xN(mgFPwJK~Z(gR#}!w%)|LpvU1wfE@H| z@(=10tlY+i87wC|c2MDolPsv3$_{MmA1#QGe3F8Xts8DpJY^xV3)cGkz(nM(&;t^b z9l6$a8MXykE6*sh|Jrt<{dHUxSKMtuHYhX^S9+melp}kt9hcqV>gs}kG%TtImF>p1 zf#hf=zHCs2(>^jg2E^Pst=Khc;wNo3-wXz{m|+Yh#?5BiKLN*mg2 z%uMekdYZe^6aBQ@eCHJHy1d*&OVXLw&MhtzR#GgvkPT$lPANnhC`w-ls$xw>1%N+R zaC{YHR3gW0v$KN}dk^pmBAmW>$Ex>D9rpM_OWUVsDIkF$PkF5#`?fPvk3MZs)FX^y zA}x)|DI>g_C?iH1i5=HIJ+a<|_BslDa0$g{r)4*c7qy4$l*i?gQuNEb0T>qsZk%8w zjhx)B;v5uttbdPt(EOHjw3r;FK#X!7PKsxp)PmA4RKi6xOwBb?&;B7;h4{LpWar9( z>YnpoN$!G@D5>YEN=~Unt9E-uZBu6iJ#FrNJ4q)vS^^+)On@uFkzE2_#m+9g)5U~g z1;p2xI|AF$>Zu{Xs6_{ZCwn_B=8ln;?yN|d)Kvo0;r-{rBfxj(#O=h7H0zL!lGfCxD>KkJxD6` z2NX>sp@csiQKEqESPsnlo+&P+B(&8myH*IL8|&r-V5u0Ffem?|&@|i1gr{`|k%1et zH#Owiv5vi7)c7EO@-6}+Mfb}#W!O*yszMBnk`$%E_lT>qFs|QPdGVJ@rnaicHK3vBcFp6KuNzga49)^&M0tCh zr(U^fjFcbuyS4b|V`WwtD?rfbSB4CgYN}q8pDo5r zi^mL2k6`GW&W)03p`U+8KcA`&twzbz7!>7eUblST@Fi`Z#%l}wm8cGWAg3No{KhMH zj8QXKct|l!BM!wJB2Je2K^i2q+Yi|8v=_%oe++P{rNHYAm(GJ}aLyJJVXo$U8EFz* z4;WCMfmW3W5R}K*OuN{RB#!kw2K)(gr9k*C5lpTK-s-t z0zMM>aL)uJW++(0>HiOu!B;<=lK($Y1{Jd{qbfE!MT|}nOQ%r%Ar`DI-Kz6FLK*im zLR>(b)ce(ieD&PBPjFB%&Rbaw@2P0GD-?2Zu0l(ThMXIoT`DetLE+`+k@%juu&eTO zLmnvIo>gj$mQF`^{u}XM-}MI8w*Xi7Zvv_nhgEVNks9>W%YK5F>l>T=cAMYk$fit8 zbpw=OqODz^*qE%1++k*H1GBMPjcouxL0`0-a=EozsSJNheVi6<+geIE2gHK&5&XYU zR=-pIf7x8804IFa*K*cRoH`3a^mG!eeb0PKd1(p=c zbWW1ZBEvr^Z_A|;JD|R6owzuqQI`NyF?3a-HXRj>A&(O}vRyNV>=Xk<3j9{|z3f6ila z2%$0bBiP*olLkwdir^97U=WG!Sn!P`Y*2lCm2N9{p3C9U%qGW-@SJ>Xg@VDEKFYhuq+(to_egGsE{|$sX*XK z_bhZIJ@g+k2r~5GJvXdbk3*}SGB^3RG4j!lovjT38J!@^t8*2mdvlmnhZ#gShIy;Q ze7`xKC%s$qGl)3U^WLpF`kr#A!`sWILJcOjhU!YF==SodxQ=hHDV6)-T`4*$y3Xyz zq^zib@9wHK9q{e#0Vy4o$MbsxRFN7CNPl32dIJjq@4cpih+5LKUap{?(~7=QzixAG7KVhq?iQS;0)6jxiWOP_aRCgqI4kVRnX)t z)YOGO4iuL#8+K1KmQ3i3FW|CqHIa=jG|D@&|Ait`H#W)~0y4W`Ez7Nc;iH9q&+oIo z{jv0ywW|d@{Z|3TeV7?m3sB#;L?ea{&f_?9oX4m5K0^%cym?luw)liOa;pmSHeHN) z+bu%g`hnH4mtEIKm2}k}_4SdUyLQ~K5qrY}QB!|i=DZyY-A;M*A+Sc}vJ>J`EO($e z@Cnr5+Ai&4E(OXv>RVlG5c*p0>~zY|&YvGz0QC}^0LmI1z}cmhoB?)A2EeYv%&Hu> zhBSn>FNg-KyO4OQb62?QmCG9AS64>Jl@Y4SP!$pCif{+#mMX4M3p8JXL=51azT5;K zyd7K5$5xB>AAB)vHx9SR71Bn+R+ZDcM_4%-lxvNe^OHhQS9y}lc4aS@^M15!+0^;i z$9b37#>Fm$XJ%36P3v1m>P2rwM+61GG5b>~^{XcU&YcQdh-66UY7L5TBNoS6j<2pT z8x=pou}vgTM$~2ydshZY(-abq?mV9;y)qsQBl!{iStKPhwNGQ1P7DvBS?gMd0Np-* zEk=rJ3f4RETs)53p#=hRB|}plqD07N8C{>|G-`b|-aVuKYDE9BPhZhu zZ=J$&xBJazEa1k}b=&FO%NP8z2bgGg5Xnp04VW+G%R#idT7278pDwVwTW^Gn_5GbD zPh)*MU^j}$50L%v17peDkgprcQuKbbE-duQKg(j~KW8Hd$=nfKFUs`ySapX{p3#BOu&ocpO6my@gJy z%|+lXv|KPEMjYuIFbf;1aIRS5*K^$j)0}$$J%+eDj*16jetrGCOHpTW*nDYeRzX(w z(4MOtqgG6KkK0S-<)t!!K8!+rk8LrBU1JLRpDNpw{I04?CG7AFX#(vaGKiCz(MxWp z1;>WnH)DZTg8~^*7@jXCx{zHV)SDJ#zlFG4V%I{Nd2sv7dmdeOHOqQ#X3V$lxGU*s zZ^4OulF9C3_2PL(B*)Ny-=1Lc?AQtk@HsnSvpmHF7ckOg%EuP%_RH9_IhMj5{4`SV zd=Tg_V`>Q2f~zauhkmP{=HDmztpU%*> z0W19T64=g?b9#2_)pc80w@BopBk=^6I67+YlC#No{;_`cZQJMq3t2C-4uHLN$$et^ zywmPspC*_0EXOLzm3{BrN(53>KvcQ*66buAoM*NsHIi(9zbsae0chke0yOe8ni0&g zt)^`3y=&3P=D;`;KwIeflqPM#pcT+rL?Oa5gBFGTJ%cA;VpGU{lt=0nz% znb1*%_hDFm%T@h$T?>_syi!Z4ymCuLH|E%|jrvDtd$Bn;fv3Fl-sId%gQaJQHySP- zg+BvcW74($kP?cjObdTrr%_ISd^fB@I|P4Ae+J)G0(w^|1Mg}IZdXaMKLl=bjVV5w zw4P5=`T=@-lXlx9(T!+2a*s6wf*{*$&P=>nz~)z&lcQyNwT?%PHFPMWoY@+2*f za1NQ8Z>E5G8(JjmqssY}S(&CvzuZOSo;$6y z;O>*#D==>;Mh@oRKu^}1KGzsHTIvP0Bb8nX4=l9+Tnz#6Qp>Pp_scCP+Wl1rurdS> z^zIA+1}Z?m%=Ydaz{hQITA@xsTjL6KjAYMC|EeF*cuL^wrI6!NL=`t;Zs_Bnl87&L z)jbbELpR2kUfB&Pq+fCA^hloVpc1pEt#<|Y?js%ak{Z77>td+9f|MHD#l68+gol>l%MX-cv z9qeJ*W6xZcaa~Ywp6Y;UfkpKO9ONSB5)THi27u!^)`lB6(J*nHCd?r^wVk_ohcj8t z4gg@sR*2rpyPO_&Kb^Oz_RwY=1KzVZ*3j6CF+FhH$JH?l^dR{}Ld(@DsAkOhA zwr7eyDQ}+d_imoS|Bsu;5D!fM;53vgRp!T{!}xr5j(h*0e;O<$@g&tJp>}qesZn+N z7r`8`Q0jcG3u;^L)2s^zyRlT%oaC=2OGQ~XpQeEPHguVZc);Bpr4~yiQ@%hJf*1N^ zZR0`sV3-LeJ|rptC~EhHMFts<$z#kHkgyDeJcf1;jIpE1V`8^-Ogo0d*Yvo$I$_>i zi`F!kvU)lUSo2T#$TSxTp8>Cvk^GWwXfTrad;wXw^_wj^nv`sz35$8PX1Wgd99$ng zKvL1l&5k}Co=dZLUrs3KiXC*t!}qC>T5u&9{2Sd$2*f=c70(Qv68fYITZsT@X7lTI zk-npwBj(Nw%=fBB5GtY#DR{jnpIONfIcnR#=T?8(YMCvQxBC6t?Ane3{X)Lp$L%jw zvHA$yk3NfIxoW1)atu)5Lh>W16bkk%)st5q{gxx1tQA;aT+oEf9iwIo1ai8jp0%j> zp8(5)McL;?Sti8i)VU*Cls6dE7<+TtVIWYC1N91lHW?t9shGoDkhTCyo(Jv4WSlMy zy=k!IrAz05N3NI#^f;a*yg)=W$*js5nxtt=;#(}>ae?VjG?=; z0ga})&u&jC`wW=-_sbX*=?F4i3tCUWoxSYI45$?{g+-ge+X$A@<`|#s>sa=v1G3*sDAn(yW|uf>Dt=?$blyQuUx&zgc^z1sLRb zxWi}8g!VPizL(pUP(3uLjNo7ja4ZWe6_^C(Bf;z+d|5r$CNzc7=3@$jnuD}~O07E6 zMU_h4w!k}2ncE7r7wOuY8ckQIJ$kXI_5cCBpz7!dm1?L{nVEI1HFZlijh1Xe?qk+w zX|6U)sy1s6w>4Y4IA~80ul>LZPBBY$cJtb7I$hLdRIJN*cfnYjs4G}QulmnW_I7hA z&M;Dfru4GF*nIvMP9p<*WkO(Yxkezb$>pu zshQW=-_NVb%Jc2-OAciXTd0lhqy<)qlsP4SX>?>Y!j}9d(oH+!I=Cu&SU~9c{X=*LPYKb5?r7rfE|9(4R12TjU*Zj&Y-}LyK zp8m#jA4P!`jd3GDemve)Uj3xe37whSDjw#2;~=lFntfn3``56VY1p+v6)GsrC3*~) zYqjTeSR4xIQCj?)Ymw7rUF;E^GFWB_a8hfSz42k~LH_`n)WX~!0SuzKHsE#BgYYy5 zC8qP1Ft7ngSaGm{*f~E6Cr$}b9S7z)rVGz9%ibu4y;g95h+08|e##Wp{&B#JXg!Du zK?I45Fw7?Cn(y1RPCT0g40>f7b!a3&T@FNWer7FTH%tp(eyi>kLMVCi_tYYd3XrsE z6(3>;?5zcEDDpmaT3!fbET?AGa#N$_ruS{R4jPIZsaHYEF#%j(9!-J$**%sog``th zvtG~$y2dG^CVP{*R~CV8LRLon$jXS1A;o37O{<4a=Eb~er`Z93TwO4`0}ua4&r(Pt*xl9? zjlBo9pHMQ{4=oiCXcSQ3>gXH|5bRH~;>CP$5LC8Mn%Ps$j9rT-%?$33mU|I^H_d5L ztD*~trccU@S2EA}yrq5_rI4M_W`N&8O9&Wc&^wlHd7sJ#DapT5*;2vh1r7>YeH8T|fvb)jJJX?ed>gud$3B>1C|>VG-fPb?otx`!r@$ti7r;!dcS|YE1Q@ zys;%!qLDNcWGD!b>Pk@>v2>Iv%jghmRUK&E^wXXj1yAj}S@hN3TXWvzui^7l`ZBT~ z(cxgPdeDTm_)4`^UTNq@+Rx*OCdYVuuu`vWY;WwWZ*ARNL<|Wi5dSc3P?J4)@)7cUY;|voCajI&tYI!yB1>DVJkPYRkDXVLD~~7GZ6D z_w^%Mwy4b1Z6Ic+!48c?{n<_)t9WcV*{hr5&mhe@lFm3;1FJu>S`>41Vhc(D9W>=ZBBe+uTAb1whA$_j!c*VSl~&DCD6i<(E9Kq}%116^ z&v^NFdB4zb*&QivLKsP-*7e8y`f#Ieb7_Hew3Wt-bSZ38{{<#ce>h_I*uQhFWS%=RazU567rbz zWb0zwX%>W6fz_Wlf%DLLsDxJw$ja1A({(e>GS;Th5CC20V_kF)A(oJh^*5;gKuj?n zB7nztmIw&hKLQ%S`opWMX^&oZ*TM%-y)NkY={IG*skpkDiTmuqbdG3aE*3`zERW{2 z@rse)X!Lvvl62-ofMK7VtM;lIi@3&27QH~R=mpH8*J75htiEPaQ7xr00gHjKJY$m3 z4n3dI^FTJRP3|FdFy{Wz3d;UIi(gwog%Mvm3_nBVnmIF72QzU{xgPi!I201NF-^vC zF@rv66++uNG8Had?vZK!6N~vzoI~|!^B+xyd5r5=W9NuNl>Mu7 zY6)g;b7Td_*5Rr3>eOnUTF0`j2u9A?x$Ug9Ixm;rdHv8kry>2H=2F7XP#laWAQp?K zAruK|hVBhP=IT=m_LsocIt-S)^V2v9)8WNZJXkt}o$XS~>j&ed(ZoLwso(X1V7Kxl z@h-#YbZL+T!BR?p#xw~TVf@+B^N2otb@&|?{Epf0Ycbq6_#GGg zo}a<*vK|5;9@aumvyq>bx$n^TorMM`>*5+WRX0Vs+H7x`iRs(p>3Z4V; z^b4Ln@%;3}@SBL=Ths4c{NBAbt55uX6e5hpleKIN3fDKc9?49wIP*s9-N1U&6U75C zm&F-y9ILT9F|Vts67A819UTJ_|PtRz4g z-HUe<+BDJU7jFZWa3?oqDB)EX0`Xg;oiUc)(@}sd(8l2VM}8P$cmGIyv7226>R$X` zo)hlN4M}C>CF9^Zu5?*89~SbF$>zmu42ZkPY`C~q5GaNo7Wo}}W@UMR}crDY2Yfa<;5`ohem9r_H*$_%^k8I|j|{uCR*TRw%3B=28Q zqcc7(&G-~$-|~^(3+H3)xv+n{)2Fq$5qAqPW8#(uP|xgH>)0M7d)av*FnGhCPE-{q zi>o-13q(5YeC|1;I!-$po^hB#GG^$-piNO7_4Yn0S8~}XOUm`t)x+=7v&*#`zvJ7R zc$sx;rZcldcTD36E_oj)-gN|fO`0_4%nCa&Ou7&rt*m!<CbUjMy zoH`RzxN~GaBJ;DzMiLQBzPGno(aAi_1EGqIzlX&`{*ZYWebZFto+m{Q$$MGyu_W)Q zlj2mmRqT8}0++ipU0vNU+a#@PM21>iUx|LOFt+t~RkA9}yaw)2+DBcED zKt7=Uj@Gbg>7ubU(;Qt#7KOCV#?z5PEMRnbAxtSH>Nc1nlRaW-v3F;&cbn<_s=LFz zNw7;>8N2jlc;Ze%r-R>ktoE%y{-yvUZP@Mt6l&z;8D(DQwceM}iBsFbgzKgB?4EzX zG)>R#lYRE#8|0CFw{f4=FwYG9lo%6g!c?2Zio8w*UtoeqMYeQBwpj5R71;`| zt6sBp&r7SNs#8D?sC2kWh`)Fzs9luOTTn_*mvZ!F80gx+GjLxArs8`iyPw}+F$}ta zb!l=}yb7GlfI)u%wk4mqR!qC$a!lJ`CPH8|sZcf&B<&DhXEcN8Wu~Y6j=q#UVB;C%n#|8M5v6fDx88kFyhkb(b<%i7Fut=bqNg&uNpv zw|{~bIpiQ=x8fB0r6`bkT`yy&MHQDW?5F@%X8t& z(VX0U(RVRJ>-Eaf-^ll(itsX^(_+4%Nn?b6YlOce-|LM<-^C24=l!jG|L@fIMq^Pr z)KPqi`2VR2H`cq?_gwFC!rUxL?~=^K}-7Xh?<5D+jJ`OUDwy9N?4_=ksa(SM`CtoAtbRO_0B{Qrr{u=-a=6{YbT^>-_={Fv>(db-L>ecYn=j z=JB5?NE%kueCg#;EYm>q;u>%r8GcPG-(1{iqBS*5v_|ffjlhTQs61tp_My3(8kK86 zW>Q|#NTZjOcy(qlfhFIh3O36VkIswo3BTjJWG?7tQF#^1oqt}WZPzm%igbaq- zzmD=R1_lc0A5~(2eF!`$RTlWNp*@}C`^Wa;-Q!g692Hmg6yE@{v}%AwsSa{|6VK)b zb6BTzvc#7(g@(|>4jBJM10;yy9y|i_U^OkJ-pDNQ-rA!cV}|iL=ozTH5lhDj)E!H# zJC>)=a`)n_KcOp`KIllX^rM*fH<>})Jd_Bvcx>+mMVyj(D7II6HPqu!hUFjO95_vI zo;y+Gj6>&9s30k-pl~-JC>8-w3^f1+W~XzSCWmNRqxUtPA!J0&wCvKugW=jh;PBjL z`d5x02qc5yOH7F!37fxqfb11xRF3iYgr?>6frkwO_0chuoqftb{q!~13e_&7P^B7g zt`u2b#^H9HVHNti1)=G->r;FASqlz%IxzjvhQ73+Pi^Q+8)CwxN<=|v38$h`mda7I z-^3yYW2P}Q7ih|&2gw6{SYc|FEbnEvRZdmr3&xSEBov>`CjLYEhE*+w^wl*}N=_Kz zO`HdM({g4=tnAWT=9r)Rj$%4YUCKtQjQR91W$5@;*-a{k=p!x-!%5kCI@`B~< zhq;mQ=sc$TRuFV;z58*pN@;PZV~%GC{?1|}kjr(ulo^%qFi@Kzimk<*#xEWV@~h0aR}I^kKWZFgE3hZXcCXi!rN_YklR3fX`jlx9lXDP>wJ$}~#qo4%k5 z*ODCxFr^ALM)L8$j93z1j97EylmSad@i-l6hA+#tBvRFrO)DH4uf?UwRSfs>yRlV_An2*zxu(T7n#noaJ#neNF?`F{Rdj^d#lO zde!j?hjns6U{>FFXiI16b^|$?ct%L@18@+uPYaOUoek;>43=WUWNi|x1r7TBlrR$H z%>DT&rS_t3@@OIej4e%4rwqhzwN64>$}Ie4;*>mq|0K-8gBdV^k{!Qn_nhzFX(L&M zN~!I<2Zm?K)+ni`W9xiiH5p*zxaidjWG@kj zzA>IdY*#olEgCJ2*0s#^01m*J8NI_EdWJHf{cthdh9ShKgjLkUor z)M76jkORH=i3rxYVJIa7#sh^rBa`qy1;D&$(ZwEY+qfGYaAau9yG==oA8JV`n+=d zOrR+t6Sn~~~o$G>qiiyQz98{SGfy8JZV3?pQ z`HIeUT7{BL)(TI4aDdMU0H#;9g@nq?3$W`!XmUfi52%Wbs%kzJ!0RJGHIJyKBKrI( z075DZ7jgN2d(v!QdPlN=y^WQYu2>d?u+(HoC3I6?LBM`|VP~Mg@!grFt$3bQGv-;Q z6YQ%LW(!h)?LtfT*S^|c8{_Qxy>90hkjw>|mPaeX0BwcVe5!`}`lg)+*~@k7QPAj6 z4ctI_PhzfY7@LXeLby2X@Fr~n%QpHma^o@eD*B_3HqlzJ=xCD(#cP}EOliYl%#Jnl zVA}?Qxu-jUUNNIXCxY!m-YgHdY^7%;WD%+X zV$}es``D=aw);G>x(Nf*>3j{KL4K$u#(JQT{zuV1c5KG z=Ch~EXwct4N32RrOhyT<^%2P-#q?ZqoF9m zy1we$iYhb7gl7ICd^8Od%NS`4J_{O(Q05F@4J}UxAMTBI%jKcXcsCyUQJiD&#yvqj z=#YmGJoNO3fQD+hUA!1rH5b~|v8NAAaoE+>(IYmGoUWY~{afsxsiZNJYHVWN(#GBv zN`zP-MR!D4un1}{2bN=U2M*Fr=ijjv5@7Q+!@^KJs9CfRA47)v7=jaLD?8t@nG+L0 ztlf08%OSuZ!GCbc3sWIEfwc;eb?=I6B5_Ru`ExC>6R@$T7i0tu?yUTeOa^BK{4&$je zzX1-dV9n=`cyIouQq69TGLk7rTt~ajffk1{)+Rw#RF5evpz~0yPtl8*D7}bu?et5? zx(1YZy5^aVzH(HR7L5QPPKhCL|^_H__PvN)&uVXc*pp z?hVdLKKigCpert#ujaW!tgu|OX-{iY-V@_(F9^>IFS$rm7`a$VcBlKUzdNl|Y}Bl% zbhyKSr4z8(rY$Q?L>qOPYhlEP5-mUSs87S350-Jra`2_I#=1v{29FRaqU9t?Ji*t= zQ^{TevhGXfVqFsf1z5JaxRNivv{#2gKK*`8wyCf^)B0&v%VrX zo6z1NYoRp5aX`EL-a#7UrV!VPPStKu?~mP1NH1BEkjQ|O0LMY4rq!?zOM+N(sUi=f z$5W=1OR#yOm|C3mN*jcx6-Zdtf^xDZ$}n^YwJRQTZgYZroQfgAcKep#hI<@854 zr$6HKm6Q)i)<|A5L+2i(-_FyATyu>1>(aB5p>2X?#ueYD!7;qLq8Y)zx(dgyz1J2D zi{;5j4Og*2j4&C?Eki|~p)1YLZ6SXMTzLk>i+g9w@8754_o_7I+!@v0eWKdO5lKf? zmM`~opt5{Lv-(_!{rM1l)&*JpatAj>2XT3}Up*k-S;Mc0Eg3mNyTP|$<)OSB;$@J% z4J>;RVsZ|a41}kIuX81(a+YMm%3zXgIZGef*0Ih5R6mr%ci!$;P>kOdskP2Q zmve9(f>~e>6$JCnW}TIluH|8-{frz?8?x3(47h^A@gF*KqldP(@$HKkkOGjU26g#H=$~dyk)#I%^B;YQMR+OORB8q&i5Zc`ZbF zERAhbi9etS&XDS{z=*9|w-N$nf6i*73jMlrh{+($yMyZf*X%g5$UKUyhu6LN$OI!S z8(lgw0fzrfn?7U2c4$K_gEer!to-+XPZ+kvQBSq(sh&NpXHOg1(`NRxl|60qlh1!s z{u^cQ9`VzF|0bDlD|>pXpK4iNYFS=tSzc;cUTRrhYFS=tSzc<}+0#z;^e}sBW>1f@ zr^ngTlk6$WU+w8i2F4P6S>HHu|MTDfz49L?`0}uR;!+rLk)yV~&Mx}G>$At^`j+z9 zLM^k;cIH!4K0BFDUHLrBeAXr6&Frhb#Jp40KHJp+e734vDxTW5zoC2{WD4#5?`a|WDrB(NoPnK3)>gYU1;-n)%d~Pc8FVS3X%OwlUn`E9BsZiePW#pc@LEg8?*vE79tmha)=IbOgNPWspR{`P$O+ zi_v*-5k%>D=^{vnaUb{=UP{NG^Yi#}X*8UT!=87(RI0#5WEvK=8t_9Y|b# za}iI20y;(-FL_J8cP&4(z}4tjnDf!P!cSSC!Jxc37#MZh z_xYt$It_Ani*YqNr-2cs`yPHz3x56^?C$bt__KF~Ajb^H@okuzehlw%R`3&OkRJs< zf&7>i`~=>kRq#7y;EpGSbl-D!M_t2f)MuoORN@ z4hw$o*zdUDS7N_c1;5vqPWv=4R@p&SWXQenF3dNED&4YPZ8EN#VmQu+_(z5r5UYEZY5s*1@9k^=w>o}M zr{f6B=!Q=7V|IY1N5hbA$oKvns9d`x7~AxxJ!?t@ZQ=fW=+eP%XTzpM#QR48kv0F6 zYp|dhxs=f_@riQ@1GAN*Q2@Z5@d_RM_zO&kRs3CFwi%P8#|lZ z>nd$=Z8^1CZKGC&X420w)wcs~cRa=q=`p@wZ3f?k;*PHDJ^uhoxr1}o{;lGeUfuUu z^M|&i!6O<81}0s_m#YxAp8!JH^YMyPqGJIgLey=>e#-$yMj31oz>~vPJ0hU@5C)FHOA(vlVP{q8sP?{ec=Ea3Wi5-8u@hy_3e>c9D6!@B>U( z@iaBUyyMlPTkwt?_}K|~e4mPKh?_*xdFxZo#?Qd01fMJX)!(V`U8joSMpIeAw%!hBY_`(*gN5I=8d z_;NP;0qC0HAqVPFABOC?@I@-g=o zc7+VWj&D6il5P+1HZ%5{Lq_~x%n<}La~XO&m!Z032)a1a11dm+rOZ>qvQY_~5FabV zhRCoH|Q;@QrywhHos*9AxDGLm9rQb$)wp0gB*BZj2)1@D9r`7UzMM1%HmF ztO6A(#f2AwEQWo}FC^m(8PlsF<|87?3vn@gokm$xstS)XUt`@!zQa1NKcJ7tXRH}L z;qU|^h_(##k`O_()g880nlI6~9UN(bhh|RA1qy8BxGL?r6#Ulj2a)}2XukMO^TF!s zG6b|9{SFawxdl$J)zz@btER2qsu?L?$o6E{B*K|A7)+|uvO8iP-VyFV{;Kaz|8mWU zaY-@VCog_0*YD)DJlhR}1HKL924P)_XX{GGw|me!h}~{ODL9AD%XN8?9CVddWx~H4 zDt42GGLU)~KvxjqotQgb(fgV9P73M1)afP%vjdJz=j++J&QPM#?do)s2IugG1Quq; ziJ_4ius)+Uei%Nn8Ht$&h)d(>X=0^HJv=h>4a!kb#b9;SkF7`r{PZrxMzvv`kN@~% zwoQONXFkN<{Zq7$8|=M=LGV==eGI{@UNFpTx?t&R10lqNeO1rk5j+Erpi)^Ksy9a$ znRyQovT{1X7SAXF)n+HuCJ^6Yv9k*$m%ZUam4~5Hc?g3!>T;`@!U{9y%Z$FM5KB%f zqcYA5ibC=lUt-`Iv27Tj!A6q~Ro^1#dxS$3)syI#1#5$wUK9a2vKKz{ltLY`WtMOe z;zd{lyMWpT+ezX!S#&tOPXV~l+4_O9V)#axZ;&Z}@GwT<13oC~H>w)^zg+e1FPCzA z9JsIFr))0;BKyEOj{`oPgkRYv2e+2gOdV)U?SHnlQM=G0J?RxVFk)drAc^`l= zHS=bRFm}$-gLjz%4rXsKwSpvTFQjn1iNTFOWd;PKy#4oa(a$>TzTL<|zzu&y52jY7 zzJ45JN^~I&5KNxO#mTcJljku@Vroi%pvT2#jW>4~RK)SrrLNw>uKKiV zzI`^ra9e| z38TzK9}DI+N|}9E&>%y1%F74a6V6#hV}uV2EKftAC-fODL5zQYB!ZuyHXX{~oJt}1 zT+`ih*|(`NVFvA}+5k#KTRq)`?=3JSe>lgEdFH(7fJok;>Z9Tdh}$rr z@{jBiTM;!E6p*@qzGI8?++VlA&2k?r6~(~Jevh)>7NWspbN6-E1d^44#!9CHtqerb zo$K0Ns{d}*wZ-<<^h2-iN~?6KRk}v6?kqre=o%yY@J{j74YqD2sK(I&5o3f-$z7Q^ zUSZh_Y<1s~%0_3pU)9`u)4f`?D#jITRat|^r<^R~2~0H|@OGV2bmr!Fs6Zjtd_#3)hg}yPD);IXf`-^HQB9uiRw|=?0C3=pECzrF zgV1U+BA(sw!L=!7gzRDe>SkiKkj?VDb6KoE&>?aI5g3Pb9l$DbTC0v|?P`3gatg5cbLdG_3x*gm>wcM}m zfboHv&h{3qYA^3*+Z_M0})zm*EU z@T>(dl|+=$=pC3>IZn^RE)JoNu{<8#DS0!R?kyVu%&44?z5&!6q*K%WK{qU9tX|(2DU5!35 zY8ds-7yOWMxys7ijZ$N;>M`(5VOJ^wvyQ7arXe2Q^J>!f-f!s1aq$1-QCsWZ%Zf;JklRw0Edsz(h1+C|7w;c8Wy zwt_`6LJYvpOtN!4)0Ja;+jt$Z-zH!U~%G$ z6Rzb6BgsB^f+|vWpUdtW37a8?w;O4|_`*+M% z?0m}V1T0Sv1HO@oS@zxKJD5__QgpS{Sy}E<$K9d=w3_Ac@|O^$`G6IPC?>y@S}#AR zZ08;swtn}tQINy==u65L8Zwzefb3+RuzTgFR2-U%k4D#0rL7dvT?90Nx0U2VWmW`0ar@NOMe1q7?KSMPF?;K%dew!D{6Pqpn1#Mx zY8B3qt&9XZ6^||JJ;=@~DuBly522VsTdJ(G3nup^7>h1=6FT$3?8YBtOC5u5CH z${uI(e%Yd9$qm^8j+`?e4EgG0LKU2etb!wm5)J)QyU-G8Z2=DK~G&jFuvv?}N19&~kuy6*r@| z?9x%@;wa_KL23e!w*QQ1eKAlI6OlsYObGu(^jkP}2 z4psK3P49V?IBNklil%>{zsnaC6&>7-pb3Zk2J|sDR#9na(5r0sG+VTL@)Q$8EKCeL zkY6E!o+Fv{Apr$WAZ?U-0dJV}*}Cg4zREPpg*!-x-Gd1CnK&h@Jn^zgyVh>5aMqOt zn6cA#?c+dQcm{?c^b_DuNhP08Y<*pk6+6$h&TJSc5DgV zSep}5&aPMR)TM7}z_!67Rz2v14NxNv1N*PkY45wnGXC;k6~t>4evMN~8~9=NG%zN^~0HFH5;(S(nn>Chd6@0pQN-;d&gdR|qErMG?+-%fjn^cZ7RPD|&Z?6wX#Lnmjr}%M&SDo=6cF)mT>VDkS8) zzR)y4&hn3+^ckhH{7pSrj}Pg=$s)S7Fc~eA^Q!pOtwqbpoD4zV_kUscphfs>qO5E% zTMTii;W>i67DTQ?C23>)!!N@CC@+&xV5>4E8VCv(OwBEGTJ~r$XVc*p@9=g$()=*&3~G07REe#&>qNjIVBIz|I}i z@h#BKsN*4OQWgm4Jfs_-028_}+=H?*M^XW07-uXj+`z*qUjn)ad5nEZ50V;=l~Dve zbGUhCgY~Q*=gc<-JzZF~f|Ja)O+<^oU+~*8t>+4kRvma*!CPzIz7!l9uF1lJw-{EI z0{)YNbKpu{6~Cp6kA7h)2(GTi`zf&R|ANg1KLXG1SKeWt#f~3?lEQY*$j>|~Gy$LQ zs?U{dO@en-@GedgbW$jUL)T`PpH*sjXO%_=tc3lpomFMqJ;7`+d{55TV3t? zwE1G>%iWaApHx&07-Rawonu-f4Mw~wRe=jcJ!=S6ao#O@f?qupxX$HE5iLG?Bi8G* z7CvK+F(CVy@Ubbw$A*a#Z+5o>yOFtGKsN-s>$$=wuHp7ZtTHuaJ}o*D6(CD|$jeWh zEpQ|CVCyucpOvUqTY-wZR)6&rn&-PIiz{ej)qNpkOSi=5$Wb|QN4Nr7+iVC34+t8# zSTDv0G@i6ngbF(lt`(0}-#wb<{0E8iZF*NaYn~SM8l#Jv1G@FV3;<5ipTxo+vgD{C z)m_NtbB{S{{!u>Tzn3RYE6>^E^F{SHbB(Znn6H^B&E(=$BGH!pvsn03rF(n5=Kfg@ zuFp%d6WaAe@OcCqF%YK`CpvmbD>_+WN&O04QLepnlKLBR?Y`*k+z|l2IlqZaNIdyZE!# z562^qa_j0~V1Y#-K+^QR)YAi>R_2SolxHQg)Euugn0mz>KsdnQ#~5y%A1sGS`&Oqa z^9`M7K*#VZ7>~Wv!1@*T8{S&jcaTD3_}i?5m7bRdh(A!Vk8X>-cW3OQV(jq%H-7qJLN^u6u&=bYtfa)(OZ1YcB?c2iSHZ9_SMy| z-{cqPuA8Ek9I9x3XJq9LxBA$d22U2Xe45ODC0VB+pWi)x@MsuaOGY{f(h8C!P8!~C z`?s+_OmFLNf#_RML`JL)Gb_nj99`(txG*u|x1|KeSA_zMgY-DO2&l%a%-c4K6eNYh z8!^-VlvSRS*U%jVAM|{V@`Cu77N{2-i0^as6{^pscBf6QAObt5n zWr?-F7W@F@#hAwU8~-fmrEC3Q5Jtga5|4r;omr>O%Ga;K_*LAWoChlorFuRI8p~Cx zhwNkbm*&b%osV(yEl3*aZxh+`Zs;&k?N`e>Z5N}Mrj@j?oCCr%)f09KeK4M?)3t#! zRcEA-pWt@}HBs>C(6ap^;;Ysa&-bEoV}a|{mF&BPBae3v%?n#L-khtcADGt7zG%%j zy`D&?<#02dH?1RoS9TzWRr`P=dJ#Iu1G_Pk-GvX6DC_Z6Zo`Z(J@wmK)7g8nYG_}(;AhaRyywCRTv*i_V^r@$E$b!gNSn_h4&(3HaU zpt#aX1+KKFK`AyBt~5-g>N0U?2-^x2YRz)0idxWlDNv{#LuSN$iSOQmvx1x6p8v$) zQJW*7Yvnv@R4*fl;5!P2`qbf*U`44=cmFUL}+j*rPH~EaNLhB&kIl@=!v6es9^8iNJjXc0+?z?5P zdCyxc2^%(B?(p-bn9lL@mRPd#^R}3~^79U!Pv!X`oKUNM-KT!_OK&l*^gNZomoP()ya1Jh&gLCjmIXDMR<=`AVRu0a= z6XoC>JXH?P!87IH9JG~#bMQhO>zsq<%E38!sT`bxSIWUT=qLy0;7~a@2XB>wbMQ_% zI0r|{!8tfq4$i@Q)ta1x56Zzg=qd;2;G=SI4n8Rd=isw)a1Kh!!8!P<9GnBsS1!&% zPrEn|edXHZOa$7+xj5A>&c;x?I3J;QaYoLxi*xc#yErT7+QoUf&@RqPq+OhsSh==1 zFC*rR9tptcY491i!H75UeMgX+_ESoO1{ELk;gb7p8-wBpF!p1 zkmLIS{cFfUpZ|1dsaX5!TXH;jbAhcGMTC8R2Tsfed5q#cp>?iKjb})VXpaVe$7+F0 z`seF;ZT8~(@2_obWknI^Z~z@#<1NAi&_**EC_tTy%fuF4s=!I0O3Z$+UlsQmzH(l4 zVaZ8xLzw|ZAU`Flay&jou?N=BipTou+6-;Nx6s!u(SB)?Kek1~gcV{HO&ADxmuV0~ zx!s9mZ49|0aXO^Rq@P{3DMDTnTsZN4lW&Wn0Y$`@L?c8ql4yn!&4{BJN;E^&XSB5* z%h0ad>t%G=+fr#$=_7o8l~!oxr5)T#$!x?RHEhPxDOi8d63%TdXXYl=(hKJ9ME`+n zYlGpwex}SZHp@DIe=FSwGJwuJ&GOOBGm#Jb?mr&({=YQreIE8c4|}gT?0p{geqq@A ze`DC67KS}!&U)CN{@JiUT|Dgl8;AY++^{}>H;-ggd_Q>iFAV$BY}orU?0xO0hP|(c z{ipwThP^Mt-v5Wg-j`wT|M9RtEew1AZw&iWW7zvW`RUwPL*~jpQ~7dUPLV8L@P!;9qfkm^nNt5OlnI_{1&_6DTO=yk=i`u7ou5Ji z0g)7aOb@g0+E?c+iJ;TAk`sN8QLE6qhK$8aRW+9`At>Qe%VQL|Y@ZK&A*U%E^7_DtP!;rnMZ2PN-SyvTBdmzHB4IrSw`DRocz|BR&Ze(Y=L~*1w zu6TX&grCBPsAH-uU9+`H(oYNPm4tz=tqE<%mhMP!aAu`iqaqca6IgF0=;CcYGf_fq zzRvDJ+D4lg=IBuo4x-y*QhY&qeEr4o-Mru)_5{cW>f1E-r$$<0YVO%O9$+6ZxDA`t z`Fos$gQ+S-gS_^QOz{h3r(x+QM~4*@W}PF5+TF(C5ZS#Jy&HMkf&CU3-`+kF` z_U--j??!qA&)f{$+;hK80^IWnRLe{(+SD$4>JAcI!F=smTL5>%X!=-!CZ6>kT6R+> z&Ge1ZweiFsr|ez9O+O9dS5S$hWh_}c`$ntPC3NNzAOV)kQ(JGLA2xms-Or%uU4O_g zAVD6E2AM;DF7vkT(NpJ*%^gjfQc=dbr+D2qwGP z-FGq3mDZ0@&|@TTXDLpWPF8GzyHHD{?@s@;sKu5RxXN1!j1P;gq(@LMyP>$C zgx}b(Zz;=MF*H;=gKLc##YfK%pBJq3TAL>YeV;~wNL3YYH8k4z)@ zopznpRMhze)~LN7;{#o8{==K%p;g8Hyb-(aU()=0jtRP0B}Uoftn6Fcx$l`#Bb&K* zl6h|%?e@(GYkVdDP6x2{p!qu&f&03u%ipS5PWtc(6dD)B2t@XMvPMTyE zn$|n{Qay3Q)j>i}wG)PDqvzQD)V9zc-VdzAsnV_?yXdT{E;?WQJ4&FZj5wbug6Q88 zAnYoGFLj-sU#z!*X{RkF78;@a61@#=Hi1hfZ*AT_` z8$f4bd*}j?p$BNiTYwDt!>N4dtwrvX@-P85BJd-t2k%2ZR62ZY^ZCbaOu41$6;*-< z(|WwZk8D-xy!y6@E;4fs^xcv>D+9W0M%B{P+69L&--0k?8K6^KA%Jo7+1UzMYNFgY zyPlpSH*7%WNsZxjEFuRw^NGv>D3D{fOSL!~;3$ZuI#yy02oWUmwnVPnD)I^1by4K) zEb=xYFO|z2dAksK$BoCdb>eSwv4yXt7A{oP<@AcC4g=cpPAVQt>-JqRYtk=%nx=tK zhk-K{cq~l#^S8Ol(hI;|oPGt;s;L;j>16ejRgY1Cmdd|lrl}4bfzf*9nlsG1@^!Ln z>BYmm7w^qr__Q`=Vowt-kt6V6IO$zCoNS9U3jzd=DAE$SHel;%Ma01^%0z1+H=*f= zc8o-%#umFGP(vSQF-^!2*K6bbCT#~PgI^~&5;S`-%?=?~p;5qurJ&}a;Z6G=dXvf< z-)-~Ww;ga;^Y*c$^$jtT$fWX5rV|lCcs+rgRgysMY!zIpR<*NTbg{+I3cT#0J!d+==Lb#>q3* zM@RmyJ@?t~{7m;9c>UKW(%3XTYvBM+vpL!#H##UFW&#%CR%Xx)pi|^_(Fij`4rBt6 z)+AkQ;h|n-3Z$_qAAF7eMBa=_rG$irAW_7JlY+>PJ~>pM^h~**hyo`fY6Aq;`6PGs zwd;Ir#R`x9X_7rsC9}Fss=XhuAbVHGQhBP39#M z%sqDj$rfW$=x|w7`r@K>>$SyPBvbl-RNyOz_aET_C?R|&q_wgW@_t}O|1#0WFjw~! z9_2v88qh{MaiFQ=tg~g1Z(}qEutJ>E_oRW0#eZ}I)Xd1SmSa{WjSH%zu~H=^U%<}j z8o!Z!138R1hh{8+iiLb>{45JTZ&1*Y4l*5S-h7TUX9rMbqzPkoI2-l4s6&TAP7^$X zOuq&tn$|w~M?=f5_(D1D8g3e%cpZzgkLA}j+_X2^Q=!ZBdx2k{g?>|afj=d?r@n^w zxp;ewKDWUCn(FR7+Hy{JSFm)o{w~_Hn@7iLyH;F)&WIIsh9L5F5nHzqTU%o5DpZY* z+g>}PoqwC}tlMkfoCI)-v6%ZX z_X=F>HW$0Cirq`BkoIj3`a_!w9ih-sR_Ig;O#N_ud;3~3QZ{TaW}E%yvY84ud?8yY zD-_d_#gRVw6Lc+=7IjwmeXl#SO4FDo(&%>iW{%_kI!G_$jnqK&$1Md!e!`dIU7`ehmYT(NDZTgnJsX{{lY;?BlCug1R)a*=C>020cT-Q*sRS%(l=*fd7tH35$ zz47!ztRGPF65}P$kpo0`Oc6H$3Uj%h1fz7gGzgP%sz`|Aq#qT$$W2JTTID*8h*kwJ z0_j$FO3!H-a-tAB9C^sv^LxysIg&KLv*ia_ zsMM$epu!@Dyty&}N}dwCJv%lKMyuEBJg)$|F<0{HqLQ7ln5od^9y1M`SM*m-E9W>O|K}cgb&j3IJpv!nLobHQ>&QsSm_VZcnx1g#>>?3#P zl*_Z-`Dr2i<7wee6DemjaXyW)<-qw>5#O+#%ISNw$oM_qr$!Kh~>Id{)NsBtVS0Tn%suoGyq2~M=zTri{FO*#?pUQ%8*8O3h;R)LECv0uC6YB zA6Pv+q8zqLYUF0cqq%YAco^u|VUP;`UC+#bkL2|mu;${`f5tcGXhc1(UC2>aa^$71 zwS1WJxd1-~3LVwCfY%-J-cv0ekHUl4eH7wOAOxl$wJiNxkGW zNL7<05@nM``1Bd@B|eSwCP{RYj3%m{X1Ymeid)zw690l4m_gzk28BA91X2l~##ys` z8ly0}S$v~e{x5g$!j-tvgbV)__2c-$COUvR7d5(28PUNTpo6o|99IHCqL9Q8P-fi! z{i~(X;XyT}rLt6g5C%7&a@FHKcNQZEWNX>3hAzCOp{_bttfyEfPWc~gN5ELk+xSk!dPt5K96 z<7Tj#t`s~w#rjl7H^>0-uKmL({zL(+1El7V`xO1nzMt?PLQg3hu19g>in1NmGU}D2X77%Mkx{te97r2WVGi!tR=GF zrB8)ewLWAzaK%zFzm4g5Pg~c;LLx&+#b<~}NR<#l)Qdq!qe6R`A#C;z*~8SJ%|hgW zzpnG$E0(zg!Dod)mbh36w}M{c4LpN6+A!RKT;HJAjWk3Vg}i8_Vc4eaVr{9 z8UH}r>J<&I?g#bX_)D5&MpaI06Z7yo%AT|_qwuAB8REU{2I+7t;>#9C(5Q)HqCUq^ zN1WV03pAM|qC4Vfw-z- zY67OL(9~s&s)2~8CVBcI!ZR~tzQN6eI0*`$r^O8eE>tW?7V|r>g|TdX=WhD~JlrQv z*k~_eNDay^jb-jzCX9*DBzWCXPVY@^pN)_8fc{ZLMT0wlrqJdCGh~dU=?aUxF9UIE@QOg zG{moL6u9)23jfYY;{sZ0#AcGM{6-;G*AZwbl2-h@%r8Q*qDi~wuz2hw(L)%9M&fuo z@ekOP>Lq0%YM^m*o(1KfQzn$$qrXoE^>VKkXtjo>_jWapRbcMrIN!W#EOL@-to-p7XDPmYoTC> zCkVb33sh0B-3y?I9rDO>Z$I$EN+q|9a)+exi&9yT@ZOKO1#rk?^G*@)Q+Co znMY4&9zC6T^mOLY(@E$_M{dlEd_OPpgNVEoJh$~!dtM)~lV)nvk;Bmwoq0K&dA-J& z*K3@l*Q6uYXX@>66=x&g&x`ypFY@EO$WQYki?T`&J=FJJPraX4-}|_}Y6$Pok*r9I ze8;lh#iEkJ9V+(f=y?BR=fGI9T~@$dDH_z$;Sf)YMhKH>JLdYw z<>hGG-1s0pW0=v(`bTzNd&inkFF^BSk!!kt6$^RfFx>6Ji{jC3DO^0G4xs~$`%!Gj z-7{TSH(g&BHGoU%yBCo^seHexocBAGqb*rdIq%n%V@nA;-iu)Of=s~!GzFWJTzplm zd?Kqxo5?{o%)yxTlwQDRJNt=4fetc10CI$(#f7+?R)k^Bz5 zmvuzE_`Z=vCEB>6D6!GFtz|C(DzxHXvv#F)Dd_BeB^89lc9BkyI46iKX5@lpnArp2h z7u!EX%;P{>Zog_L_`?MM?W2SvH%5h5w=2CAnj?gzA=|?;#c<>&q zYyficlzT3MfDsJaMvr~~Q3qdJ&<~r7i<-^FI%Av5taHZ0C3g?7ubo@k0Yh=pLC-it zQ5;%p92vxOF+#~w3M_A}uawyA+&NCYN z0;fJRI_ONzuZJKcW$8$MBkX>L$`=6E`PgJS|47 zTa(1|tdlr)dF6GTMbtH6V}1=2#uue~ChCSPxv*%87c%KHN>7&W7NX?%eC?s+*Zi6M zM#;iiSb1K_aErOTEc|1R%?Yj06|)Qj!pqBJ)2s-l#E0wgd^b13vb*Nyre>OxxQ#mZ zxCKNHSSfBXpjl3(p~oA=M6cSOT7fY<1Mlo(`T8ILL=O6;aO6*}Xo z-O}eM`}sZ}tv(Ue`SPRKhQZK*vHt#3E@po#%3{HJ|8WDu-B_$n2 z=SK_H!r1D&odw4m4V=)5{19*8|5=I)TKdnDdI7G+D|uMVX1_v8CmLctSUsgxIN2fm zr0ryz*ogZhT`yZD6mpt6uxk>wXb3dNSj^p+A+FM!Uybnc<#ClO3cdz-IYtuEG~4`) zYbYrkZ^u1#%-a3qTwvONkH53Vj!{XMP%#3%u2fb=m34x$7BlPwHolz8h-;`??1>&D zye99VHs0s9U`3vrrJOFPjHanBrkcMhEzGyLC0l0Qg{<`=HE_#-mDIQyTeN?Dp-DTw zBN}x8ObeDbSr|A2+X>m+`Y;x579$6-(Sts&(+Cio9J7~+XePc#k2Ds; z=?+WV+!h_cEVIBBw#=_1YGi+CjNIIEH=J89u2vByjeN6nj^?sV|L?;0v>JIUS>K;N zWGyC*3bSjm)8WEaZ~LMVw{Sk+%dy>lk>zvU$zC-6?tOZz z;QY&FyB_CRU0Bi|La(l}xt~{8=B05jo{FPKV-RKUUG#bea3$5#g*7b5O z+Wfeg1dj9+#i|RvJ{Nj97kW7tdVMbRa{6r^97#Y`uCG%7FiQ(Wddh*0?MM$Oa{4+s zeZAU!owh#HrUv#2>x=z?+@=&~?M%I3I#M`HyF%)@W2BHM*sG`t)S9WP5e4ZH}m3e3c) z<)lV|cxA^`C`919bgYOqS>f_i_=-ggafT^SuY*B~#HLnHKf&)$3~E23 zaSwL0UNH7!N1^ zb8moxcbzwY(V1;4NA=|^7n;M&rKNngpN+(!aQCdenZ1nQ5eE`j5D0!FPu|PZ30Ucw z)*Gw#yF_CGvQ|9fEtHE(BIGEr==z)LK?J>_adGgK-G=J=+gj=}&W633C27#h<-9UhFkc-*HHN@Mt5!3(G-WN#B7EE=8xNv8o)AK6 z_i$T9uqH=1M6buHvzT?kK4#eDPd!Dje!w_6^93 zU9(e;Gsh?y?~T9DAC0Ab-y6acofkEUtwR?|u#gx#6_=+k=KJdO`=9A7=X4sZnQ>V^ zQu+Ls^AS&-uxquQqhT3+!fHng<>)EU@f# z=9Hr<7QBTaN8T{9ytac9Py<;31kbIIB8UTAGlh5jGG39nlH5J%JW;VVmylY04Q2f; zqym}B()<+_Y4TsJ7qv^>35cU~?!WTgjw<2uO+*c;GcD-h^U&$KPqMtm$PTRby>*-F z9^A%m*G<#Ls5GX0eak>N3j%*g{9I@d{e6cLBFpuhQ0qZooQd9{L}6M)l1CM7zcL7~ zaC31WY;s+}YoBaRmD~AM?wbGTgnRzT>nw2iG6>?ZB8$UA0f1&x_^WT4A#fKqgH1)0 z!&~-)$P8CAQTxB3VuzW2F_Jfne8+_ewc5s33U3M#3>S$f1EXfbca?vKi%+u#O-!0V zE1Gug^D~9~Hh;p9KaK9pO|q^M#p+F(;*+Km<>8{MFCjt^5%p+NjC#-o<7JBX*28RQ zjC~f{Er*iHA7SPLBzka#0C7B+>X3I+bb7{{EKL8iW!Ts=bZk1_=WUx3IeimyNXO=k zOP7e5uokL~zqwpu^%z!ugZQKuXePJxnHwy(k1rifkHV}bjcf?{ov`{*cs;vGBpA_SpZT5TMFAL z=9JZ~`s59H@Crs}oLXW&=lWx|78^23THqH{7Nl{ZDwLFm?hdtN&)Kb-{M{V7+ZCvr z@l43Spaivt9=bz~o!MJd0;$R z&+`1Zk8g{of(pjR4m*V0r6B*MTG&H-(tpEDa%F{ zTQ-XQ+OQSK4W7iP>*6@;(|9(mXr)TS*&IbHEhvNQu0+HBUtvFgWBqkwVTB1sf321Z z;=j_TkA>1&skBZLf*JPTW&J!B3(LH*26QhpXP4@q}+#j+)omMrTt^CqO6`)o$f!w;W{8Z?h-2+460+DXiZ( zf$=oT8B3Mg7dnWy>6AqK>xFaL&BKNYC6r?~=y)ew2t)!lUQ`GjXeo=+S+M;lXJ{(V`7}KxaEA91}{5w#k4P z(58JMbgT}F?YN;M&(c%*`%X7ni2Q{Rwr)gmi34|}cigetA+&U`^cSK>e&oCD?q-{8N%KalY+)%@f z`_srcSu={OYbxBlkNt!fHK?OUW3S|>aA&}NI^$sN%($ZcmmO(YtPD6Q*lRkh^t&{QRfV1rNEvF4kCY)94+!*L_VYi;VarFDCXo`<5e#g$oc|PAO!Z~2xTq;zS#IKbIUm@2shQNC<|AF=z zx)JhBz9`L*d$f5Rn`Tj1xP?)2!{09Ce$w9W6gE>&hPkbdzc9i6jpAA#@GgW$ufDNwrCEd?a*gmJS5@tA#6Ai7GFnMb>0;V&jk%(c0yYN zB3wgLbrb^HMpIqxJ>$VcUB}F2VyniO)3RqQ*nXEYz9zN07q#NoTr)9Yfs~P8ZN1D5BFT2q=`QE7suk^r~?=B1Vex0T%r`x zbF@ArmLDM($pRqCU>n;Oc>htJV>JbRVJ6MZ!NsBlGrK7re17!D1oZx+uzMn<*>BnC zD|}|dvHOSI>K#t`wOEnnF@ob#N4&0sj%qI5wUsl4GWQcgh`(J}zq9@_S2u8T!(VE) z&=BtJ@b?bKv6?GQ$tA?o!nEC*LwZY4ZkykVFkOoWGn-#6ebY9kNPA_Z5SQbjf}a>G z%y{JngK(+ot^ej*ZE0_yV1&xhZp7!RC}p)d0B}H$ze=n&vo)8k5F;c^Mu;m0M<@nI zG5}qvQ*{vt8!|MA&Rooa&}`vOJx}A~`8iJg8pMh(**1=Z(Z*}3&W2KxVt_A?IUW9F zkd(C_5d7UhPlZyFsVOCWeS9tTAeHx6QPKk?osHL0gAG;yTGZI|bRe|$ZOBP0zm9Nv zNG#9ORAQX*lI12g%q#4^RBJSw8%?({9mO`LBepSZqs{E3&3dBEY+?LJwn%LM9_{jC z!$hw(%xvmZ!$j$ZiC%4(=+%aqO+85EeXU_;Q)R=T6?!kULdHDm!44CR?gG9Owc2Ei z@_^58rfS)q==!kIv%EZbq#Vo3T4IY6eGG~WQ4%dL%U|@VVwumXlq&tr{jV&ia6|?X zMvXcWEcsc_&oJfLWYNPOkA0j52%J_%`OAZ-I?{qHhuX@q^vHtu2QIGxEtd(!UX>^|_vR-f(Rj^M=G!X4U3 z^Jas)O??X<_T?TNo4pqj?D+|HVs7+-P20~d5K=Wrt`b82E->x*q2YnwDB#-0+8)iZ zrP7o_n^D@)N0aT5%yIOgd--s&oGqHTIQ4{jY&=t2yuD!M8DhrY_IKQK?-X`DFJIg& zrX6lH*{8^?oT96{+<-UDHx$*LDe4~)33o*qp`ez@Z3>!Ls6-l#&0t{K!j-kjPKb)~ zJ+1EWE0?Y;bjijB*VbwM>hC13iCEl@-3PH@(t1@0)Co~o`|mw>l@2Afl@;Tfg&|== zbY(?$vn@6{%bD32XI)yUjxz@%WG?6PGIKDJnek5CkBtgfq`gDcUFL0uGRbBr#-3RX z1T&;xAC6c7lkkH^%#K;%#2tJlDSJC`;RBx`6C5ls7vRQVc#91#P><7ej|JJnZOhQr zM-3ghh5Jn{ZVMiIfX4p5Ed+pUZs4ISx=>ZC>a0+z8W>VA^*l1aUWrFL@pyx4{Q_(b zRh>AO6>XQJt$f~!a&mZ7oxiQbBwE{&!q` zbDv!e5*F{^$Mx_#RpjZB`Y){Conir*oW@sjg`AYHN}C1e=PI_}Dvc)d*O|2d{^hr| zSJindu*9@$SKJD8+Pvu$Ma2Gz2*g$9xnJ=O60y&XNFL&jBC#9! z$d~gGJO9=R4x z@l+-GTINjURHm}bRMz==i9KAE=U5wmv4FO-7sKq)P_Pt!b>R>@LmT1@GrX$!UBzI; z47Mv@qHl*;K12x@Y4IRg;g@*4dmm#R&P*q4s@&N|lr89akqbfGiLvN{fXJi(GFo~E z`UD_tA`a)Scyt$fr7>~dZi>9k0>8T3W|3xw=G4p(Us}D8cg5bcId_PMf1Dh*_?vF0%Kl zBI#VbwN=3+!;1z@_|%oQGl}qWnJFSN%HMN8@i(TS2O4@(vsva{`8RpRW_0zg!|f2F zqXlLrnPIkq9eKk|hyr58VvS`7nJ2XAf>fOl7(_*DKwpq&ezDKW=u;`-uz{l-DI_+K zlp_rb1vE6Y0is<`g2pE_w4KRd_mgeF7SBn8PrZKPE{*0wT0MW+1&4USG&X31jjhB4 zd$j_#YRzPqR&};5?9!@^-1)-n1J8dkQ54`huh%Y+Wd&|3t%=%2!8|-W3DS$FL z71#QlP3XqM zU=#x;8ELx1yj11st_nL4w6CkMmy^R#;Hu{Sncn05_>D&g`FJAFF}?Ul)r=rEK|6IG zo){I5Z03)UrjbD*rdKmZS8SIWcIvPKVd<&z<*qB&{90ZI!-Kf{Xf6&Nq>BJSXRvbJ9fFaw6Uxj_KSy2W&-3a3k)ko6NPAP62l?3AE8+?_&2+`*u`Y>JQ*3; zQ@rAQ=Icb7<+PMC&+rvJ%Bk~{-^h8}lLbvoweW4v8=z0B&la|-d~FvmUo_G2yEJ%I zHCibiQRwgLccb_b%VAZBpVtKBN^u@6`ig+=UOU9{+G;mnTeb5-k~m{_Jdf8IL5`ta zpl1iTlZS{4cpwro$R$?QSOqtjuY#MX-xfcV*xeK4>ciE0d@2wf#KmwYo`r%{i1*U| zrkeQrZGJ&}2UN>^QDcwLW!1G+DKBc1=Z?sn$j{|OKIQ~XtOY^WYPiDnX1(yPt{(ee zKuQaBfF*ua_qmN*o3!$|7(fJ>g2o_Pqb>7l2T#~4e%mbW7B)rW;pQ==(fjXl<#Jl( zAkh+U$zDOnXA?@F2$TJ(bZ+$cx_G?mz3OkGRQM!rzo!^8CQe#H!GEfv9X)Nvj~B(~ zrQ5e|I$t+QizgTeqkMyn7e_kGPI)eYI`s7{Y=&+*3qG zvjP2o{u$LFCd|tD?8y*v{lX|Zt?MBab*iWO%SCsNsmXu+a=`|*oRs~^V>W12DB`Ab z(G)(Yn_b%2BY0kjZ5OeIxT$s%@;c9IXR}wMY?&67iz}+(dDa@@{|$qpXu-i>A*jRq zl7Ev2PnzN~a5j)J#H2A5XvX@jMg%KEv}26qxz6MHF`Bb2ioU};8Vhg>kZ}rREI>YP zBpZL+Uq*<>wyYfIn!VMcTt(z^6QZQ=YHahv#C)8EODAhPoH5lVo;N~qGkrONOb>fF z#}yX!DrGM~oY;Ub@sH=ubJu6fmp9*w%^RFYP!n5q8T~n&sSDHjRJ2}8%g&+RO0qx6TgG2l636s_K|QSDN^*9|nHy%&fM z6w%T}yXQgWNfPaOLaB(wHLAt|{7p@h+#-rwl3+;RAA2z*=xy=q1fD=(SptsECA}>o zw;;*=N6du<+RUkjrmY;W(zLe_ySdpuFp+&=5nckIwlD8+kq35{LSy zy@giD{X@-7EmS?gy$(F_itrZ>TTx;qvLMyeWRsM^mKU0&{MII!(;ECJC_QZ1p2Kdm z%vL^cJh_++dWhk{vj?+0aM&oG4IOjP3^2icvT0ZuBQ;3xvv3tkKZaWyo*aF5T zpN)yZc(kSZQcV0ZtJ9X`6QpfvPrUr*EnkD%*^3TT`>1t^NsysNgMNqO$Nbh}(-A>o zPbtT)CX+b6mK3>GR`AM7k%s)HXuKZA)+tyrGW^nR-n?#!eqYme``qza{vDXCIoAx-re|6qD>AP zwB2-J3;Xaxwg%A*bw36G)%j27D;-Toyce3`bO-D7G_TcU&7SJv> z-9J9i`X%EL$Ahs(zbR{b1kXc048GH0w2&x%k4?Ch;Yy||NUN=UfCL|`ygc1(R<;$> zXriIYSLU#>k{l1G4uTTruk*#nO5Uwh(R5>eGG6SuF!sx~zQ)2fu*Oy{M9PS9L1W?0 z7-Fn`H!IHe&=;ZqM&OpW;;#+~(+#ou0lW6hbNvS-Tz%?DP!wjN+MnD=w;fo=_GGgKcqW_J)7N2g|gjdp&P*`v^T$+ReR`Dk|OQyZ8)`gAwU z4t;tXW3e=)dO>8I9-H4N^n+r*()WSBm-M}&?=j*Z%>jLahB>Cs;MhDU5>b?x zq3?uPCiOvZFPs+>e2Lw50{@3GtAk6wA-vZ5CV2rVJ89 zqliSB?vb5+6Erq*#z`kmuTC7K(VlP+N8OFkj~^AIybCZ2TM+voj{8zFPVOO{ZT9NM zv1?WvMt{TnS~5nI@AA|b^-PD_r#UdMN`|d)xfhz)6Om>fo*J#d{CaI%2c~;#G!Lk? zjHhFBZ(wvmvxQ5H6PoJ3jS_lpk(4tY9?i>=v43EGrApik%<8}hsHEt^IHR2HHAE7I zA7e-v?OP=01IT4fC`Jxn#3PpAnVVp>J?(+Vp9hngJU4*sRd!2xJk0Q~HkR`-ILx@h1o7 zJq0JnW|uzWW3!4#N_<3Dq3;=m?PIe>pU$y)b!zNWWFN2xW=N4k3cB3c=r_J(;_GFn6P`q3B^%?Dyzzh@p^8;{54<+af#ura`krgLF*8>UMwSUE6< z^tqx@M|?Xc5TAmh4YN(3I|@2PMgtv=zGnmTV$J9tn-QU@P-KY21G7xQy92XHpVI?# zvSHj)S_`#lm>n?W)Vw9^7R8=WY>mEm6y2fkIjV9-9_@9x3rlQF9EzPGi)4ov_i~ z5uSQ}VmC=AL)>r{GB3m1ExuT6E{iA%PJEkeJbu|^LgPksk9C|H3c2dry}S|P%XZO zYU5+>XM##%`6pIL$wtfX*9A5EM;eB#r&S_nWW5AzX5q8fO;G_iI9p5uJ}~{(3LD{mQ*0@pzW*j4^9A zK7x=GBi^F|#S|yjz=`6j>@p#CQost*s&I z!`7=Fwj$|HO0UPprWCmDOgqJj%Ud+pX}=?A;omQz_hLs}W~n%(d?kon-*|rh^kEx% z579O?cIo-~{YD)8RKPA(juqJt{?Tfx}zHZ{NP47P`4qfQ-hq24KW>CNa^r{EDP$`LZm05DvO?TBXLd|j3#H_MzWw6?1DHcbCwkPbE zCKbo7#Pj?!t$E0J@-7ncWq~JO-qA4RGa~H;4C{=+mgU%tAqi=eBykE)N|$#{;9*K^ zNr|1J#AZrtof13g=b4yOX&$9`@G=Wh6@9s$sd~IzjTEsOt+wcD(RHHcb@P#W!wntl z;Gk||SZ2lOnbq|dB-`*9n8>zOG7cTZSv$4|8DLh%go`-d+#U~eH07J-(BBQ%F7#wG zV6)DX&Fl=&et$PEHG=K%mrE8!*Kb%BFSq$yxiT`BB9~g0N#Q7=9ULS%Cp}9R=gz zK7MHz@zj9x;X@qqvo>^iV9i-PG}>B;Ys<@vVeTg_K-tGT!rcSnNW1ItSfQUSBw~}A znEUYJeN>?!oc_K4xG6oSeiA=EeuyJBWW?I$Xpkj#+-E)Bp)IDimBoUD`yky2ev*jZ zf7tZsc&lZFxPixa{Xmjd!7fT)gdcgE5ttF{8NugK@ZzHPDE1nnh!kb`bn zDPl%xT`&);^A!IK-xR&Upx7R69vwLRDm*{4od2h_7fI>rI~4Y8!yRJLO`48>c-W=C zh-9c7asu$>()<)4tSv8w+%;aM(H1)l;m%Ff3Y!~=CCpJz?ZNe%yhBVXB0HmLzD&JS zi)l*rRE5&uU+Ww6ze1maeSYTl`9%%b>^S%Dgs;|H`D(qDuNK>y{{<_#SMm5_7we+0 zadyEqZ^wEOMId{OWRFEt(myori~q##_I}A}d1rS$hGb4~hrgJr3UaFIsVVOEU#i!t z9pAp+?G7w&q@V<_1+F%5CNIiGlNbC)*eq zH$8skqE%BU^IEBRD~V6P*aeC5uk%8DcW(UAIolU8dJjSnTt0u_mAS#A8}3Z8I-X<< zjErvg=DcxBr!77C6y;9|nmBJ`3*NwpHQ%3~aV)j}b{z_ACBJyAewk#4_q6S1J3#m1 zr5JCNwe*{YXfk2t^8pX`LQAzPG4*Df?yW>F##Hj-O2|ScIDpxISE1%Qh*%`8ihV&+ zUQVd7R;Mdb+f60K1dRAyamyGbB8Z;uSgqf0vWywBFcX^0 z5t_;Ik5mOSTGQAmnVKyd0?I2ZHlFcuGQ=~IJ?AOh7E&}c$?8*7VMg8d@ZZ>fqOnNR zHOyd1857!T`DV1s>STfN%mVH}HDjf;S=@?teWH8Q-<}7t<>x6ctK^BZa@7~&heGj& z4$FnD@^(n4ow9hvoy0bcWn(VFx8_81gGrl$?BheEA;CI}Eplu(gO=Nu(_uM73cWaZ zLuwHLEheA^dtGtq(pJGKRA8u7+`}v{W3Hbl$D7*-S5=t0*(}h`6c9_fIs9bB!drqC z+8FNo`QoMzaeJLd0Sik}6Szz*?|jF&AL!wJV2t~LvA7?w#pS>_A>2lxyY^}TBToUZ zc8frqWrY5ca|s=>X$8%geU%r}W_GF-izQJc0dbbBUBylxAJYyfWJzW!Tj2{v(mFLb6_QjsVJUJ#jMQa%59q^VILZn zErok}!N3QVE!(l$PO zbNnf^hsIJbih|8|?;al?S0C3_{qXi(sZc1sYn{{@?VdBR{;!VHb_criht3}$bG^v9 z)%{R7e}K&P{k~&)3R(AMWR*P$Y&fn8ZJyb8PFr&^sjGM zp}TvnYA9INi+;{j%6ld6e$NVJUi_TN8~sVo@ke%FW69_hIt~P^phN^_X!-mHv~>Hv zrJ*`}g_O?>Dk$OKGlU%d*$7aGj$a|;$cu@fUo#|}{s9SnpH6iNrn6UQr~y(CfuA!} zeES0`hCM&jP-R{rqrsqp4*oqu$jzS+!XAOsPGW3bln)z4v2UE(Eyl-lEY~h>V)?XN z=8&BT{z7j9+8gi=Q(!08QR)se;yX;*;0Kj#?b^v6*x7Hxd6&H&kj9tOK9tP)KJf#a zyPWWi_yo7$?@Bvk_&~|$X@QVexXn@a=1q9_X}=vBwhTRd5RW^Xv@6T!D>}L#leeHd zVRV5E{gCJg-)~m;>jzogs;aKV)wTYpx<{$%Uj1oxPgB*sjH`kjWA95zB3 zKaEY~o0ZcA>`G|#a_rhg1Fdm&Yy5f==KVK7)VM#?M1Oby8!9um8vFg}YS0LNf$KA9dpb(+^ffNNEBy&HcR4;QvJsbT zJKMFgY`Tedt+x3R@Bf0Dh#enAepS)Axn8LBihz<++KL~)Fg=A?wvCA6SXrMi2XD}k z6L+q39-73?o%j=qPlV$f&7I>Y7H{^&r^m*-f*)*D(0_7__7m)DY&%NacMp%cPI5Eg z=nf$RA?w0#oNxvSl5|k%43eT(dMsca0a}n9m1H zg}8a{vHg)p9N`l}OF3id9Tl^i?d8pq;?1{);e5gy$=j-#+f1qm%R(`*aN^l}iJd+8 z*ZjbDN0ty@?}m8BxoKzD;GbAlo{|Gop?EV*EEDW4FZZUJ_Z50f(8J{kKIDrrC&r>w zikM$65?1g*_a4WWWCa$K8YdAeMeafTlsaZ2iPYaGFQ4zBj~9L`Gs_XZ0g6~3+Z7bo zgj@f63fam{_cmJaD#ouHms|JWux-HpN{M;!lSe1`U^MJymoRL~xN)cb9&h$4N~MM` z@E^NGRyh%R{;h%qHv;q96P3KS!G+K5)%II^b-Lod8R1fk@zNd;{=;d4#FSZvN(ApQ zu9CP2v4*eBwO@x(HusbMnwQ4a6-0}LA(7}27vn!X>9DU%YeKo3lW`Y)Ezlilfpbd> z)Z1F1Hw|XRfpXV4=_dh83s5;KK;@{wL0b!)>v`&WN>9&oq^D4!kzS|@obh)>rtWtr#9w0(Jols9F)YED6blNRH!2;=+KR{TJ$PYoh6~FJUwkL%3J0p}$Oit3cInW64A&o{1H9XmpPwn_x@BB_lTX9YMZ|u$ zDZf(x&6UBb36l-$h9&h#tTxLL2@#!j z9gn(5F=nZEZc(B!OBdzfgrp)GQHr-3pZ-y9C>}G8z@u!lROeY{@s%BK+F+l-=>m0f zwvbY$j_AkE0r>vmTY@uCI0M2N%)uE*oUY^1ZpjzIMyofs(mH~zFxZ5_o`b=b7`#=x zm-X{Y!k?NuTv*EYuh^O(KVwRPx(>?+Rw9hqs^DPGxDVOXhvA7M8Xlq-C%;?1K;jD| zi<9SPDt(gM5i~Gf$)-gi>?*8QrBO2MtFXnj z_{jKE#y*QRr2iqduOO zyf9RqWL25#9U`&!_1m>OkMgJos}0Cf^X51YI~wrIU1xLhG&Fgn;p$tfWfbSe<%||T zX17(0o0&w|wxq}n>cGC%sSZva=4SUyh*l+j@|?s!nB39HeW7#*8SC_kuZ&)gOpy%9gIlqxL zMPE3--s}<0i^=?;XBk)DkR_Gl=q+V@(sO*C{5nS}!|?U?E2bD7{sK7F+TIHsih)z? zY?oh!O>w3D3o26eI~l(QTS`^WeVyV`s(PO*ufnEkcmI}_FQuD4dP9y>O`qOU$Xcqx zlQ(5aRr|+V`u$p}_788$lB)e_^$j^vwQtPtK|R;Gs>k4KHTA)x|ShPi%K- zyIjJ4*D~3u{kv?4x4cE7b$NLadfB2rTS>$&B(?DT#)|%lPzEi|5ZK^7EIWzhuk#mU zHKN#yWV{K3Y)9&i6>@EEY~Ondkl&kE1O(h$+2XbRUlu4|uU{*WY09Sx#JhN0pd|~m z<`w7~uhmg2Fb$a05j&25U688Viv=Zh%W>7(Y^q>)USoE^+rO-Qc8blpzp}*@>wjaT z{z1Wi*0?CxQUxdMpDFmi)yRKT;O{jyq$Rp9ja%mU%B#bt^VX*A{IY4^R?sh-vh&NP zoL7*}pxHXTz{$=FP50IUe%Vx=)VP%T!XI7Fj>$_DH zGAlx8`H|7}qwl%Dd*5@LF90p=?JpTi<%1;wmby!)JyT|n4c@|Ro0jt7!=`sVFQHiY zunBKnNAICQRO>cHQ0xZ&B~m-3|pCoEp3*kdj$iQrvN{F+N}Mz z8oT!I8e3*td%4iJw>WTdJ!`N>sx##MW+tvDVTyXcs_C(;8ERXW-(&f&%r!Qa&gkDM z{o}Em`9u901P!Fv~y(A=%rUz7Ev!(iPPUmVL?`|ROo3h~D{ z%}$TP0wIxY-oL~9?o+EM3$?g`e#RWkxaW9)h*&@o4c0W8%eA_TR zQvAfSU`-7}fcL(Q9MYSZ+jF~o+bn)>%Gd&Oak(O7Fw8M5Qfs#Cfnyw(QPxNrt1`+F zm%*Nt#qUiS%VlsyM95&6W4I5{%UG;J=l48HiK8A(vNYAwxt!LKwzJ^V>6=2471HQf z@VopJNT>BEzqHWyNBz!%=SK^+v(WWNUT2khpF3O_4M$eLKUwHmLEw19g~y%)FW(|B z4KUAXN5ch6yjAusx3l1n2+3rjQu`vT3pkyH$d4ghWcG=SaG~#voj%CuxlRa?*-0wD z<1$nX?Rvw=@=%Lz3bn65`ql(_t^TbaQsx2u>PJ4+l@d`KR4g12V4LW-!Iu7*Fi=@T zCyHF}mf4d~Q?ak-46~jU#tzk|W>t`(zc+PI)qLp2PnC5x3yj+GqhwMHkFTa6TT6lq|IA-<~QMYY& zlqd`*FE2O7{GdYv{@4{RMx7fum zSbJO~VW0>q@;ZdKj2wHn$Phv7HX_3hPw<_g9szfX&(9Qbn~LzfDF}+tA#y2x55aFC zXK^gtN_jj1dGQ348N#iUoF9qWt;(viXjWETq5d7KbVnW=xPZ9yV&dUxVq63{uwz0~ zS7MUv>jS)VXV}#f3>k<=+njvJJm{s`p0g?nY%{w)mIXbi69Cc5QA9L`QC#=QY4xv5H56u~)VbfMI zk^If5HS=DbBmXOFrm^R4NskfoJ-M1ZSF$yf*R+rvU2W(v)^3W9600e+iKFqQ8xj|pY+JoV9%0XwX>Da33_W7cT_L9ToE>32p=WwtzPQ!frZ(tF*RK<^ zC)_f;=sP#X^s5`;7vo<$>7A>{CpvZ0iJifIL(|q^I|V+mg-6_M%gpwuI=OdQt`^M$ zS$5FfvSCGKy^zDj(hl*5?+&xYl~yiqi|fO`TGY>LF#G5V7x#p5NBY*Vr3TS%E6j3c z+ABbl$QGJJhVX^Wul%AgnIA^GxKQaQd^V+vi7%bEFq5Z{z}9xm1i|t$+&=8U6E^H4 za3whO{9N0{Jb>iw3T6zMx(zpnxs(y}DW*C{|B|VeWU7^7s`dX*rdnWQ!Zs1om}==v z<$%UiA%gfNl*V4@2Ti6noSf$3Uw$kCc2;GHLz~5r9;|F&WqY&|&;kh11%vP`eo;Kp8}5IRf5`dQwxvK#&{ko zvNi1-AX`^5lzK$Wp(y~7Y#EMlITe!yp(3H0nP}mbSG!pA`DS-Jk+N~*&F95&j@RgX z9xK7>EkMPkepy`V@62S`6XsEoryQXossL-Yfa@0uuw((&YyqEB1xT$i2TZ!KoUEPO z>^W?YFQ2C+!SlWw`F!>7J@-4#Ku~kGA=scP_d#d|+I`q~;l@>^aJHOq9|TM+KZEnf zd8Cw|WjNL^RIBgZ?}=)&O%OAJ7^}fkhr4 z!U*i1l}%1pwDp8!3vIXL9-%0>b}XJ3MU{u4uyfazhrSssfxzO%SXR7u4SbP;eRP?2_4DMA`& zqnROli2eS-F%6pD@^WQ)`P8Keoh>`juL_$=l9rr%8czhzD!W)<%1PYmnPz1-79N}it#ofIB;rxh-IAPtXEL<`%$nDI4eSuF{F57xN9_r*^iN)K~&kV)jUY z*pd?taBnM-*6cY`#Z;$FF=kF5cjka6b*E-^Q>M@;BGCJ;JJWZAf6;f-rK;tuA>`3% zyFnXSNRim_b9BYe@{Drmit`3F-iiDv1m*-pQ9@Ywbs~P1l3#1dul3~D26Fo%cS+{< zu?3aCK1oQQhkE?8sD75z&o%XPUH#lpKi{jLAJor}>ZdBLq)IEP(n_i{TpC=$%z*#j z`@#;7~JMO zuQg=Pi$NRz&wriOrX(WnDNWT|o2l56`njflu1j1^^>tP+CC-@3mxlTk=ec;c$rycZXhvu*7MZ3g1<6s80cqM-1WLl5uLy8ExiYYhz^x4MpuLlU_Xym}zy}088Q|F?lmX_) zPz2VPf=C9Kf{_de3Tzo-63Q~bB<#xolW-sdOu}awU=j{xfJr!#0Vd&C1lE~^nhY=r zCo;e!oXP-Ga3%vx!MO}D1uYq13a({OhHBln1UM-*kB6UvZ@}#h z|6bE~j{cX>u;Nz-SKJvYzq;Q>IpMqnd-}r=>M*l!jS=1&iv^5O@!AL_Ih$=dj@f&& zom^AE5rRm|8Ml2xXRTVil|nzU%`+EIpjn$=0c<1Fi&aO&Hhn?`JU_>&UxUQ4MY~9; z(Z*}34yPth47Ty*F{i_y43e_;1A@OB=&6-Lf-SZt`%3CTD(|tPqz6hm8?U7X8~Q%_ z1dpOm2OMP+bJQjeR}Z+`#wk??=9d$rg;y#wyEx{y8mHQ7oV3+Aet>{YwjU9AUp8%t zs5wXodxQo|r6``97JFUL!HPp;uFCPHlfCgot}!c&_MG_rczL-DQl6h{*ha&FY{=yZ z2h86_tQ?Fp7xm9m0`U*Tg?y*41Oi2xz>CX3F6f#ScA@1h?1%CuoglB%m)&4Nn_19~ zSeQHx(qlGy zb<9Suj@jANgH+zv#_VjW9J4mA4(1Hdas=59DXGz8e)m#>Bt0oe(o=#YES90?YICl3 zDwmKZ=_zRv-18^w>WR5PV<1iW(^2O#ie)s+!6ToC^$g{Kb`)oNxqBdRwKXIC4}nvgFl{PWx~FSoF~(@MW}E5rf@F4fIpX2jv8w(o}>*Rvw$EOc*O zZ;1*&PErHmy37xU6hD^PK6AD~00EX$zvC>$Zic{vr_%(+^@eW8*%#s~MA&c%Ab3PQTK*bx@B+k{mig=nNe% zaykrwV%jR1N>8F6)@Gtt{g^dZYf0_;NNKoS{X@LmI{Od=C?x;`>j{K3dv5#QBPK3k zlvTP(dgzRua0pRNaOE;7_S&aT|IJbb`Q9xMHCVuCNeZ>J`ZEAcmN|+6P6smpRcpxg z0W)1kHpl(x4BVbW-QGz+Cju}yNB|+1MD03^LJLNCjcf(;=T(as@cA)epX;&wP>m&q zEa&%-XytHn16;pP zbALPAv*1-N(Wn1}$rn?NuekdZIU)7sbD~9dFn*i4hat>+t)gkbAC6$h7n*8ZHH3Ab zy2FMpI&tl3Z9n)WAXu^AnOkUTY-b%&<@=#tWk*!m(d@d#Ro;7yk$&+b432>|plvIh zv@u}AGPPmbr3ni39;(sV^n(V^F9R6vK;jpbxaUWaKbT7IsmjV&RRL6oK!(R!Hws1s z(C@=MGWV0VN~9h=ojOqisXb};-L{B+(kEMVqiQVsc47roqNSQj2o0WfyF&-G#Mp*G z-}S_BOtW&n8N=vh3M?$4RNWv7y~qBd1U>CowSYrY>; z{eH&@Db3%QDZm>7#q|>QP)Xu|){XvIC^IR3rzcKc%4jAj#O%9kN6f7K(sWFy;YiP6 z!_}VK>0pZKaDP43Dmeq{2Z4_zQue+6bWZ@1Rh@XX#vi>&04uhQ;qje$A-6TbmVT0W z{u~P#u!;2i`6$jZduPIEkuT(b<_Q1PE^)TOHthW$3pvfR;O)oKDc2vI+-4HG5CT9x z@2rfF4lm($Z7YO`mRU2+;_m9kX116QbMLY>p?bxpqLtO(aZ0a?&PWgk7_%a!yKV0V z!z^r5v~29w-f!fTEnhqDF|^Il_Fr)8I0d?DvzQBxH(hHQ4_hCGOHZxHcO{k&e*xI0 zv$R$s0lUC24SiVlFdM9tsiIm$Z>5rZM-92N0Yb_RP&bD=rK_Z~p82 zdCs3>lgPiuFwNS;ZuV@;357Y)ax3o6t8KROe`1@h{Oi`5m-DUdG`EGIQu*rGk{Nz6 zwlwzsWf?Tm{y)%8+$`DYhD+M1veSEOh0r#V8O(oC3$RTbGh2Z|VD*|h#6V~~1W~q8bdX5f?ou3evL+9okpv?o^#XxpfTW2- z;=Y^xam`zUt82M6D1G9s!NWE039e3KY_&7wgMFzu=EsqK)$kcedFyb}rQPyvLd7AH zh%ThtI8lZdME%5x0UnN!M$xJ=wSvPtyDQ}33!uk3g_4?`ogsvygfqK`dYscPtlEf^TbD@685ha1=HQIBNvCn> z?1*Z8k=*Q1nwx|gcf>bY<7(TueoQJ#t#*l;xT^A*qNw~(MSYf0hZ2YV-k5B}iB(EG z1dd)kj=GodeTBjrMQGq3Nq6d^J3S=99)eE^(%KOtkf9D`hJklJYR8du;zC5RP{<{5 zwEwWM2qx#XwRo&xGfAWH##%Ik0K^aMp0+L)N~Xz14)goa*buwx1@_sitq<5A&x#f#;sOCf__AgZma2` zd`Pp!ns5iHifSGrlE%s;8E#a8uWAUN5~>!se2jK*2Y3t+*AM5zH{G}xm&w>J-vbMc z2#muYV?tF%dn>w|RG15LuCEiaQO%1ac#hz=BzS}1aS}X3@EU~5E0R{@O;;p_o3w^i z0s<<7u=JxWby94#payhONXT46GLa?OM2kUzr2|w=*N~Vq_6A9wd+yD9ATHKjG7gg| z>ws#$$8&HJWuL|4O^uOzsJQXOAFd_m-96OWNoJ%vf+MgvzRWVdCWPHlIU{iRF1d<( z0=y6S5$Z~nz5z?B3F+teNTznbNQQ!(gxadg##x>3r2`FY|Lo+Xa@w2%!VOm`fvFrER&L6t2RF6yb)|l@e|Fkv z*2_nfi&N^At4h65p={7?XeHSQpi(ar4Of+$N{fD&On}f@flk1zKQ!2X&RMeY~6-=X2`+QS7J3F7k^gd@)1{$WR zDy4xxd%3-}yxj8*Ms7S_X8EDL(YZ(}bl26Wne2J&o z#%n~LHJW;JQG3>T~3Icl7Znzoxp*8Lq!En!NoY#(;0)$#^Uv(`ewQ(evmXt@0 zm8ogn?+W-2WS7(6AbM6yKcL1q`+RdkjaFOY zh4ZqeHD$e7B~+L6SC*`ID2Pn;UuKF9No{qbAaC0dOI7Wus7FK*lfTaG^eDStX*AF3 zJT#$4q}PectW^Y?59{Ug>djaBd(NQ5>(4qLXUDxxCUJeNA+FFoA-Xg3l?Uoc`Lujk zk@JkoN$t?oathdToWF7OE!Dgb0z1*bk4|a+IHCS6z)#BcLn4(r^8RJ5+(ZsYie1m+ zO`TeY=N@W|-kizsMTFEO^;)W`g6MP`L-Op){K=~E^{BaD<+7>ax_a3a45wEa2D!Db z_fvRz6j0S@vS%1-yiZnD)mDyo|^6M)tNvNJk<&iiYuoY4PAqw&~l1H+yfiaGaIDvI`h`GDKKim{b}~Zvu^@K?bmpf zHyGn*hi6#O#1bew6omX9=FMcsG`bmpny@v0xTfi(X0%?OChC=wvn$3&&3N_NOl-UFN;0|NyF;={+kqx4bw!!^!W(Pz=VBTx!I$U!GtzaeE?#L zgQ=-Pc49g6Zcy_CrwM@ESscXsjCeBJz@}mDI80Y}gPP;%rH15IC!ExE0ZI+?IDh*z zh4a03zf$f&{DS_{=4;Q!4Fo)u3=e3gDki(cqmF|_;;D)|r8w<&;}Us~%P_=rOd$pL zbcQtA@D=lnmubCSu)B!kRvGUp7E>o`FqHinh= zXDt`%E|&UGYUC@znHJo6u6VyJsB4H+J|Qv)rVlR(sb|o`IAG442dW36PTi&0u}B%) zQf(lYp(L>FtWk#dWI)F)^+~>PQ5-`fyp?=Wxv(w7lObo0FA>uoH^bB$Ql9==z4!^A zHfEP(Zm&I9iQ+k=wn0cXcJ62d;CRB?Gx9{F%Zrvpn-c${U{<>zk2S9O7X}9}yTmkj1Zeeo-Khcksj_2PM4+DqBAh!$d{Fl16Yg2l>w<3}f5M%A}9xDj44 z+(Sy=-cmqG!W)~INA*f~H?9w)~G8Ms4 zDrDbh&`^hkG8q&ONIP*9K@hvaN2qa1wQF$5S#D8WCrk`=9ySdNW4@m((IK8oDg}C! zldgHB$UpY_ejA8;B`V8fES|xXde8PDCfd?#x5PAfix=uC788^Spd~1n{nQc9%wpL`Y6yEqI5t7%#_a*9*tjW;PW~uRCQ|PFmw4&U)GvaQ1mB{1^^g> za0h86u=@s`*Iu!L21xI|v4;$m)D_U(P>r4~a`G<$%YzElbX-264NYe&n8lP3Z@n$7 z4Tm#bK%5y+X&q7m-5?}d@`uosnIiAWUnECUeK9wPC& zP$eVv&LF_9dd62h_+(KhWkvH-+7A`^+m9VOUHQy6SFFMgHpZ1B^}2%CkD8tJywc-l z#RnS`_PpSimQ9sMb%u%_o)yXeDu+9S=*6h;kIlbhliBj26gjdD##HPi1V%4xhS004 zA(H6#W}k1CfK_7jVLtlfuC{Zp0RUwp~DonsFl z$iPFX&3tjL1mOW3{Mr+WE;u7BNy||2Jv9 z)D&is@PIRG&Nb0imZ)@7EFufd7k>IJ{FP0&9<7ib@-smykkDb(o^uvGqlseo$&q%K zKf@}#ODiChl2Fz@m$FpW){M6r%*9~zRh8M@)kHFZuqn46UHbUgPrju3c}S&@-DNeO zm!uB8m(^xv5JWGHS2asw6R&8sH^`X2H_6z*-nChTr^LDLh=6|s!}Bb?ep$NoOlJhw zg6>iFDJ7k0DR3^Ls8|Tw3$z#rBpt0&GS$eOO*Ri zeUFD($tB+Si@;ROl>qUQrt?QwW*oSilsCl(^SX9s;HszH77MPLY*S_J9Jh;R|)n`4FDtDT*x5mZ`^npArfsydQFRHfdu z5b|k3nLgMcZg^PQs+Y-Im}l+Sprs2N{<74(;jYK2W&Y<(W6oy&S7=bC(Bk+H+P|lG zA-pw$qZxBDNe}D>HSWY2 zkC+2>Xxok?sM>WG;<~hjSuGC*(H{d8y4J4WfcE8usyDu83)!SMmeNR7t37l_Su>4P z;N_M1*2~#*jpZ#ev7MS`(;2nYVYB}1UUKuxS!&4dVqX7D7niHD7?l}soH5!YKAV_M zsQJ;|=6<9qc;~$p%(@%by@gN&`RAn5)A+3L2mEYEHaX!A$`h&hIY(HN%i9xtW@}Y~ zR3qG3q2XVlc6@fqh}{v?SbWr2t~l|>yy3V}P-(>XNgElKD|g2mWwN!r~#bI6=@V;6@4bXAzYGKcuhNG|l9j zPCVt)48un0i~z0-$i)CfDWtRuo!^n~7g*zNXxscSEiIX%>E$RfDv06O4qH2;9b^CsNat#j z5JX88ENIKB_AapYMrEIEyLeQOBy|Em}`7kqaGDQ}) z(trWT0nXQwpHwez4u9zu-CrqLNM8|+74W%--6&9tAOQnA$Km zAM|Clwo_}vKiA!2Bql}=>s^OlNeTJ7Lys$%_GZr_2s|}iNq=OjMN2L)E#6Kz@fCTm z=FBhe+6@jt`~SSrebN$3wXXY+y9uVQ53LIy)i_0zt|Z-}9nxUVhx1R=^E6zcCG_cD z6GQ6wb#^QDN+$(R*3th`NSnZU#R|8$bRH(YI9saw42;Yud1%+`Z=Xzqq#T2e`pwxe zlzO_Gg9D?jnfV)(bDciEq6YE17^gg!%c(M1a{*uS+-RXapZ6Jy>^zQ6|E_qW_XDb^n8(f zZCdryjVn-T88WCnrX8UK$bv6k%=Eq=bCfUNwP;LgY)k1X{Rq`{UTa&VI5Jz;o?ct5 zN#l}BP$gr5@8BZVGHyG%#+6os3icZmf2n9#8yI!pCP&3uC*Y;=8D-T;>b*mwqh{GO zpJBvVyg9@h0Av>}1;}a4NR99jHI7Ga#j;Ct=ux=%g32fp)IFX_?ygv#(Bziym+Am*aZb zDl`i#?6f9ySZh`rvZ*i(le9vDmPd_Nr!zaWEm~sJ+G6kv96UEPxg~93+G%Odl(wfqnAlzb!33coP?2xOGFvvZPp)KfL{@75`O@T>rv>EgbA9GO0khAVIIvD#h#@z6r zowyry%|Q>=i_*oV5QaejlAWs6vD2XK=k8?sNbpM(5U@z4=fKT}iTBi-(v!r7PpO)E zQ@B~fb3docCD@qF`rTd+XbBdXVPvfQD^*gR|4o?$SCnZif3V_CdUftLNYA+%0RlX~ z|J|3GP)>#9xAB`Sjko@WxBZ(ZKZQ_L?%G$Lq?2d$dd%z zC!EGVycFTel!+sOv0q>70yl|Z>-4P>^gZ{%(HCn1|5?p}FWLxq0k0KxCM!Cb4{<>W$PID3)1 z&DT);qy<1hIby*NLeVxu*B1k#F`}Q9Qtf5QK2B<|k}BDc5lyHh`~j%)0rZ6&7^hL_ z`h2J364Z^CBy+@#2r~a-1#%aB9{?(3kxG^kqA&ZB&I!2VUx6y%XMPI`;!;e1f5z{e zvdqa+C9SdE%^3!xcK)pWR>9`jbU6f3@bm_ZFb@IsIr=0C9@Z6Y>%e z@ggw&`M`d4FvdqW_V;%vFXtk9oLS!wo)@w}E;_jD4HR&;mPk~bl^3stzZwZ!?2_I_ zsW?K|X^?YxT3l%?Q)ANmEPe0gv+v3s7S+npY(ZqD(Er>KBvQUC*?qK;aGN?}=Ln>| zo<{Db?GLjt?z1Ug%tRk~bKiv>qGAM%0$-RU?Lh)8_;VD1gVj}*s$ ziLN_}ynsKF9VlWOeVVfPoK+o&th6am`*e5XX8yP8&%BrX_lPVy<|h%?|T~oG!=K!;9;`Wc0b6>&c|9Fu`Ubk;ihYsl~ zzrdl0c5NWsCl#kk76aUmnlVp5NtW*7Y>rsvpKLA^&43UEBQpV3ijkiK&BV+eS!D|X z!x#!Uo`-^TB=*!o`1k@GD+YMIonLE9kEgC731ba5R%pC8OK!h^!%A{$%FK$&XzgI! zi~Z$!u8AF^8bZQ8SYk_$qpl$(BQqXWN(B7GFeK(4SOk3yA}$E1URTd1ci}0N3>g%y zo!@CokI|^Jc#u(t(>}yHBE-5Wg2Dc&EI(D8mgN^f*++EFk&s%WMS2dJsX#Byh$+?)r zu)#?6{<-~27@};oxvMKPx>n}iQhS8mfX>_J!5MxH8F}hLOdT19rUY#(n#L6s%i6*P zW7*Qhy>}!A`ok#st<;_t-0>D%R&P@xw8{J0dpibafvLju=s&3Uc4Zty#oG6F^2P!s zM3uo69D#T2mY@#h@{#&*1RGk;7?6x!j#)EB8Ycqb7#q&(6^iC6b2yH-ku{0x5DjgM z^F>I!LkUTemy>u+tVSFvBi zSBs5%2$d7uv6s)j(OTwS)=pommY-ua!xU2A`FH+Tp0eH>k1%9m>L!XE5p@ zBbQ1RR@bD(YS+gJq&5E@Nf+&ST=xQEf?}9Z&0ee-cF1&obWN;?0 z8@`AriEn}y(h|6Le+`zvy62JLG9^q6M0Tr1`anL za$7^nZ$HuJ9|Kz%v^&>Oe(Ih5k|}eK4DSe<%RioX`Cyt0REhn0$_?0DAF38${6p-! zhFDL5d;|!jRu-TQ4IPm`?#3|~^QgpfR$8Q>M;F_)vFDN*T?!6(`c+=6fCc~bm>fe3 zy^K%aGsc$t5#S4|XLWDbvFIsNOj(jSbVmSzQ$e}PD#s#vDa%N~=(~J{x+(kqN1Zv3 zcRY*_V51=-ZnX@yy?|W31ZVkBRyPuQX^x=2hNK}ZL*+RuI3m<_TD$tt?8!w;MQ`~u z>D@g_T{r+lmF)T(y=|yc5DY`P|CBmQO(!;#6-vOkHaxnSBHnLDG&BTP`4%x$P5rVe zU3#Ybyj4_E(!SP-yV{9aExlXimELtb>SE2*3c?2LkG7=}Unb&_U+E+jYQ?L{n7MkT z$`j^uPQf*p0Bml@H6a;|HCJ0&Geyg}u`Vn=E6&h`QckJ{&V0gJkTxvKOH0r6O(VCz zDNS3fjS>T&7j+dcDdk$gmako4be=6?{x+XkQJP6&m`bxUTE3}(k zQgNQvti240+3VFa{8Icwu9k25=vcfded65LkP%qPqe#B+cNv>}0pbUV*V^!{$|EWV zZwSAi*(H!bm**GCo?4uqz9EtfT^r|YJmqVPo4qqZcU^_W$OGB^T7LB22TXKIfb!i* z{b1SoOtGuVhFb8o5Qs&s9Ojbn!9`=Fy#$FZhpjIV69G2I(g|;=>y#y{q?{77tBB&Y z1%IqoJ8eGL|4OtL&H79CLQIDP4=N!UF8n+;Q@AvLe-jbuuNy^Eu~P>$q}s777hL7o zmNiwfb%*-TC|##L@p(NeA+(;GCN%U@({yKC7Gb}=;J7yZ-W0Pe3oaHV?LOb-+OkX&7Q zc&&ht!mz5HMadDfTfW|0aRcXHG3$n6PHi;aAAQj?4dB!)4B*jfb!?3uys%C~=T8r_dlb6Yl@)&g?aG7HF@Q_I9Uw~%y`k{CDfGReKqbC%UZGWVd~?m@2AmXd z*fdAEh*+S|7T!uB)oWNPs_UR7Qx*pChwgIP>4If170Av6^-w}Bb)?HQsc-M7*%Bv? z?VHLnzw?2!s5Z{8yF!Pm1;qz(#m#$^Dad}H)?06ylNWiUxpT6_^6`7| zzR2A@F@!C|OOfGs%u*Mr&r$+QxX33K)*2Amdw-G}=Oy056y5T-B1#>BpwXr;p zF0f4}WXmDy6g4H)^y)~n8(xH!Y2%UiU{bVMB1@P*OL8Dg8m9WrI@8k`&4-KWwnU`3 z9ti9JEBHHmi*49%h(7}t$y*feo~-d0kj3Iu3HK+u{BDVjVsS`T`R*gBmQ@Q&_zDMA z)S|jTj@fmtcX?H7;}n%CnCfJ%nq}srv;Cu*)Vw_bF8^M6i__6&KpjvX26ZJiqeMID z=Hr%l$sg}cF?S|XA&{E?i9r%-?`3Ga2&teYXSMQ4>ptiVNPPI-`X#%$ZBE^hXZi){ z6x*VmhrgP1i!Xc0PcBof)YhJ3Fz0{2@P4&BoG2C4RVMmLNo1fr&6=Q!aZ$vaw8spE zHBzd$giLDkJ0?;)jT$_4kUG@?!#VX@EOn2MRifM^vq%E!2IoEE%|eDYh@+!MLJ2al zY0I&s1B&k2IUupwEMvm)5ur_T1V#?)QP(v-rq^m&pP(J-1k`cFQU&*U2gzh~p^R2@ z9M^QzVBzo?%ZbNP`DbFJDF=H}!*Ojzt<`N2M@Q}W`m>bSI4%an*R#n_r-yfYl_*BH zytoJC7)Cy?wuW^2!I8NusSSNq8c}R+pB_P1_Zt_iagxjDUJj-fh2F*(SQt^t8)V3( z+;rxdh=F~4W^~OG66i)>KgMx9Gq*cp>0jP?bWX);6S)yX3-Q~LjOdFd;v64&S#`A~ ztec%dyD`&|Q8>Nx)1yySK55^L8L<>{@z8ca*LfFlKM~8v*|j1-@{)nVD_U)Xf3^c* zI@*mEg^3`u96kCQ`mg@>;MLu{Gbp9aQ{=!fHO^DmCgi4~lH9aXWqV;ZIG|-5nXLw) zP^k=nVp^aim`7un_aw}?SUr(?Bet=6#7{$QxmTctPe8OwzpcflODlieBsFllzJ4l8 z(^%0)IxiHv9i{FHRM@TdW}I9xJKQvOIXL^9g|(`LVgK&mjj4ELk<2PS8*5v9?C#_m|fpZhH@8{J8absW!Ow>P(h;XK@waEJ#jjR*Jb1NFQ`5 zXY)ITINfk&l4*h7M`0R#$z+D?_&P4cHVhXK69Kvp8pBdqe5ERy`~7k@Vy_=%Q!TBZ z|Jl^Mc>Z;H{7pXh8{3{ho6kKP? zPoU4^ZMDG5V!+pj$Jg-r*TwOsO>lW|p8SdTV zl4$#VnCNT%&)37NpcgRv6ZP{0)jz!_sb!j!MFOuVC(HJp2_F-u=r~k`fI=aYya)$deWf# z`CRbrF}?fqwp#Gxk;&)drMmn15v$wnlZ)y7i1OXzgUiLo;fsstbDHbxIKao_YP;*v z#^!x}{mc1l+voEd`SWAfCj0I3Pq)`c^Y-VZi?_#dvy0E$md*9olPZvEx?Qk!_wyj> z4bAmy;^VaZO7TCD-7fe64=fgR_HkeTIDNaiJlim#*Ed7ggZY`BkP(yUSIJ%T=4pRlAFTn;6iy}HfDXWQ!y`f6RUVA~pa8NJy)-R@%3;$qY4(tWz+ zmFVqrw)MdVylUQTciCun*=z@HwiC6v2-;tJ?`?f7biSp&O)&s7lQ&#G2fU8cuYOdw zU3Um~uV4MRZod||?(*pO0w%p((OtFsoOQjmy?t-U<+|m1%W1pwy6Y|X?Mm{hUC?3s zW5Me?{!Y9r52n`Z&WkRfJh1cUCa~+g3&;=bBx-T-bnZns}{0lPe|A%R+0zJ0=9y)m_2cVBdUAp$?X_t!1i-Mj(ZcDWY3-s;}n>OS1^8SMN@^Z0TC zel~BsxqQ>+8&NAz(C+&Cy!f1W+s=RNhyw$XH<7z`y>H6idR;boy|q1Mlasx835a5aiA1zimXFC*BWr zZ?jw*(fUq;uTgKaE}PNbQr+MBmZMu0ym(2pU8mUVFeJi zBYVqqH=npHd)-96?eGJ8zsU>OTYME@(1tAF;`5U6HlBXPWKgg@{ylf{d1-qazi!X| z2ztZe+qM<-SpT>{d;Q4p&Yt@ogcsSXW1l_m&!)E*=&SzptA4D_kZnhzt}B7}sJ9!B zhqtb`8-5_kz~_e7GtE1af$RRwP-Q<}HPP1d>h9$639xT>5-)_yhG5I{^yVmg<~luu z%YdijWo>uzd)a%WH}b8^InQgSNcZvykoV*B{btDp$;K<&TadTo@o2Y_X#TqR!6U-k zX8yXfUkCVYa&A-rpC$h2Z<;> z_w8jrQ z*Y)o8;ITJw58i;^CBmC&_Ik29%j2v3Sm61rRk6$c^QBt<`Tmgwv;y@OD5Qv*i&KPcJ3xK>JGERzZAJoR)7Xb5KUp)}?aOtiAkewuAN5^H)`o^9 zf8$<;R$duaxHRDS2Mp>7JKw30VTVjhzau3_7N!vjom{%w%(9F@4pJf{>aZ=>rT5Kn z-Y+addwL;~27BmHt-f#-c2U7m%^{{ob^+#WuP~6iWLbXLAHag}+vs`N6)Mg38+QYD z&vpJcw{!RJKg+M&eTC~I7o}p2i1|9N70a-k3#%WD`hn))oxfG{L0R-Kg9oh43_%)U z+XgBYoeLm{n<_D{vJz3ZIIQ9o$sZ`O00qGnR*2OT^SCM^my3=$bKnY~9LmTx5&_hX zeHT?Brwwn;B5aGeQ*dz=9XMdvCd=ku7NS3O_#43w-X1x}f+e!egytMi&HVo=2MD_{ zDKC3Gc3qKQv^5(co7h%u_q&ZmEzTE+)guSI$8`D3TlB35NIE1s#%`zD4#la%CPhgj z*>BkVp{zYi6y2Uj#avG)L-XL}Ht{uMp&ve@M6gDt-DrQQj#%EvW8L-UO53rnsQvi6 z==8OhfUs^}$H-7AJASU>A+N2OJa+zbRmclKaL*vww@$^`7`6$otC=2D>B7!^Iy>A4L%nywqw?G zUjGa&-x?wOAN7_RQ26w${k|JVF?wu+6$VVs$>a+@`1ZNOKE~P_YeE~-UcsFi?Om%xO6~Y*$=gU9coZ&g7;u+ph0@*eMzAk zv`i(mkPP<=MKmXEG4_dlRj@|w3H?PVONBM(o*YfoCF9GQK_yPla^vU=sG$suhATPe zwnh%<&cuP0sw-J2&f$H$A}e=Yj&R7T54%BL7HJ{X3{uvF0)||b5M>>G3R8y%sYyxB zJbujLx@ZYu+VhZ^@M}iqP}MxkVVhk&e}i@(*E^LJRVG*>9H z1l4tt1q>8wsW77l_qQS*Yh0nNy!WfbmM$8x1vEm$(uKPsm`6sSInAZ+Bt z`mHj@khO-&amJZ_hc4?Dn|#87xr9}aR|hq8-!5yZvRj!gtjR$5CrMcc#To)$7xN$N z><^T_v;rPk&%-8~Xwd9oR{3KRsxQdxJ>k<0(^)KP%^)tKwMl;MXpO5s( z6rNuCo@i7>M;tRLHupy}@6w>ERgOEZvY0Lq;MWfpD`ea%!Xfi(1Pqun{hc8i2!qrE zYg#du5?=5%AK72xv?|15r3t2?cX&AYfquy8W=7+lnwck;a1YKYPd6g1ClrTxe+N~;KhRdZ+)0n4n}n%P%n{zW{?LyJ|G8TykI9q10KT*mA~Lr52`re|D9WjU|kS zGOQa!UC!vA97{Kv@MRQTp;J7uS%nI>y(?Q+eLpdJb z5@KGGB6QTmSq`^J_vb+N4=}-`T8DhJ#{R`lR)ikp-JJ~2^XKw^zS!7ZZH*8_I!Of0+xs8UJK+@gGk(5j`3qhJzN5xI{tXv_+ z-r8jBoaE(^<$$4nkZrKAEK*@m;|dDl((bT2N^Vhq09{{O%G7pn1v@htM{f{8Osz!1 zOiLzfm)6UHJPeeLEOPl^xm#b5ps0<#D5kgVkJLt_a(!j2MY`N1RE92N^c5G52f@ZD zgsDsrjxJ6r6y#2!-2i*B#CUcgPj}cq?$vo)%2bDvreP^k%>xEbAE!vPrGJcHLyTK= zq*VQD+^GEJRjW;Zn=oxrTNVHAKP@!v|8SA6oOgm^VO*SL)b~-ofZ}BuvRMVKVb^h10grT;lB;+a30~&sGtxcXR^MN15v_PDD zCL~*HB;r?rV=?2u=ld^QqGNq1*4&?3!F2IN4HtUu)_hz|MlVbF`fLdt5#|Nf3;C07 z9ful;qM|CZ8wd3gYZvDB$4!|nx1wa6l(i$U6pvg@-U$-(VNHjVqX2!A3Hj0oQT?($ zbU7$fx)t*SLCs=T+o@82ZRo9%lcy$6Eyo+IB&%&)7Pc6l+}944<51!?FSVF?&&j7> zPwJls=af8LgR9HZHMcG$VzMYQIMFam&GPb*%t^dAWla%o#%U?#PNFJtIEOC4LwhxD=y?4O4bGKe4=X!ZT5P9Rj`%rN0h+ZVf(9YO4Xt!~5}) z?stGOk{pH5q7d%Pn}dk(c13N~3%><7wZ^<-?rMvP(9oyXISTE`dvz@s%DD`s{}I!) z{L`yE7773@9$$vNt~gpFzFn!0c5~v=eI%Gv&cFQaGv2?(VK*G1xLIx-J>&>h-Pk$c zU{=yJDWf(2d@-&6c(;rhT}eQyo}`P|5Wyl*XsvQMeAlN!(Qb*Xn^WrUMcW@a@ykqV zuFVXy<_O1fe)+PTrOny{(&vJP#EHH=Y(PWNrD5Qg!Pl#*{wjmu%OV;DQ2gimp4QJv zU!jzwq-D7v>1kK#b??%wa2oag=nRvj;|bM^Ym4jae7mqVqkN-Q75*i=2bnRCc z)N%~x{_~fzWa?XM6d>IB=j=+$l4*Xzu!&O@*P9|{jGY2&$w~}IK0j;GF1Jd-`6 z1Gj0oc~qY7*j02B5(E)@Jo1C*JgE9mstPH`ERD~2P*`J$nCS*T7NI~^wiOM|U*2~_z}XRVSLd?rMfD|R;G`C0LN zdIBD5`av-IECd~+TR@|QHdp5mz?uAKaC59p(PY}J7+k5SSnzFQqo`A0GqFu#%%3Wd zQui4jj!N`01eY~{woZ&>7veF%$CaqIVueS7%@i;s1ps`sU1ZhU=bKD&kz`|H(N~k< zo{UyWR*N06J7!YI$&XM_dMR3blE4VhQfegU!KBiE`%q#hrDrl|f6VxZyqgOt)3Urh zG9dZ*eye5d5aR$D`9I1;z6o7C%An&=mLEm_T~r6Y0lGMB zhA0?AmB_rSNv&?>Zl?mF8le2^G$amJny4E|EW$2}Lh>n9EoVNc2|3Aj%}S~2AboHl zJ)6b!=g-OEmJUlyeT)9QHUZ(b{UJIE0KuSyr%^vX&ztlhK3U)Fpw1~lx8uQbfO~G4 zhz~|KUAi2}wGO=t-w(Eu`loOUgr1>aJ&x6j(b=46slwpWw9?wq8Z+26LGO6Sz5RE`=DFwBNL&S9nK3V$VnD6yPSxR^o(RrB_YL)8f$)k+hVdvmWCa<_y3AtDo zWb>5=v303m!6^6}D zEURJTUTtcBRH)mPoL*-oi;F8VVTI-18fi*Cnk*eQV8G52Dd`P_Q0Cq`xlzv{7hHEt zi~C#LRd{W{X(b+;_8>T{vBBDgiE6sS>0c)Z+xKo({xumCJrxwVTL7sqvtpd1=dO&_ zgkx|HIvg+F$BY>gh`bsmEd3fZ6O-!aRJLIi;QnO{l|mgu@0SUpj`D5ddP)o>>}r*W z4sUT5zE-gFr`gBnZ^ZT8XrN@VFQf%Gk1GFtTm`gNikI9KfBu!l@(b9hSam;e)x09t zRXv-Q8Lg|8#p0plse*hhauui`Th&o9O`giS97c^UN(x$7f>osxIXe)(GZ~#XzUu{y zb`}}B%Y$C5W^CP7J0Yh1`-uW*YTk>3CQ=nQp_U{EnFLXnmE|>+T~=8unK#zSz~uNY z21EQwp_c121Dr~4f+7G#aw`ThzZ{N z9pP2yk%GRYcE2TnB7xw$5}q^$ji=X5qQ9<<>Nh#l9HH17;V21~|qiETaBvC%m zWm@Z%GFR{)yLT^85g>N<#`(6T(Us z#{#+K@*`E%s2&Af3eWX$F`xJ6%fy!rp0icrGVEdYm;PGx-444>6)f;Sxmpj|alc$b zIps*>th zJB2lagG`CVwa`HjUjP&~)=88VG*c%rOW zm_}vN@&jUYVW@lQ3g`|#G&?3cN|Y+Fz+%AS1jyJxdw)pk$2!FMi`@QFrZu7urN|ts z)l@73DN==G1ozJ=b0r6v51$|-DL@bK+{vu&b(HBVUk%WtSHp%k9W%iY0Eb}X5daTl z9qjOhFyu_!i$NJHf{=mvT`PyLqA*qzBtn*gQ4p?FMSL#>a}+L)1e@DIEdX&3H;pFZ z2I)$B&`&HrcI=8nrUpWB9D_oCz>1G55~Qmj1Xh!x0@f(&HGS(bu|UL1Fz#$o|xA!r6+ zi~$U>hUO>dWyVKo^T6=;4pQW2pgKUOo8AYuH! zJH3L@AM@cwcJ#LQ=rBU2rN)apiDMJy)sfL3i~SQ-nleQPu!#BvF;B}0PoTNm;7l@R zQ}wap>PPYU-|VC@fOzsB^hU?tr?Q8{NW;UVA_&0oiI9|(cuFh`dt$ncmn-Iip;&oOd-fOcR^VQR|Aqv+CDO> z6;=P;*jqaAZSY1Y;&FHo!-;0%1*+Z~lvEmGwjg5&01ir<1z2L_${`v8vM@J9e*hMe zpNzy*Sm*(3;XD|r?+wg4FPJ|W$mZy`0~{{cl#?vH z)={lcSF{LBP>xQZi#Uo`kuL>x=%6IW2)ZgM6G%VV4b2UI#jKq20qCnH1-x|z7IEJV z3PdO|Umak8Uf_7hA~0QfJtQJ z8cG|^%qMndLH-S@gJ9%(AQlHgx2j7$Yo!2aozAtj7l9X28a*J<>lZ}&^hzH^ez=74n1dO9N zl0Fk!>M8(I)ncR@Rx?%r8uk{sAH*=x4WXfz+{shnp<15kq@g3K5-7y}GK}MmQXu|N z$)X`qe{5Un<1p~az!Ede8)1V(H2q-cTK!W5*Sd9C9;8rEOu)gFZ0kjQ2>g6|`IefF zX~2mKCW@&|qZCuo0KVCLTs@*fLOss$#~J1jVh}Or0{v{s(y%Z%I7G(l!kVKYnVoUK zA0ALJ1Qq@S^n5J>^w}7%HGHlMG6KV4%-Lv=e)23#NOdq8cR@Ar0WK^C7gcxSTeYN0 zGzDU!!8Ix|kP#s{DoP?;0MM*rFjwFWN;^VeqJPO9OdlBoY2Fx?SfZp7jY;bmn9vBS zNeQ~Wt|;R{U~nY3qH8E3j!|I@)_^ZDA1f(onI{QRB*ZO$#iED+lT>qzWF2Jf;(ym^ z9AtvYz#kz^8gy}C3}vN381e67*xm-L;2f1mS5%n(d}30tXl`932#tgw8G8R|cw}WH zn10cMz@?g!&?6Y5!W4kJ4a9CQjRy-EwFlr*orUg|{M%sy^-p`szI(8-0&|;qgU(>a z3OgV;#4ryMS}SxD+h0aGBaH-`Pz3rPG2b0P zOer>RMFkKj>G!LR8V=RWOC>K}nwjsJ*2qu>bA#kNSpX;ixzU%LE0mq$0hJPT8oRa7 z9mlah_X*St_fZf%p~T!72y&(lq=odXX^QZnFhzGfQN^ALJFt>-r6T6&C@3g!>@J!I zfIy2LbU6K_)-WM0%->+92@w@0+z{d^a7lJCj1dBO-zi8gM~raMKL-!$}oIfh^4-PORu7F~I-@)unWW@q+BNu-gjtgX20A z7s?5&Q@OK1B4J8`f`s0zCFTyC4`=Q%$x#`J2wlnaT}4<+R+)f+f(H@i?^)U{F!e5Lw6&e#~)eEAC5W6pMj7WhC8~lLmmpPA%+G6NJ;T z7MO-s*`h0cctt1D$DrHhy_jg76y`2%rO&*z{O%X5KY+tEvc-cN5&!+4#s@^2pm zlF<0@I|PUNQ5YB;|8>Y{_UIVQap5%L31n7ggPrr*p2c4z8E>FMN}RYTyVM~+IdLHl zBaHb;HKoF!P<9)hy(0W#nRFqF;rm>`p)lb9;gARj-MxDrBc3GhsPNZX0;I#@2SMS~ zIhUv*5D1Y7urLZ(t*HPAS0jwtUW~zBhTcX4&D)#D<2iVDE;qQ@x7n#V37&8^NrKCX6gN3*!Xd{Ao*6L|DtOK2r#-SK5C-QTB zO1ja*GGd4V?O7rO=4PX!04A^oNyvL|b|9q;yQrgdV5YDfz{DZ$V^0D8yUHj4coh~#3u0F}l$bO?i)EbtcPa)Q@~(dd8o(hmMKK~2q+hhe6at?0*n@-^9ZVP36VQZjT)c-j}3_dEl2V zXL$jH>@e7GEba*_!l7f-EL#~~%qpQw!dikCSiYI0C!*#*yHF;G)8nw5#BV6pLR-uo zh$E9}3G`I_hOw6tML=~Lw^)zuhwXEHFrRT-YZYT?DtM2SWs#LMbRfG6Kp%PcPwX>) zV0F-qH-yjs0fs<%za~O|Jpxw|);NYXA_O+02wTx2)M`-_trj8D@B_S^8yg*I)i~D9 z4X6rzj@uUiDUaG0P~&z7UGvs^Yr(l1>@a89BNf?OB8S^cRB6+cmPRwFa!hVZy{(YN z&6urp!`o;B7FB=4NJDc}J=otWP#L*}LFG0st#J$V*TPL`+7jOX=p9j#3^){4>5rnF z_Gwo<9_#Gfs}nPsi4qFV6^SLq?;oJru%s)Hh@D}S991Qjs5ik0OJUVqIeOoZ#VwiF z=r#g&def0qsu3zdy;!~uh6g%%WsV^fPb;X0Dp$u(RH+cQFfb#pDh|Ix)dwSi>Q~*jhanIXT#T zS>x-qLiYpod#d3bVRdrC@{n31-8juY9zA8KRu<-hdPxTDP0-?z#L`@;#fu8^eoGlE zf@8H9IcPHTKFi+GE8`pZIAbAahiHOW$B~VdZo4#RGs63NU=VYPZ_Dg}(n^zUacWaV zCT*+3&VGZ?C7&eu^rkC4yNuEJjZ0#{*!_BOoE!{G_qggz*c+MD! zi0X6&gK>#d(j{qcA<~k%L$)D2bcsGYz9FAv#$gEU3rp%)om|@+Qy-!bm>*(rQCm89kiY=fuAt>=cD` zNBPYAoX#}`+v_DA-a>q4KY>7gR4qs>@FT1kP@ z`Pc1)Iwvq&;h5$1Ac`b&&Y!k`XQ~|xV$g!hyhP(G+v@k~Lw-|*bI>Z7r+2nZF9wnK z%mPeM4bKmWNfEeYTVVnmM};XO^;HR+GS6L}^=BpmX9KUtGTCe8*#1Tjk4I}uj(0p- z@6ktl?0B@{{PRNo-uO>sq5k`@V2LbPk3MRRVxb_4pl8`OH$MK4NkSFbP#=9%9mPhG zvovrm*S|@r$0RsY;qE%?TcXU~j9Oy|p-d z8%{@ECihZCI`REzl%71&K}8a=4r-J{FkP_8v9!r`@4;cGeh&~OJ(9b?bMVi4)XE2S zt;_c&0sdBT7{j&Ao2>!$p3mUu8pme)vkdupv23 z=yn1>WrUNsAr1pgn=Z@_4{K@;Nhj*$ZE&6!3?JcGn^WDZreiO zipn1CqvyRh1XYL|xOqJ;jdX%z-9`ap%9Xh;SMR)rnI&%t&cV^o1B4(%xeb@U8t$VED#*yv2RJ|JJPAq zW1KBH0&*|U!*bhumI`S|byvI(Ua>S&<7B}7rJ2~{x@K{-Y$Q#d2H9{!R*I+u@ zKd3)Bl1eP0Ola|=^X=h>vzWrgRPPq2j=|jSMQz|K^+=xBH^Q29sxD2Bo|58juVuB+ z#!IDy=>i~dR8?|!*bN=l1>>X?lyKrGX#}VKbJcrHI%$p$o%rw3Ny^ESkjZcb>Zs-*!pIRyuSJyJ zzgzK0D%B{J+>k%XOej|r-sOwYd5zcks3$ps*wB=MT4QI{vDq1amL~4NI&pnNO?39? zu(>0Sj~gPu`FckmK1bZnOVCUfM>`GkoYN3UWP?){q`%Fd%{z%{j~Z)9QK$d)VN( z!-iB-SRCH{)xr`6ahg==W1M9fnrdC%oDN;iEDCF@DGMfP1r6Ha(Mb)aEza8U?Q z(6M~Jz#QpR4-u?B`2j)7zSIcAhjMGyq$_D8Twc^|ha)#FnUo>U%A>1q^|;7csZ5dH zEFjn{E^r3zYo0B|0&aqK48fOEWmv%Px2iLRX~ieJ^w<#i~@MoJ2ufk`72p!OU$K zby+$mMB$uP7<)z12G}v+4ewkor=*pAKX{0RZRxTWbS7MQy(T%7Rkf#S3(ingUX*4i zI=p$Ws`hXY>CcBSTy~J?hA}z$EH2yJTPP(hkA;JDDOvNI+jd(kCE1PKN$LD%DQSBQ zZNa<005mD}^^ziI@|i+9m&r@ZRw+q$&lxJB4i-vJr_ajIN(Ycj-RexWEURTeQLIkK zGN)>)4Wg{srKFTdN^7=LO8$YJnD_&GQnZ)PTbv~wc;7m+HJl(R@))JsY4n<>ZPwQBF;8Z3h%>r^OU3P`pl+~O7 zT6L6y0Y+A`U?(vz}tpnP!&q(UB} z=P*??I-eJjX4{NqzeJZdp-!>|td$JHCd$yiy)m>IItKe!)6#g$Ue$UR(dAjuSgq#x zn!VgC$vHfm^g_S%w45zcZ3FiiD&Ot`GOFO~4!jy?GjcJLPNk(z@YX(?RWeE;|EzQY zI8?G}CUYrGT=tM1c1d#Iq${bkM#A!L3$t+vh_uvZ!gyA)1FUB3Am$4UV32gFpR&AFuIk}L@;u)mV z?b4Y-4pg%Mf|4o=L&Epjsq2f z{H)|a>I8lMW#0tpTJ&Z>SRL{D ztvL=sEpw`MfK|T-Ye~OOHVT6S~>$ zI|=3zK$rWNw5XTl$5T?R2YJHZW~Y=%6?4+T23P((6@3dtX7yTA8kDtbgP(8gg1aza z6DtQcX?ISVg`#G0Khe4k_CHnRwP|+)%9oY)fx)SC3Jg-QSj^^f>0&`vq$RtATbPTv zyi&|cmEBS@HI)M82S!*2Ro=yRhI4Fm{az!yG!(#VeGO-4YJ9y#txr0}1a$&ojW<<$ zqK#%Iui^zv~ehBVw6i&=r(HZyQi79C>uWR%ePS84rFf zLXVoyWpmmYFxz_&A%pakG??_9l9jW$tac`?NDCle5PlYvPO3sZ6hVD*nM^*PO&7uK zfW&F(Ixr&V^7%ZTao%6?-?P#ts+g28G_&Qj(Hk3#lVwCa8<^Pc*T8SUqzBl%fE2qG z*@Tc~PgJZeDfpJ6TAkhC{HLkVKOOAw;fB>}k*VIbL{}2TOUk(fWY8IC;+;YuyB?n! z)Lm0M;01l(6sBUuw5Sjj|8!MP9A(6<)K$}f0zO{e3om0&N~`T-l9{qdI15N? z7H<{;FWrFA6uUYT9Kg2LOU$0{S^e%5R2iZzR3I%#-u7~PTuw?=GTj=KbsFBni>%wK z4Foka0hOTJZM+)Q0Kqo~Kx`I?VWQx!VMxA2!Uo3;2Ml(*U^4i2JK4BaVEnIK0o5VrG{Bb`GyLH5yS*cc6mcaX5 zIX2t0t<1#P#$6EY#`0YG+`@8s4tj)UX(}a4(+ejih4EHTciJF{8I<-SUYEIQsP*Bt zH9sO=_Tn#MJQ}KXoT^#rt>U+2GSRbR4gVDQ-aSL@LhD#T=X+&q8FX*F<>u6^2?AVR zS+CB63PAGmbOown4n5_S4GdgI@4AeE?eU@xHQV;K``{<_9#+}&g;-;CF&Yh zNdhO38i~4P^%}YfP25iGgByuNR%2?HZakjqh8N4?UBadC8lHK}XrPI;eKjsJcaKeb zq{oWG?&4-<>G~0E5ZwsKcMfNPQsmIpm3R}Els2h*^>1uTU>^kiE?!wZ%XR1*qjGHM zb{$6`BdU?2nMgocN0?@Y6qsWRYd6e1G^_PE+s6{ueYV4Ns4-r`{>c&sVTc$04XxJqigKP6S3MT;Drh(q`n<*F`J&7~TZyrup42bK2sE&#JS}`) zFJ=mOmWrXkAhVdy74c}#LQcVBH#McGNbOE!DyvAdf?K|SEzB#WXyC&JJ)0wR4!FPx z_NK3EOy{AE)@Ka3gq9YQ;1<0ihd5hGEbu6tBUxMx*t#Zr`xM7_Q=XORxhm;$)c6anlknT;we| zZRq@<_d7ol-6M<&zB9rnVTgfQSlR`R$))H&C5`8rWDC+xeMAP(Z^g*J+taZrQpow!c<~PXlq>+?NeZSLtTUMQ%nMK56~#! zCyGlkjG-EGUU^cg#jq7{Z398{v7tf7WCne%gCbbc>pjcY%4&?ufU?4|BzT?&T7wz{ zn^CRC*pUD^s8lt^UIbWmzA)1xGWQD8MfZoT09=j1MA-~uF2<;cV|5$WzUh~FZZyi2 z4KAg(J{8RL7{s;?HP@@R(FaATZs`pN8vm&iB$?(-@N$d^_7kE^m;u^n&025aXWz@- zmk7{F7@r_O4i6~ujCC;8?=EUh9E(IFV5qVV0}zO+#Tf~ls<3TV_erTU1_j()TzrG~ zCoj^RO;Xw$hwhJx!I2(=rgd%IK%|2)NP($a)IqDkDyBxEf{R-R0hAXnCMsUQ^f)!f z`Q#36LhFohf0zmLi92<2)@cqhVR#C*I>O@%<|@yP=tn#Renea6Ovv&Gs~VGx&9m%{ zD8q;Z7>BD{M~v`dQlY!vroq-h^XNo=Im|W=C6>!Dz`{CSTA3>^Zm+D*;n;BAiv9M3 zmy^*q!g`!{kWEE>guyXN&Q|O!=%uGKC7L&Kt#vNUyjZkEqcD< z4wh{dg6XRu4okS{!OI)N#mLa8Jf<*Rd1RT3Z02?-NpG~AlvGBEPh>-)Kc0B%>EvUH z|MK8NN%`gLxORn8FCGQMXNniepG_*6a`-;$3}lf3Jyl8uOXf8a{S1xLr@?Quwo zhtwE{l<|(j1l&#L=qKP-BWdgzJGw&yyXyR@)BL&m4;Sv zWdo;kGON=<*dCRrf#ZF@O?lbU zFlDcIeBlWb+p|YlRUu)k2j1Vn-q#)cM7lC!_QX%xP1Cwx$gXcX#N|9LKSAVD4u^~gS`(qU+z(A45Wzo@kEzP69bR^=u=c*386xDGl zR0CYfWy?GVf3Ux^t5$^?NCny``di}?V`Ii?aH#RnKCF&Q;j}GK%T}AsZETN2?c+EM z(A3^wMl%~UQHax@4Z(4QQY>~i2X#Z6>1paN4kg2xs*5pw zou7vOis*~um<#afB^(*TpymY0+Lm6|_{8hSPrLxmi#|pQ0X8_&G$xt~cMGhT-YBVe zaspHbW!up^)EiZxv%^j6-bl?p4ng$sp)=}Ok*P%Mww5D%>}YdjfD=qF+}dyq_9ZbFpb@{6g~pIHBa(v;H`}j-$elWh?ud z1{Rx|qj6F~w${-X_-T-HCoYk0l5(s9!b%f-%iotkrC+Zjf%y{?=z6wdxMf}Zy=h@X zyLRH#%s*k~cZx*H*7LTZM{ZjN&{R)aLjp;M9M#=19n_ID<~h~z=rv=ejC^|3@cj85 zPV;xh@F1pXs(Z}ZroLu-zaf|$C-CfNM+nn}J%`y}aUE@j&PP6>m7V<*PhJhfNR zTD0Y53Wkpcb1ml7PS<0ldu(dnr{D_v6ikul;6<HW~FhEdS56442XV{_2u z#^`kZP>>VM@|Z#e==kN5?ZiM$t@tZfW{;D$ZuLAp^BZz?jCU3$>pPCf>0pdNhLXWw z9QU0hNymn9BX+Ae`@eLYqV0jp+|Zi?j>+nY(t+z((;E%VTre9t9r8PUob(;&3UsUq zT>0L!_Ow|l?dr+WHgvWMZ&ibO#olW7IMN!*dkbTjnZ=odaqW!zu7`D z#<(=J>^Wbo=#>*@?m44$daTw%^Rr+!4V;s~-u^#C45vCcVhcdbAL{|1IDa%Wl!YvX zaA8mh3b9*C#<|Z)X(dKg{2|zY)@V|$3rPJ)2OO*@;t3udSjV9-a9zQ&U@+&ez@Q{% zK0`p*ZI+V3azP8LJp4vqm)T~DVD`0Icldxvj|LWoX6CwD9k(&tiT$=lYlNZ5iMF+$ zK=d=-G;ks$LzC5AaMGYAVRVa`MmixFs$yt3+qjAuMXfBg^I?_KJ_a&d-q09_={s*w+cByibq`@^F^-sl1@u-+ zw2nl?)-n%Da2>xD;rfbWrSMmIf;)C3K4ZBv4v)U_dP4gIcov9j4gs(K4cmSQW8;55GOEPvwl3}|GugA1MT70%d0;t3#SHr<)IWAr| zy&jH4WBW4)Xx5H{KCr-0#Ap=fvoFUNI$Z4GFE^VVReTQ-cjQ(rGQQ1Kv~;x9ed&l) zBM`P}5xYKRrXhcm##Ko8n!n+TI zn|N4^Be&!2cvOi%`+o& z0AH|8?s<&f;df{n0nlh5(B01YmF=Iw=0;XbkgZxcoFGD-vyzifj_z}N=J3PXj2p5i6g5iBog{riV zK+Kq|m!GQ-ZP#MkxZAkNH!JNQ@ln(xM842!jQ$9?S&a=VE~v*soI<-{wJh3euzft@ zTpHfIuAIl>*-UJqyg!84TR8jn|Af3Z~pl1rwI!G@wm6w%tp-?QO(okJR zX#=Vnkf& z5b=nQ@r;VU1m`?(a3+3Lac_hMc?85I6sNFl1nU#Xf9yM2qN$qH;^tR|*U)6sndq{a zbL66GPQt`F4e0Cbgl;Ab+~5OxKVqqu$4~GLdxm|buFRH~=cbpdm87&4Yhze4-h;k0 z29F#*vr&aUv)>C=>0KC;0w0Tv^~+<>f-fH2w~n^7L+0+v5&U}N2&l3&HokZi&rZ#aSg_&a zWpITBuC9(NCnEM#&{fFrT(^{)QvQGH-u*p}>pBqpS3nGx?hcAzzaNC!44wptC-EdH zGyJN%3ymTg)j)SO9;CDj$)fCW6pOJFCr%to8ru>@%M`7LBhixZedA=jli7)r(M(?6 zov%R7FPrb%)xWU!oO5s0t?FCVP14Ek+AX5H>ORjs_uO;NJ&!^qHMIgdG+=wdHKn%)rJ{{>=3LS5ZZL;OAM~tn-&ENEhGJCL9N1I@XYwApz zje>`?j9!h&@bNZzX#YVQ!w?NyHDK|ld#J!E_^_)0UNg7`7!38ImP53_@TSHXVN^R| z$83#ODz@ys1mP-JOQH&s*y>^JvZG2xVI=AO&0I=q=JBYZ-Pxu%@$vnPNU) z$R{)Dd?A%g7qm<4X?l>I%*A4&kjxbe`BWyEVVsp+N)4v7xnwZ|r*AQp&SbUAp`&Ar z1q3?Aj&6kTgHoXY9oY#Z8&VB-*VUBkB9*k82W1cz_PQ0UFt(a)Q_mx^+^q(;VfSim zb*o`obH?6cW3OM^?N)RTbbiCz+YmN*D`>fK@C3DKKX6sz{u4AHZ^iQsba8!xRv-oz zY6+J%OmH!{-mMMs*PH!PuT^AY^Treu3m5R-8cROP06lOQ(Ymj!HOdd8Lua|CFMiqWH zSVW%qs)C$>F@Ljuz(ze2bSWKG!O62#rrQMI|AY!NDjKPASLlkDO46z4`9=(9Alqt&MLoN8dH^Eb;WT+ z@@+c=2VC!T)q9?fpem7^MP+Y>RTWy@1?wwT?=*gW^!u6 z=m;D}YVx@@55z(-XE*d+qfZBSH*ouhQA1EG;gm(uV_nxJ#w4`4D;+?o&oYcE2EoEs zjD3dU5c9<1uUmBd4)#sJtpQNt8O3be+kip6s&7-8rKO;3y0y-}BZpK~Slx03>nsco zLKz1moGiD=k8MPd7Is9pCD%4LmHh&L%6;L1Z(Cw4Dai4#cI*vZL|^0O(9FZtW>fcY zTkbYEgU=wPYt?@`Jgx5`O@6{5eXF}4TW zQk1el6)Z5*D5X>RTtORwStil5)19k^A$GI)6GP?A1h=X{2|nc!h5s*kOw#*BHvdJ& zJv1SRgmC`cBBW>I18*R9pc9imvB`t3>5PkqQ=h?acuxgCDOA0+MwLLw!y4O+u}A_p z;oTIOybRWZG9#>~4cp#6d*;mE-kv*nHjy)I0%rt*GCmn;2ghp$aW

GM;U+Hbt23 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


>j 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 z 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 diff --git a/tools/vscode-radical/webview/assets/index-CF2Dm6ou.css b/tools/vscode-radical/webview/assets/index-CF2Dm6ou.css deleted file mode 100644 index dde62f5f..00000000 --- a/tools/vscode-radical/webview/assets/index-CF2Dm6ou.css +++ /dev/null @@ -1 +0,0 @@ -*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--c4-person: #08427b;--c4-system: #1168bd;--c4-ext-system: #6b6b6b;--c4-container: #438dd5;--c4-component: #85bbf0;--c4-component-fg:#000;--bg-app: #131322;--bg-panel: #1c1c2e;--bg-toolbar: rgba(20, 20, 34, .78);--bg-canvas: #0f0f1c;--border-color: #2b2b44;--border-color-strong: #3a3a5c;--text-primary: #eeeef8;--text-secondary: #cacae0;--text-muted: #9898b8;--accent: #6ea8ff;--accent-rgb: 110,168,255;--accent-soft: rgba(110,168,255,.12);--danger: #ff7373;--success: #6bffb8;--warning: #ffc36b;--canvas-dots: rgba(255,255,255,.06);--minimap-mask: rgba(15,15,28,.7);--hint-bg: rgba(15,15,28,.85);--hover-bg: rgba(255,255,255,.07);--hover-bg-subtle: rgba(255,255,255,.05);--hover-bg-faint: rgba(255,255,255,.035);--input-bg: rgba(255,255,255,.05);--handle-bg: rgba(255,255,255,.4);--handle-border:rgba(255,255,255,.6);--edge-label-bg:rgba(15,15,28,.85);--edge-label-border:rgba(148,163,184,.3);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--shadow-sm: 0 1px 2px rgba(0,0,0,.18);--shadow-md: 0 4px 12px rgba(0,0,0,.28), 0 1px 3px rgba(0,0,0,.18);--shadow-lg: 0 12px 32px rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.22);--shadow-glow: 0 0 0 3px rgba(var(--accent-rgb), .2);--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.3, .64, 1);font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:13px;font-feature-settings:"cv02","cv03","cv04","cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:var(--text-primary)}[data-theme=light]{--bg-app: #f4f5f9;--bg-panel: #ffffff;--bg-toolbar: rgba(248, 249, 252, .78);--bg-canvas: #f2f3f7;--border-color: #e1e3eb;--border-color-strong: #c8cbd6;--text-primary: #1a1a2e;--text-secondary: #44485a;--text-muted: #6b6b80;--accent: #3b6fe6;--accent-rgb: 59,111,230;--accent-soft: rgba(59,111,230,.1);--danger: #dc2626;--success: #16a34a;--warning: #d97706;--canvas-dots: rgba(0,0,0,.07);--minimap-mask: rgba(244,245,249,.7);--hint-bg: rgba(244,245,249,.92);--hover-bg: rgba(0,0,0,.05);--hover-bg-subtle: rgba(0,0,0,.035);--hover-bg-faint: rgba(0,0,0,.022);--input-bg: rgba(0,0,0,.035);--handle-bg: rgba(0,0,0,.3);--handle-border:rgba(0,0,0,.4);--edge-label-bg:rgba(255,255,255,.92);--edge-label-border:rgba(0,0,0,.12);--shadow-sm: 0 1px 2px rgba(20,30,60,.06);--shadow-md: 0 4px 12px rgba(20,30,60,.1), 0 1px 3px rgba(20,30,60,.06);--shadow-lg: 0 12px 32px rgba(20,30,60,.16), 0 2px 8px rgba(20,30,60,.08)}body{background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(var(--accent-rgb),.07),transparent 60%),var(--bg-app);height:100vh;overflow:hidden;-webkit-user-select:none;user-select:none}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#7f7fa038;border-radius:10px;border:2px solid transparent;background-clip:padding-box;transition:background .2s ease}*::-webkit-scrollbar-thumb:hover{background:#7f7fa066;background-clip:padding-box;border:2px solid transparent}:focus-visible{outline:none;box-shadow:var(--shadow-glow);border-radius:var(--radius-sm)}.app-layout{display:grid;grid-template-rows:48px 1fr auto;grid-template-columns:220px 1fr 260px;grid-template-areas:"toolbar toolbar toolbar" "leftpanel canvas rightpanel" "timetravel timetravel timetravel";height:100vh;transition:grid-template-columns .22s cubic-bezier(.4,0,.2,1)}.app-layout.lp-collapsed{grid-template-columns:18px 1fr 260px}.app-layout.rp-collapsed{grid-template-columns:220px 1fr 18px}.app-layout.lp-collapsed.rp-collapsed{grid-template-columns:18px 1fr 18px}.app-layout.mode-presentation{grid-template-columns:240px 1fr 260px;grid-template-rows:48px 1fr auto;grid-template-areas:"toolbar toolbar toolbar" "leftpanel canvas rightpanel" "timetravel timetravel timetravel"}.app-layout.mode-presentation.lp-collapsed{grid-template-columns:18px 1fr 260px}.app-layout.mode-presentation.rp-collapsed{grid-template-columns:240px 1fr 18px}.app-layout.mode-presentation.lp-collapsed.rp-collapsed{grid-template-columns:18px 1fr 18px}.app-layout.mode-presenting{grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"canvas"}.app-layout.mode-metamodel{grid-template-columns:1fr;grid-template-rows:48px 1fr;grid-template-areas:"toolbar" "canvas"}.slidestrip-bar{grid-area:timetravel;height:64px;background:var(--bg-toolbar);border-top:1px solid var(--border-color);display:flex;align-items:center;gap:0;box-shadow:0 -2px 16px #0000001a;overflow:hidden}.slidestrip-play-btn{flex-shrink:0;width:48px;height:100%;background:none;border:none;border-right:1px solid var(--border-color);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.slidestrip-play-btn:hover{background:var(--hover-bg)}.slidestrip-play-btn.active{color:var(--accent)}.slidestrip-track{display:flex;flex:1;align-items:stretch;overflow-x:auto;height:100%;gap:0;scrollbar-width:none}.slidestrip-track::-webkit-scrollbar{display:none}.slidestrip-card{flex-shrink:0;min-width:90px;max-width:140px;height:100%;background:none;border:none;border-right:1px solid var(--border-color);color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:6px 10px;transition:background .12s,color .12s;font-family:inherit}.slidestrip-card:hover{background:var(--hover-bg);color:var(--text-primary)}.slidestrip-card.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.slidestrip-num{font-size:10px;font-weight:700;opacity:.55;letter-spacing:.04em}.slidestrip-name{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.pres-dock{grid-area:timetravel;display:flex;align-items:stretch;background:var(--bg-toolbar);border-top:1px solid var(--border-color);box-shadow:0 -2px 16px #0000001a;height:110px;overflow:hidden}.pres-dock-controls{flex-shrink:0;width:240px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 10px;border-right:1px solid var(--border-color);background:var(--bg-toolbar)}.pres-dock-controls .pres-picker{padding:0;border-bottom:none}.pres-dock-actions{display:flex;gap:6px}.pres-dock-track{flex:1;display:flex;align-items:center;gap:6px;padding:6px 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.pres-dock-card-wrap{flex-shrink:0;min-width:220px;max-width:280px}.pres-dock-card-wrap .pres-slide-card{height:100%}.pres-dock-empty{padding:12px 16px;white-space:nowrap}.toolbar{grid-area:toolbar;background:var(--bg-toolbar);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:8px;padding:0 12px;position:relative;z-index:10;-webkit-app-region:drag}.toolbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.18),transparent);pointer-events:none}.toolbar>*{-webkit-app-region:no-drag}.toolbar-title{font-size:14px;font-weight:600;color:var(--accent);margin-right:8px;letter-spacing:.02em}.app-brand{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px 0 8px;margin-right:4px;background:none;border:1px solid transparent;border-radius:8px;cursor:pointer;color:var(--text-primary);font-size:13px;font-weight:600;letter-spacing:.01em;transition:background .15s ease,border-color .15s ease}.app-brand:hover,.app-brand.open{background:var(--hover-bg-subtle);border-color:var(--border-color)}.app-brand-logo{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;color:var(--accent);background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.06))}.app-brand-name{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--text-primary)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-brand-caret{display:inline-flex;color:var(--text-muted);transition:transform .18s ease,color .15s ease}.app-brand-caret.open{transform:rotate(180deg);color:var(--text-primary)}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--hover-bg-faint);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:500;transition:background .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out),transform .1s var(--ease-out);white-space:nowrap}.toolbar-btn:hover{background:var(--hover-bg);border-color:var(--border-color-strong)}.toolbar-btn:active{transform:translateY(1px)}.toolbar-btn.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,white),var(--accent));color:#fff;border-color:transparent;box-shadow:0 1px #ffffff2e inset,var(--shadow-sm)}.toolbar-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.toolbar-btn:disabled{opacity:.35;pointer-events:none}.toolbar-btn-accent .toolbar-btn-accent-icon{color:var(--accent)}.toolbar-btn-accent:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.toolbar-sep{width:1px;height:22px;background:var(--border-color);margin:0 4px;opacity:.7}.toolbar-btn svg{width:14px;height:14px}.toolbar-mode-switch{display:flex;align-items:center;background:#0000002e;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:3px;gap:2px;box-shadow:inset 0 1px 2px #0003}.toolbar-mode-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:500;transition:background .18s var(--ease-out),color .18s var(--ease-out);white-space:nowrap}.toolbar-mode-btn svg{width:14px;height:14px}.toolbar-mode-btn:hover{color:var(--text-primary);background:var(--hover-bg)}.toolbar-mode-btn.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,white),var(--accent));color:#fff;box-shadow:0 1px #ffffff2e inset,var(--shadow-sm)}.toolbar-dropdown{position:relative}.toolbar-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:260px;max-height:320px;overflow-y:auto;background:color-mix(in srgb,var(--bg-panel) 94%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;padding:6px;animation:qs-pop-in .16s var(--ease-out)}.toolbar-dropdown-item{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:12px;color:var(--text-primary);cursor:pointer;border:none;background:none;width:100%;text-align:left;border-radius:var(--radius-sm);transition:background .12s var(--ease-out)}.toolbar-dropdown-item:hover{background:var(--hover-bg)}.toolbar-dropdown-item.create{color:var(--accent);font-weight:600;border-bottom:1px solid var(--border-color);margin-bottom:2px}.toolbar-dropdown-empty{padding:12px 10px;font-size:11px;color:var(--text-muted);text-align:center}.snapshot-item{cursor:default}.snapshot-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-time{font-size:10px;color:var(--text-muted);white-space:nowrap}.snapshot-rename-input{flex:1;background:var(--input-bg);border:1px solid var(--accent);border-radius:3px;color:var(--text-primary);padding:1px 4px;font-size:12px;outline:none}.snapshot-action{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:3px;font-size:12px;color:var(--text-muted);line-height:1}.snapshot-action:hover{background:var(--hover-bg)}.snapshot-action.restore:hover{color:var(--accent)}.snapshot-action.delete:hover{color:var(--danger)}.toolbar-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);white-space:nowrap}.toolbar-select{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-size:11px;cursor:pointer;outline:none}.toolbar-select:hover{border-color:var(--accent)}.toolbar-select:focus{border-color:var(--accent)}.app-menu-wrap{position:relative;display:inline-flex}.app-menu-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;min-width:240px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 1px 2px #00000026,0 8px 24px #00000047;padding:6px;animation:app-menu-in .12s ease-out;transform-origin:top left}@keyframes app-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app-menu-section{display:flex;flex-direction:column;gap:1px;padding:2px 0}.app-menu-label{padding:4px 10px 2px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.app-menu-divider{height:1px;background:var(--border-color);margin:4px 2px;opacity:.7}.app-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:12.5px;text-align:left;transition:background .12s ease,color .12s ease}.app-menu-item:hover{background:var(--hover-bg)}.app-menu-item.danger{color:var(--text-secondary)}.app-menu-item.danger:hover{background:#ff6b6b1f;color:#ff6b6b}.app-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.app-menu-item:hover .app-menu-icon{color:var(--text-primary)}.app-menu-item.danger:hover .app-menu-icon{color:#ff6b6b}.app-menu-icon svg{width:14px;height:14px}.app-menu-text{flex:1}.app-menu-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px}.app-menu-row-label{font-size:12px;color:var(--text-secondary)}.app-menu-select{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:4px 8px;font-size:11.5px;cursor:pointer;outline:none;transition:border-color .12s ease}.app-menu-select:hover,.app-menu-select:focus{border-color:var(--accent)}.view-bar{grid-area:viewbar;display:flex;align-items:center;gap:2px;padding:0 8px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);overflow-x:auto;overflow-y:visible;min-height:30px}.view-tab{display:flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.view-tab:hover{background:var(--hover-bg);color:var(--text-primary)}.view-tab.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}.view-tab-close{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;background:transparent;color:inherit;font-size:12px;line-height:1;cursor:pointer;border-radius:2px;opacity:.5;padding:0}.view-tab-close:hover{opacity:1;background:#ff6b6b4d}.view-tab-add{font-size:14px;font-weight:700;padding:2px 8px}.view-tab-input{background:var(--input-bg);border:1px solid var(--accent);border-radius:3px;color:var(--text-primary);font-size:11px;padding:1px 4px;width:80px;outline:none}.sidebar{grid-area:sidebar;background:var(--bg-panel);border-right:1px solid var(--border-color);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:0;position:relative;min-width:0}.sidebar--closed{overflow:hidden}.sidebar-toggle{position:sticky;top:0;z-index:2;width:100%;height:32px;border:none;border-bottom:1px solid var(--border-color);background:var(--bg-panel);color:var(--text-muted);cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s}.sidebar-toggle:hover{color:var(--text-primary);background:var(--hover-bg)}.sidebar-section{padding:10px 12px 4px}.sidebar-section-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.palette-group-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:8px 10px 2px;opacity:.6}.palette-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:grab;transition:background .15s;margin-bottom:4px;border:1px solid transparent;-webkit-user-select:none;user-select:none}.palette-item:hover{background:var(--hover-bg-subtle);border-color:var(--border-color)}.palette-item:active{cursor:grabbing}.palette-badge{width:28px;height:24px;border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.palette-label{font-size:12px}.palette-sublabel{font-size:10px;color:var(--text-muted)}.diagram-tree{border-top:1px solid var(--border-color);padding:8px 0;overflow-y:auto;flex:1}.tree-node{display:flex;align-items:center;gap:4px;padding:4px 12px;cursor:grab;border-radius:0;font-size:12px;transition:background .1s}.tree-node:active{cursor:grabbing}.tree-node:hover{background:var(--hover-bg-faint)}.tree-node.selected{background:#5c9bff26;color:var(--accent)}.tree-toggle{width:14px;text-align:center;color:var(--text-muted);font-size:10px}.tree-badge{display:flex;align-items:center;flex-shrink:0}.tree-view-toggle{flex-shrink:0;cursor:pointer;font-size:10px;opacity:.5;margin-left:auto;padding:0 2px}.tree-view-toggle:hover{opacity:1}.right-panel{grid-area:rightpanel;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 100%,transparent),color-mix(in srgb,var(--bg-panel) 96%,transparent));border-left:1px solid var(--border-color);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:visible;position:relative}.right-panel .panel-content{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;transition:opacity .18s ease}.right-panel.collapsed .panel-content{opacity:0;pointer-events:none}.rp-slider{width:200%;height:100%;display:flex;flex-direction:row;transition:transform .25s cubic-bezier(.4,0,.2,1)}.rp-slider.show-props{transform:translate(-50%)}.rp-pane{width:50%;height:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;flex-shrink:0}.rp-back-btn{flex-shrink:0;width:100%;height:32px;border:none;border-bottom:1px solid var(--border-color);background:var(--bg-toolbar);color:var(--text-muted);cursor:pointer;font-size:11px;display:flex;align-items:center;padding:0 12px;gap:6px;position:sticky;top:0;z-index:2;transition:color .15s,background .15s}.rp-back-btn:hover{color:var(--text-primary);background:var(--hover-bg)}.left-panel{grid-area:leftpanel;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 100%,transparent),color-mix(in srgb,var(--bg-panel) 96%,transparent));border-right:1px solid var(--border-color);overflow:visible;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.left-panel .panel-content{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;transition:opacity .18s ease}.left-panel.collapsed .panel-content{opacity:0;pointer-events:none}.panel-toggle{position:absolute;top:14px;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:18px;height:36px;background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;padding:0;box-shadow:var(--shadow-sm);transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),transform .18s var(--ease-spring)}.panel-toggle:hover{background:var(--hover-bg);color:var(--accent);border-color:var(--accent);transform:scale(1.06)}.panel-toggle-left{right:-10px;border-radius:0 6px 6px 0;border-left:none}.panel-toggle-right{left:-10px;border-radius:6px 0 0 6px;border-right:none}.left-panel.collapsed .panel-toggle-left,.right-panel.collapsed .panel-toggle-right{top:14px}.left-panel.lp-two-col{flex-direction:row;overflow:hidden}.lp-col{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;height:100%}.lp-col-meta{width:160px;flex-shrink:0;border-right:1px solid var(--border-color)}.lp-col-slides{flex:1;min-width:0}.lp-col-slides .pres-panel{height:100%;display:flex;flex-direction:column}.lp-section{border-bottom:1px solid var(--border-color)}.lp-section:last-child{border-bottom:none}.lp-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;-webkit-user-select:none;user-select:none;transition:color .15s var(--ease-out),background .15s var(--ease-out)}.lp-section-header:hover{background:var(--hover-bg-faint);color:var(--text-primary)}.lp-section-title{display:flex;align-items:center;gap:8px}.lp-section-chevron{color:var(--text-muted);transition:transform .22s var(--ease-spring);transform:rotate(0);flex-shrink:0}.lp-section-chevron.open{transform:rotate(90deg)}.lp-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:17px;padding:0 6px;font-size:9.5px;font-weight:600;letter-spacing:0;border-radius:9px;background:var(--accent-soft);color:var(--accent);text-transform:none}.lp-section-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.lp-section-body.open{grid-template-rows:1fr}.lp-section-body>div{overflow:hidden;min-height:0}.lp-section-body-pad{padding:4px 8px 12px}.lp-card{position:relative;display:flex;align-items:center;gap:8px;padding:7px 8px;background:var(--hover-bg-faint);border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:12px;transition:background .15s ease,border-color .15s ease,transform .12s ease}.lp-card:hover{background:var(--hover-bg-subtle);border-color:var(--border-color)}.lp-card:hover .lp-card-actions{opacity:1;pointer-events:auto}.lp-card:focus-within .lp-card-actions{opacity:1;pointer-events:auto}.lp-card.active{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.35)}.lp-card.active:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent)}.lp-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}.lp-card-title{color:var(--text-primary);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;min-width:0}.lp-card.active .lp-card-title{color:var(--text-primary)}.lp-card-meta{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.lp-card-meta>span{white-space:nowrap}.lp-meta-dot{opacity:.6;flex-shrink:0}.lp-card-actions{display:flex;gap:2px;align-items:center;flex-shrink:0;max-width:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-width .18s ease,opacity .15s ease}.lp-card:hover .lp-card-actions,.lp-card:focus-within .lp-card-actions{max-width:80px;opacity:1;pointer-events:auto}.lp-card.active .lp-card-actions{max-width:80px;opacity:1;pointer-events:auto}.seq-step{overflow:hidden;min-width:0}.seq-step-actions{display:flex;gap:1px;align-items:center;flex-shrink:0;max-width:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-width .18s ease,opacity .15s ease}.seq-step:hover .seq-step-actions,.seq-step:focus-within .seq-step-actions{max-width:64px;opacity:1;pointer-events:auto}.lp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;cursor:pointer;border-radius:6px;color:var(--text-muted);transition:background .12s ease,color .12s ease}.lp-icon-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.lp-icon-btn.danger:hover{background:#ff6b6b26;color:#ff6b6b}.lp-icon-btn.primary{background:var(--accent);color:#fff}.lp-icon-btn.primary:hover{filter:brightness(1.1);color:#fff}.lp-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 10px;background:none;border:1px dashed var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-muted);font-size:11.5px;font-weight:500;transition:border-color .15s ease,color .15s ease,background .15s ease}.lp-add-btn:hover{border-color:rgba(var(--accent-rgb),.5);color:var(--accent);background:rgba(var(--accent-rgb),.06)}.lp-add-btn svg{flex-shrink:0}.lp-inline-form{display:flex;align-items:center;gap:4px;padding:2px;background:var(--bg-canvas);border:1px solid rgba(var(--accent-rgb),.5);border-radius:8px}.lp-inline-input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text-primary);font-size:12px;padding:5px 8px}.lp-inline-input::placeholder{color:var(--text-muted)}.lp-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 8px 12px;color:var(--text-muted);font-size:11px;text-align:center}.lp-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--hover-bg-faint);color:var(--text-muted);opacity:.7}.lp-snap-list{display:flex;flex-direction:column;gap:4px}.lp-snap-card{padding-left:8px;cursor:pointer}.lp-snap-card:hover{background:var(--bg-hover, rgba(255,255,255,.04))}.lp-clear-diff-btn{align-self:stretch;margin-bottom:4px;padding:5px 8px;background:rgba(var(--accent-rgb),.12);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.3);border-radius:4px;font-size:11px;cursor:pointer}.lp-clear-diff-btn:hover{background:rgba(var(--accent-rgb),.2)}.lp-snap-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 5px;border-radius:6px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.08));color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.02em;flex-shrink:0;border:1px solid rgba(var(--accent-rgb),.2)}.lp-card.active .lp-snap-badge{background:var(--accent);color:#fff;border-color:var(--accent)}.lp-view-list{display:flex;flex-direction:column;gap:4px}.lp-view-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:var(--hover-bg-faint);color:var(--text-muted);flex-shrink:0;transition:background .15s ease,color .15s ease}.lp-card.active .lp-view-icon{background:rgba(var(--accent-rgb),.18);color:var(--accent)}.canvas-area{grid-area:canvas;position:relative;background:var(--bg-canvas);overflow:hidden;min-height:0}.dynamic-view-canvas{background:radial-gradient(circle at top left,rgba(var(--accent-rgb),.12),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 18%),var(--bg-canvas)}.dynamic-view-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0}.dynamic-view-header{display:flex;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,#ffffff0a,#ffffff03)}.dynamic-view-header-main{display:flex;flex-direction:column;gap:8px;min-width:0}.dynamic-view-header-main h2{font-size:24px;line-height:1.1;color:var(--text-primary)}.dynamic-view-breadcrumb{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.dynamic-view-meta-row{display:flex;flex-wrap:wrap;gap:8px}.dynamic-view-description{max-width:760px;color:var(--text-secondary);line-height:1.45}.dynamic-view-chip,.dynamic-view-mini-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border-color);background:#ffffff0a;color:var(--text-secondary);font-size:11px;font-weight:600}.dynamic-view-chip.accent{border-color:rgba(var(--accent-rgb),.38);color:var(--accent);background:rgba(var(--accent-rgb),.1)}.dynamic-view-chip.danger{border-color:#ff737359;color:#ffb0b0;background:#ff73731a}.dynamic-view-chip.warning{border-color:#ffc36b59;color:#ffd18f;background:#ffc36b1a}.dynamic-view-header-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dynamic-view-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--border-color);background:#ffffff0a;color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .15s ease}.dynamic-view-button:hover{background:var(--hover-bg);border-color:rgba(var(--accent-rgb),.35)}.dynamic-view-button.primary{background:linear-gradient(135deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.1));border-color:rgba(var(--accent-rgb),.45);color:var(--accent)}.dynamic-view-button.subtle{width:100%;justify-content:center}.dynamic-view-summary-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 22px;border-bottom:1px solid var(--border-color)}.dynamic-view-summary-card{min-height:76px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#ffffff0a,#ffffff05);display:flex;flex-direction:column;gap:8px}.dynamic-view-summary-card.narrow{min-width:0}.dynamic-view-summary-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.dynamic-view-summary-value{color:var(--text-primary);font-size:15px;font-weight:700}.dynamic-view-summary-tags{display:flex;flex-wrap:wrap;gap:6px}.dynamic-view-summary-muted{color:var(--text-muted);font-size:12px}.dynamic-view-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0}.dynamic-view-stage{min-width:0;min-height:0;overflow:auto;padding:18px 18px 22px 22px}.dynamic-view-sequence-shell{min-width:0}.dynamic-view-sequence{position:relative;border:1px solid rgba(255,255,255,.06);border-radius:20px;background:linear-gradient(180deg,#ffffff08,#ffffff03),linear-gradient(90deg,rgba(var(--accent-rgb),.04),transparent 25%,transparent 75%,rgba(var(--accent-rgb),.04));box-shadow:var(--shadow-md);overflow:hidden}.dynamic-view-lanes{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;height:100%}.dynamic-view-lane{position:relative;border-left:1px solid rgba(255,255,255,.03)}.dynamic-view-lane:first-child{border-left:none}.dynamic-view-lifeline{position:absolute;top:16px;left:12px;right:12px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:linear-gradient(180deg,#1c1c2efa,#1c1c2ee6);color:var(--text-primary);padding:12px 12px 10px;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.dynamic-view-lifeline:hover{border-color:rgba(var(--accent-rgb),.35)}.dynamic-view-lifeline.selected{border-color:rgba(var(--accent-rgb),.55);box-shadow:var(--shadow-glow)}.dynamic-view-lifeline.warning{border-color:#ffc36b61}.dynamic-view-lifeline.error{border-color:#ff73736b}.dynamic-view-lifeline-label{font-size:14px;font-weight:700;color:var(--text-primary)}.dynamic-view-lifeline-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;color:var(--text-muted);font-size:11px}.dynamic-view-lane-index{position:absolute;top:100px;left:50%;transform:translate(-50%);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffff0f;color:var(--text-muted);font-size:10px;font-weight:700}.dynamic-view-lifeline-line{position:absolute;top:128px;bottom:22px;left:50%;width:2px;transform:translate(-50%);background:linear-gradient(180deg,rgba(var(--accent-rgb),.45),rgba(var(--accent-rgb),.08))}.dynamic-view-steps-layer{position:absolute;top:0;right:0;bottom:0;left:0}.dynamic-view-step-card,.dynamic-view-step-self{position:absolute;border:none;background:transparent;color:inherit;cursor:pointer}.dynamic-view-step-card{height:44px}.dynamic-view-step-card .dynamic-view-step-badge,.dynamic-view-step-self .dynamic-view-step-badge{position:absolute;top:50%;transform:translateY(-50%)}.dynamic-view-step-card .dynamic-view-step-badge{left:-12px}.dynamic-view-step-arrow{position:absolute;top:50%;left:16px;right:16px;height:2px;transform:translateY(-50%);background:linear-gradient(90deg,rgba(var(--accent-rgb),.55),rgba(var(--accent-rgb),.22))}.dynamic-view-step-arrow:after{content:"";position:absolute;top:50%;right:-1px;width:10px;height:10px;border-top:2px solid rgba(var(--accent-rgb),.55);border-right:2px solid rgba(var(--accent-rgb),.55);transform:translateY(-50%) rotate(45deg)}.dynamic-view-step-arrow.reverse:after{right:auto;left:-1px;border-right:none;border-left:2px solid rgba(var(--accent-rgb),.55);transform:translateY(-50%) rotate(-45deg)}.dynamic-view-step-bubble{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:220px;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#12121ef5;box-shadow:var(--shadow-sm);color:var(--text-primary);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dynamic-view-step-card.orphan{width:auto}.dynamic-view-step-card.orphan .dynamic-view-step-text{display:inline-flex;align-items:center;gap:8px;padding:10px 12px 10px 34px;border-radius:12px;border:1px solid rgba(255,115,115,.25);background:#ff737314;color:var(--text-primary);font-size:12px;font-weight:600}.dynamic-view-step-self{width:148px;height:52px}.dynamic-view-step-self .dynamic-view-step-badge{left:-6px}.dynamic-view-step-self-loop{position:absolute;top:8px;left:20px;width:56px;height:34px;border:2px solid rgba(var(--accent-rgb),.55);border-left:none;border-radius:0 18px 18px 0}.dynamic-view-step-self-loop:after{content:"";position:absolute;right:-1px;bottom:8px;width:10px;height:10px;border-top:2px solid rgba(var(--accent-rgb),.55);border-right:2px solid rgba(var(--accent-rgb),.55);transform:rotate(45deg)}.dynamic-view-step-self .dynamic-view-step-bubble{left:88px;transform:translateY(-50%)}.dynamic-view-step-card.selected .dynamic-view-step-bubble,.dynamic-view-step-self.selected .dynamic-view-step-bubble{border-color:rgba(var(--accent-rgb),.5);box-shadow:var(--shadow-glow)}.dynamic-view-step-card.warning .dynamic-view-step-bubble,.dynamic-view-step-self.warning .dynamic-view-step-bubble{border-color:#ffc36b66}.dynamic-view-step-card.error .dynamic-view-step-bubble,.dynamic-view-step-self.error .dynamic-view-step-bubble{border-color:#ff737373}.dynamic-view-sidebar{border-left:1px solid var(--border-color);background:#12121eb8;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:16px}.dynamic-view-sidebar-section{display:flex;flex-direction:column;gap:10px}.dynamic-view-sidebar-title{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.dynamic-view-step-list{display:flex;flex-direction:column;gap:8px}.dynamic-view-step-list-item,.dynamic-view-detail-card,.dynamic-view-validation-item,.dynamic-view-empty-side{border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.dynamic-view-step-list-item{padding:12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:7px}.dynamic-view-step-list-item.selected{border-color:rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.1)}.dynamic-view-step-list-item.warning{border-color:#ffc36b52}.dynamic-view-step-list-item.error{border-color:#ff737359}.dynamic-view-step-list-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dynamic-view-step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:rgba(var(--accent-rgb),.14);border:1px solid rgba(var(--accent-rgb),.35);color:var(--accent);font-size:11px;font-weight:700}.dynamic-view-step-kind,.dynamic-view-step-list-meta,.dynamic-view-step-list-tech,.dynamic-view-detail-meta,.dynamic-view-detail-value{color:var(--text-secondary);font-size:12px}.dynamic-view-step-list-label,.dynamic-view-detail-title{color:var(--text-primary);font-size:13px;font-weight:700}.dynamic-view-detail-card{padding:12px;display:flex;flex-direction:column;gap:10px}.dynamic-view-detail-row{display:flex;align-items:center;gap:10px}.dynamic-view-detail-meta{display:flex;align-items:center;gap:8px}.dynamic-view-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dynamic-view-validation-list{display:flex;flex-direction:column;gap:8px}.dynamic-view-validation-item{padding:10px 12px;display:flex;gap:8px;color:var(--text-secondary);font-size:12px;line-height:1.45}.dynamic-view-validation-item.error{border-color:#ff737359;background:#ff737314}.dynamic-view-validation-item.warning{border-color:#ffc36b52;background:#ffc36b14}.dynamic-view-validation-level{text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:var(--text-muted)}.dynamic-view-empty-state,.dynamic-view-empty-side{display:flex;align-items:center;justify-content:center;min-height:120px;padding:16px;color:var(--text-muted);font-size:13px;line-height:1.5;text-align:center}.dynamic-view-empty-side.ok{color:var(--success)}@media (max-width: 1400px){.dynamic-view-summary-bar,.dynamic-view-body{grid-template-columns:1fr}.dynamic-view-sidebar{border-left:none;border-top:1px solid var(--border-color)}}.props-panel{grid-area:props;background:var(--bg-panel);border-left:1px solid var(--border-color);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:12px;position:relative;min-width:0}.props-panel--closed{overflow:hidden;padding:0}.props-toggle{position:sticky;top:0;z-index:2;width:100%;height:32px;border:none;border-bottom:1px solid var(--border-color);background:var(--bg-panel);color:var(--text-muted);cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s}.props-toggle:hover{color:var(--text-primary);background:var(--hover-bg)}.props-content{padding:0 12px 12px;display:flex;flex-direction:column;gap:12px}.props-empty{color:var(--text-muted);font-size:12px;text-align:center;margin-top:40px}.props-section-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.props-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.props-label{font-size:11px;color:var(--text-muted)}.props-input,.props-textarea{background:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:12px;padding:6px 8px;width:100%;outline:none;font-family:inherit;transition:border-color .15s}.props-input:focus,.props-textarea:focus{border-color:var(--accent)}.props-input[readonly],.props-textarea[readonly]{opacity:.65;cursor:default}.props-input:disabled,.props-textarea:disabled{opacity:.65;cursor:default}.props-textarea{resize:vertical;min-height:60px;max-height:80vh;overflow-y:auto}.props-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;letter-spacing:.05em}.props-delete{margin-top:auto;padding:7px;border:1px solid var(--danger);border-radius:5px;background:transparent;color:var(--danger);cursor:pointer;font-size:12px;transition:background .15s}.props-delete:hover{background:#ff6b6b1f}.wiki-view{grid-area:canvas;display:flex;min-height:0;overflow:hidden;background:var(--bg-canvas)}.wiki-empty{margin:auto;color:var(--text-muted);font-size:13px}.wiki-nav{width:248px;flex:0 0 248px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;min-height:0;background:var(--bg-panel)}.wiki-nav-head{padding:12px 14px 6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.wiki-nav-search{margin:0 10px 8px;padding:6px 9px;font-size:12px;background:var(--input-bg);color:inherit;border:1px solid var(--border-color);border-radius:6px}.wiki-nav-search:focus{border-color:var(--accent);outline:none}.wiki-nav-tree{flex:1;overflow-y:auto;padding-bottom:10px}.wiki-nav-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:5px 10px;font-size:12.5px;background:transparent;color:var(--text-secondary);border:none;border-left:2px solid transparent;cursor:pointer}.wiki-nav-home{margin-bottom:2px;font-weight:600;color:var(--text-primary)}.wiki-nav-item:hover{background:var(--hover-bg);color:var(--text-primary)}.wiki-nav-item.active{background:var(--accent-soft);color:var(--accent);border-left-color:var(--accent);font-weight:600}.wiki-nav-dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px}.wiki-nav-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-page{flex:1;min-width:0;overflow-y:auto;background:var(--bg-panel)}.wiki-doc{width:100%;max-width:none;margin:0;padding:34px 48px 72px}@media (min-width: 1500px){.wiki-doc{padding:38px 72px 80px}}.wiki-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:20px}.wiki-breadcrumb-sep{opacity:.5}.wiki-breadcrumb-current{color:var(--text-secondary)}.wiki-doc-header{border-bottom:1px solid var(--border-color);padding-bottom:20px;margin-bottom:26px}.wiki-kicker{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--type-color, var(--text-muted));margin-bottom:8px}.wiki-kicker-icon{display:inline-flex}.wiki-kicker-tag{margin-left:6px;padding:1px 7px;border-radius:9px;font-size:9px;letter-spacing:.05em;background:var(--hover-bg);color:var(--text-muted)}.wiki-doc-title{font-size:30px;line-height:1.18;font-weight:760;letter-spacing:-.01em;color:var(--text-primary);margin:0;display:block}.wiki-doc-sub{font-size:13px;color:var(--text-muted);margin:6px 0 0}.wiki-lead{display:block;margin-top:12px;font-size:16px;line-height:1.6;color:var(--text-secondary)}.wiki-ears-sentence{margin-top:16px}.ears-sentence{margin:0;padding:12px 16px;border-left:4px solid #0e7490;background:color-mix(in srgb,#0e7490 8%,var(--bg-panel));border-radius:0 4px 4px 0;font-size:15px;font-style:normal;line-height:1.6;color:var(--text-primary)}.ears-editable{cursor:default}.ears-fixed{color:var(--text-muted);font-style:italic}.ears-slot{display:inline;cursor:text;border-bottom:1.5px dashed transparent;transition:border-color .15s,background .15s;padding:0 2px;border-radius:2px}.ears-slot:hover{border-bottom-color:#0e7490;background:color-mix(in srgb,#0e7490 12%,transparent)}.ears-slot-filled{font-weight:500;color:var(--text-primary)}.ears-slot-empty{color:var(--text-muted);font-style:italic;border-bottom-color:var(--border-color)}.ears-subject{font-weight:600;color:#0e7490}.ears-slot-input{display:inline;font:inherit;font-size:15px;font-weight:500;line-height:1.4;background:var(--input-bg);border:1.5px solid #0e7490;border-radius:3px;padding:1px 4px;color:var(--text-primary);outline:none;min-width:80px;width:auto}.ears-sentence-sm{padding:6px 10px;margin:6px 0;background:var(--input-bg);border-left:3px solid #0e7490;border-radius:0 4px 4px 0;font-size:11.5px;line-height:1.5;color:var(--text-primary)}.ears-fixed-sm{color:var(--text-muted);font-style:italic}.ears-slot-sm{display:inline;cursor:text;padding:0 1px;border-bottom:1px dashed transparent;border-radius:2px}.ears-slot-sm:hover{border-bottom-color:#0e7490;background:color-mix(in srgb,#0e7490 12%,transparent)}.ears-slot-sm.ears-slot-filled{font-weight:500}.ears-subject-sm{font-weight:600;color:#0e7490}.ears-slot-sm.ears-slot-empty{color:var(--text-muted);font-style:italic;border-bottom-color:var(--border-color)}.ears-slot-input-sm{font:inherit;font-size:11.5px;font-weight:500;background:var(--bg-panel);border:1px solid #0e7490;border-radius:2px;padding:0 3px;color:var(--text-primary);outline:none;min-width:60px}.wiki-body{display:grid;grid-template-columns:1fr 270px;gap:36px;align-items:start}@media (max-width: 860px){.wiki-body{grid-template-columns:1fr}.wiki-doc{padding:24px 22px 64px}}.wiki-main{min-width:0}.wiki-prose-section{margin-bottom:28px}.wiki-h2{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;display:flex;align-items:center;gap:8px}.wiki-count{font-size:11px;font-weight:700;color:var(--text-muted);background:var(--hover-bg);border-radius:9px;padding:1px 8px}.wiki-prose{display:block;font-size:14.5px;line-height:1.65;color:var(--text-secondary);white-space:pre-wrap}.wiki-muted{color:var(--text-muted);font-size:13px;font-style:italic;margin:0}.wiki-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.wiki-card{position:relative;display:flex;gap:0;text-align:left;padding:0;background:var(--bg-app);border:1px solid var(--border-color);border-radius:9px;overflow:hidden;transition:border-color .12s,transform .12s}.wiki-card:hover{border-color:var(--border-color-strong);transform:translateY(-1px)}.wiki-card-open{display:flex;flex:1;gap:0;text-align:left;padding:0;background:transparent;border:none;cursor:pointer;min-width:0}.wiki-card-del{position:absolute;top:5px;right:5px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:5px;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s}.wiki-card:hover .wiki-card-del{opacity:1}.wiki-card-del:hover{background:color-mix(in srgb,#dc2626 16%,transparent);color:#dc2626}.wiki-card-bar{width:4px;flex:0 0 4px}.wiki-card-body{display:flex;flex-direction:column;gap:2px;padding:10px 12px;min-width:0}.wiki-card-title{font-size:13.5px;font-weight:650;color:var(--text-primary)}.wiki-card-meta{font-size:11px;color:var(--text-muted)}.wiki-card-desc{font-size:12px;color:var(--text-secondary);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wiki-rel-list{display:flex;flex-direction:column;gap:4px}.wiki-rel{display:flex;gap:10px;padding:9px 10px;border-radius:8px}.wiki-rel:hover{background:var(--hover-bg-faint)}.wiki-rel-del{flex:0 0 auto;width:22px;height:22px;align-self:center;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:17px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s}.wiki-rel:hover .wiki-rel-del{opacity:1}.wiki-rel-del:hover{background:color-mix(in srgb,#dc2626 16%,transparent);color:#dc2626}.wiki-rel-arrow{font-size:15px;line-height:1.5;font-weight:700;color:var(--text-muted);flex:0 0 auto}.wiki-rel-arrow.out{color:var(--accent)}.wiki-rel-main{min-width:0;flex:1}.wiki-rel-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wiki-rel-verb{font-size:12px;color:var(--text-muted)}.wiki-rel-target{font-size:14px;font-weight:650}.wiki-rel-attrs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:3px;font-size:12.5px;color:var(--text-secondary)}.wiki-rel-label{font-style:italic;color:var(--text-secondary)}.wiki-rel-attr-key{color:var(--text-muted);font-size:11px}.wiki-rel-pill{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:8px;padding:1px 8px}.wiki-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.wiki-section-head .wiki-h2{margin:0}.wiki-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wiki-add{position:relative;flex:0 0 auto}.wiki-add-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;font-size:12.5px;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:7px;cursor:pointer;transition:filter .12s}.wiki-add-btn:hover{filter:brightness(1.08)}.wiki-add-btn.ghost{color:var(--accent);background:var(--accent-soft);border-color:transparent}.wiki-add-plus{font-size:14px;line-height:1;font-weight:800}.wiki-add-menu{position:absolute;top:calc(100% + 5px);right:0;z-index:30;min-width:200px;max-width:320px;background:var(--bg-panel, var(--bg-app));border:1px solid var(--border-color-strong);border-radius:9px;box-shadow:0 10px 30px #00000038;padding:5px}.wiki-add-search{width:100%;box-sizing:border-box;margin-bottom:5px;padding:6px 8px;font-size:12.5px;color:var(--text-primary);background:var(--bg-app);border:1px solid var(--border-color);border-radius:6px}.wiki-add-search:focus{border-color:var(--accent);outline:none}.wiki-add-list{max-height:280px;overflow-y:auto;display:flex;flex-direction:column}.wiki-add-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 9px;font-size:13px;color:var(--text-primary);background:transparent;border:none;border-radius:6px;cursor:pointer}.wiki-add-item:hover{background:var(--hover-bg)}.wiki-add-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.wiki-add-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-add-item-sub{font-size:11px;color:var(--text-muted);flex:0 0 auto}.wiki-add-empty{padding:9px 10px;font-size:12px;color:var(--text-muted);font-style:italic}.wiki-danger-btn{flex:0 0 auto;padding:6px 12px;font-size:12.5px;font-weight:600;color:#dc2626;background:transparent;border:1px solid color-mix(in srgb,#dc2626 45%,transparent);border-radius:7px;cursor:pointer;transition:background .12s,color .12s}.wiki-danger-btn:hover{background:#dc2626;color:#fff;border-color:#dc2626}.wiki-infobox{border:1px solid var(--border-color);border-radius:11px;background:var(--bg-app);overflow:hidden;position:sticky;top:12px}.wiki-infobox-head{padding:10px 14px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color);background:var(--hover-bg-faint)}.wiki-facts{margin:0;padding:6px 0}.wiki-fact{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:7px 14px;align-items:start}.wiki-fact dt{font-size:11px;font-weight:600;color:var(--text-muted);padding-top:2px}.wiki-fact dd{margin:0;font-size:13px;color:var(--text-primary);min-width:0}.wiki-fact-text{display:inline-block}.wiki-bool{font-size:11px;font-weight:700;border-radius:9px;padding:2px 10px;border:1px solid transparent;cursor:pointer}.wiki-bool.on{background:color-mix(in srgb,#16a34a 18%,transparent);color:#16a34a}.wiki-bool.off{background:var(--hover-bg);color:var(--text-muted)}.wiki-bool:disabled{cursor:default;opacity:.7}.wiki-enum-pill{display:inline-block;font-size:11px;font-weight:650;border-radius:8px;padding:1px 9px;background:var(--hover-bg);color:var(--text-secondary);text-transform:capitalize}.enum-accepted,.enum-active{background:color-mix(in srgb,#16a34a 16%,transparent);color:#16a34a}.enum-proposed{background:color-mix(in srgb,#d97706 16%,transparent);color:#d97706}.enum-deprecated,.enum-superseded{background:color-mix(in srgb,#dc2626 14%,transparent);color:#dc2626}.enum-core{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.wiki-link{background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer}.wiki-link:hover{text-decoration:underline}.wiki-inline-view{cursor:text;border-radius:4px;transition:background .1s,box-shadow .1s;-webkit-box-decoration-break:clone;box-decoration-break:clone}.wiki-inline-view.readonly{cursor:default}.wiki-inline-view:not(.readonly):hover{background:var(--hover-bg-faint);box-shadow:0 0 0 3px var(--hover-bg-faint)}.wiki-inline-view.empty{color:var(--text-muted);font-style:italic}.wiki-inline-input{font:inherit;color:var(--text-primary);background:var(--bg-app);border:1px solid var(--accent);border-radius:5px;padding:2px 6px;box-shadow:var(--shadow-glow);outline:none;width:100%;box-sizing:border-box}.wiki-inline-textarea{display:block;width:100%;resize:none;overflow:hidden;line-height:inherit;min-height:2em}.wiki-inline-select{width:auto;min-width:90px;padding:2px 4px}.wiki-doc-title.wiki-inline-view,.wiki-doc-title.wiki-inline-input{font-size:30px;font-weight:760;line-height:1.18}.wiki-lead.wiki-inline-view,.wiki-lead.wiki-inline-input{font-size:16px;line-height:1.6}.wiki-prose.wiki-inline-view,.wiki-prose.wiki-inline-input{font-size:14.5px;line-height:1.65}.wiki-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border:1px solid;border-radius:9px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.canvas-area.autofit-active .react-flow__controls-zoomin,.canvas-area.autofit-active .react-flow__controls-zoomout{opacity:.35;pointer-events:none}[data-theme=light] .react-flow__controls button{background:var(--bg-panel);border-color:var(--border-color);color:var(--text-primary);fill:var(--text-primary)}[data-theme=light] .react-flow__controls button:hover{background:var(--hover-bg)}[data-theme=light] .react-flow__controls button svg{fill:var(--text-primary)}[data-theme=light] .react-flow__edge-path{stroke:#666}[data-theme=light] .react-flow__edge-textbg{fill:var(--bg-canvas)}[data-theme=light] .react-flow__edge-text{fill:var(--text-primary)}.c4-node{position:relative;border-radius:6px;overflow:visible;font-family:inherit}.c4-node-header{display:flex;align-items:center;justify-content:space-between;padding:0 10px;height:30px;font-size:14px;font-weight:700;letter-spacing:.06em;color:#ffffffeb;text-transform:uppercase;flex-shrink:0}.c4-node-label{font-size:22px;font-weight:800;color:#fff;line-height:1.18;padding:6px 10px 3px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;word-break:break-word}.c4-node-expanded>.c4-node-label{font-size:16px;font-weight:700;-webkit-line-clamp:1;white-space:nowrap;padding:4px 10px 2px}.c4-node-tech{font-size:14px;color:#ffffffe0;padding:0 10px 3px;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c4-node-desc{font-size:16px;color:#fffffff2;padding:4px 10px 8px;line-height:1.35;flex:1 1 auto;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.c4-database-node .c4-node-label,.c4-queue-node .c4-node-label{font-size:15px;font-weight:700;padding:0 6px;-webkit-line-clamp:2}.c4-database-node .c4-node-tech,.c4-queue-node .c4-node-tech{font-size:11px;padding:0 6px}.c4-database-node .c4-node-desc,.c4-queue-node .c4-node-desc{font-size:11px;padding:2px 6px 0;line-height:1.25;flex:0 0 auto;-webkit-line-clamp:2}.c4-webapp-node .c4-node-label{font-size:16px;font-weight:700;padding:0 6px 2px;-webkit-line-clamp:2}.c4-webapp-node .c4-node-tech{font-size:11px;padding:0 6px}.c4-webapp-node .c4-node-desc{font-size:11px;padding:2px 6px 0;line-height:1.25;flex:0 0 auto;-webkit-line-clamp:2}.c4-person-node .c4-node-label{font-size:14px;font-weight:700;line-height:1.18;padding:4px 6px 2px;-webkit-line-clamp:2}.c4-person-node .c4-node-tech{font-size:10px;padding:0 6px}.c4-person-node .c4-node-desc{font-size:11px;line-height:1.25;padding:2px 6px 4px;flex:0 1 auto;-webkit-line-clamp:3}.c4-node-collapse-btn{width:20px;height:20px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:#0003;color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;transition:background .1s}.c4-node-collapse-btn:hover{background:#0006}.c4-node-children-area{position:absolute;top:28px;right:4px;bottom:4px;left:4px;pointer-events:none}.person-icon{font-size:28px;text-align:center;padding-top:6px}.c4-person-node{background:transparent!important;border:none!important}.react-flow__node.selected .c4-person-node{outline:none}.react-flow__node.selected .c4-person-body{outline:2px solid var(--accent);outline-offset:2px}.c4-database-node{background:transparent!important;border:none!important}.react-flow__node.selected .c4-database-node{outline:none}.react-flow__node.selected .c4-database-node svg{filter:drop-shadow(0 0 3px var(--accent))}.react-flow__node{border:none!important;background:transparent!important;padding:0!important;border-radius:6px}.react-flow__node.selected .c4-node{outline:2px solid var(--accent);outline-offset:2px}.react-flow__node:focus{outline:none}.react-flow__edge-path{stroke-width:1.5}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent)}.react-flow__handle{opacity:0!important;pointer-events:none!important;width:8px!important;height:8px!important}.canvas-area.connect-ready .react-flow__node,.canvas-area.connecting .react-flow__node{cursor:crosshair}.react-flow__node.connecting-source .c4-node{outline:3px solid var(--accent)!important;outline-offset:3px;box-shadow:0 0 12px rgba(var(--accent-rgb, 99,102,241),.45)}.react-flow__background{background:var(--bg-canvas)}.pres-slides-inline{display:flex;flex-direction:column;gap:4px;padding:0 0 8px}.pres-slides-actions{display:flex;flex-direction:column;gap:4px;padding:4px 8px 6px;border-bottom:1px solid var(--border-color)}.pres-picker{padding:6px 8px;border-bottom:1px solid var(--border-color)}.pres-picker-row{display:flex;align-items:center;gap:4px}.pres-picker-select,.pres-picker-input{flex:1;min-width:0;padding:4px 6px;font-size:12px;background:var(--bg-input, var(--bg-toolbar));color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;outline:none}.pres-picker-select:focus,.pres-picker-input:focus{border-color:var(--accent, #3b82f6)}.pres-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary, var(--text-primary));cursor:pointer;font-size:13px;line-height:1}.pres-icon-btn:hover{background:var(--bg-hover, rgba(255,255,255,.06));border-color:var(--border-color);color:var(--text-primary)}.pres-icon-btn.danger:hover{background:#ef444426;border-color:#ef444466;color:#ef4444}.pres-panel{grid-area:presbar;background:var(--bg-toolbar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.pres-panel-header{display:flex;flex-direction:column;padding:10px 14px 8px;border-bottom:1px solid var(--border-color);gap:8px;flex-shrink:0}.pres-panel-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-primary)}.pres-panel-title-row{display:flex;align-items:center;justify-content:space-between}.pres-panel-title svg{width:16px;height:16px;opacity:.8}.pres-panel-actions{display:flex;align-items:center;gap:6px}.pres-panel-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-primary);font-size:12px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.pres-panel-btn svg{width:13px;height:13px}.pres-panel-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--accent)}.pres-panel-btn:disabled{opacity:.4;cursor:default}.pres-panel-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.pres-panel-btn.primary:hover:not(:disabled){opacity:.9}.pres-panel-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:background .15s,color .15s}.pres-panel-close svg{width:14px;height:14px}.pres-panel-close:hover{background:var(--hover-bg);color:var(--text-primary)}.pres-slide-list{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.pres-empty{padding:20px 12px;color:var(--text-muted);font-size:12px;text-align:center;line-height:1.6}.pres-slide-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s;background:transparent}.pres-slide-card:hover{background:var(--hover-bg);border-color:var(--border-color)}.pres-slide-card.active{background:rgba(var(--accent-rgb, 99,102,241),.1);border-color:var(--accent)}.pres-slide-num{width:22px;height:22px;border-radius:4px;background:var(--border-color);color:var(--text-muted);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pres-slide-card.active .pres-slide-num{background:var(--accent);color:#fff}.pres-slide-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pres-slide-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pres-slide-name-input{font-size:13px;font-weight:500;color:var(--text-primary);background:var(--bg-canvas);border:1px solid var(--accent);border-radius:3px;padding:1px 6px;outline:none;width:100%}.pres-slide-snap-tag{font-size:10px;color:var(--accent);background:rgba(var(--accent-rgb, 99,102,241),.15);border-radius:3px;padding:1px 5px;align-self:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pres-slide-view-tag{font-size:10px;color:var(--success, #22c55e);background:#22c55e26;border-radius:3px;padding:1px 5px;align-self:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pres-slide-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .12s}.pres-slide-card:hover .pres-slide-actions{opacity:1}.pres-icon-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:background .12s,color .12s}.pres-icon-btn svg{width:14px;height:14px}.pres-icon-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.pres-icon-btn.danger:hover{background:#ef44441f;color:#ef4444}.pres-icon-btn.linked{color:var(--accent)}.pres-snap-picker{position:absolute;bottom:calc(100% + 4px);right:0;z-index:500;background:var(--bg-toolbar);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 32px #00000038;min-width:160px;overflow:hidden}.pres-snap-picker-title{padding:6px 10px 4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.pres-snap-item{display:block;width:100%;text-align:left;padding:6px 10px;font-size:12px;border:none;background:none;color:var(--text-primary);cursor:pointer;transition:background .1s}.pres-snap-item:hover{background:var(--hover-bg)}.pres-snap-item.active{color:var(--accent);font-weight:600}.pres-snap-item.disabled{opacity:.5;pointer-events:none}.pres-hud{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:400;display:flex;align-items:center;gap:10px;background:#0f0f14d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:32px;padding:8px 16px;box-shadow:0 8px 40px #0006}.pres-hud-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:transparent;color:#fffc;cursor:pointer;transition:background .12s,color .12s;flex-shrink:0}.pres-hud-btn svg{width:16px;height:16px}.pres-hud-btn:disabled{opacity:.3;cursor:default}.pres-hud-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.pres-hud-btn.exit{border-color:#ef444466;color:#ef4444cc}.pres-hud-btn.exit:hover{background:#ef444426;color:#ef4444}.pres-hud-dots{display:flex;align-items:center;gap:5px;padding:0 4px}.pres-hud-dot{width:8px;height:8px;border-radius:50%;background:#ffffff40;border:none;cursor:pointer;transition:background .15s,transform .15s;padding:0}.pres-hud-dot.active{background:#fff;transform:scale(1.3)}.pres-hud-dot:hover:not(.active){background:#ffffff80}.pres-hud-label{display:flex;flex-direction:column;align-items:center;min-width:80px;gap:1px}.pres-hud-label strong{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.pres-hud-counter{font-size:11px;color:#ffffff80}.milestone-banner{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--bg-panel, #1f2330);border:1px solid rgba(var(--accent-rgb, 59, 130, 246),.45);border-radius:8px;box-shadow:0 4px 14px #00000040;font-size:12px;color:var(--text-primary);max-width:calc(100% - 32px)}.milestone-banner-info{display:inline-flex;align-items:center;gap:8px}.milestone-banner-icon{color:var(--accent, #3b82f6);font-size:10px}.milestone-banner-dirty{color:#f59e0b;font-style:italic}.milestone-banner-actions{display:inline-flex;gap:6px}.milestone-btn{padding:4px 10px;font-size:11px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-toolbar);color:var(--text-primary);cursor:pointer}.milestone-btn:hover{background:var(--bg-hover, rgba(255,255,255,.06))}.milestone-btn.primary{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#fff}.milestone-btn.primary:hover{filter:brightness(1.1)}.milestone-btn.ghost{background:transparent;border-color:transparent;color:var(--text-secondary, var(--text-primary))}.milestone-btn.ghost:hover{background:var(--bg-hover, rgba(255,255,255,.06))}.milestone-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center}.milestone-modal{width:min(520px,92vw);background:var(--bg-panel, #1f2330);border:1px solid var(--border-color);border-radius:10px;padding:20px 22px;box-shadow:0 12px 40px #00000080}.milestone-modal-title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--text-primary)}.milestone-modal-text{margin:0 0 14px;font-size:12.5px;color:var(--text-secondary, var(--text-primary))}.milestone-modal-options{display:flex;flex-direction:column;gap:8px}.milestone-option{text-align:left;padding:10px 12px;background:var(--bg-toolbar);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-primary)}.milestone-option:hover{border-color:var(--accent, #3b82f6);background:var(--bg-hover, rgba(255,255,255,.04))}.milestone-option.ghost{background:transparent}.milestone-option-title{font-size:12.5px;font-weight:600;margin-bottom:4px}.milestone-option-desc{font-size:11.5px;color:var(--text-secondary, var(--text-primary));line-height:1.45}.milestone-option-input{margin-top:8px;width:100%;padding:5px 8px;font-size:12px;background:var(--bg-input, var(--bg-toolbar));border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);outline:none}.milestone-option-input:focus{border-color:var(--accent, #3b82f6)}.milestone-modal-footer{margin-top:14px;display:flex;justify-content:flex-end}.lp-snap-current{border-style:dashed}.lp-snap-badge-live{background:#10b981;color:#fff;font-size:14px;line-height:1}.docmgr-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#00000073;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.docmgr-modal{width:min(720px,92vw);max-height:80vh;display:flex;flex-direction:column;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.docmgr-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-color)}.docmgr-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.docmgr-close{background:none;border:none;color:var(--text-secondary);font-size:24px;line-height:1;cursor:pointer;padding:0 6px;border-radius:4px}.docmgr-close:hover{background:var(--hover-bg);color:var(--text-primary)}.docmgr-tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--border-color);background:var(--bg-app)}.docmgr-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer;margin-bottom:-1px}.docmgr-tab:hover{color:var(--text-primary);background:var(--hover-bg-subtle)}.docmgr-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.docmgr-tab-count{font-size:11px;padding:1px 6px;border-radius:8px;background:var(--hover-bg);color:inherit}.docmgr-tab.active .docmgr-tab-count{background:var(--accent-soft);color:var(--accent)}.docmgr-toolbar{display:flex;gap:8px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border-color)}.docmgr-toolbar-create{flex-direction:column;align-items:stretch;gap:12px}.docmgr-create-row{display:flex;gap:8px;align-items:center}.docmgr-create-row .docmgr-rename-input{flex:1}.docmgr-mm-picker{display:flex;flex-direction:column;gap:6px}.docmgr-mm-picker-title{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.docmgr-mm-option{text-align:left;padding:10px 12px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;color:inherit}.docmgr-mm-option:hover{background:var(--hover-bg);border-color:var(--border-color-strong)}.docmgr-mm-option.active{border-color:var(--accent);background:var(--accent-soft)}.docmgr-mm-option-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.docmgr-mm-option-desc{font-size:12px;color:var(--text-muted);line-height:1.4}.docmgr-toolbar-hint{color:var(--text-muted);font-size:12px}.docmgr-toolbar-hint code{background:var(--input-bg);padding:0 4px;border-radius:3px;font-family:ui-monospace,monospace;font-size:11px;color:var(--text-secondary)}.docmgr-btn{padding:6px 12px;background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.docmgr-btn:hover{background:var(--hover-bg);border-color:var(--border-color-strong)}.docmgr-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.docmgr-btn.primary:hover{filter:brightness(1.08)}.docmgr-btn.small{padding:3px 8px;font-size:12px}.docmgr-btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.docmgr-btn.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.docmgr-btn-mm{padding:0 8px!important;min-width:unset;margin-left:-5px;border-left:1px solid rgba(127,127,127,.2)!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.docmgr-empty{padding:32px;text-align:center;color:var(--text-muted)}.docmgr-list{list-style:none;margin:0;padding:6px 0;overflow-y:auto}.docmgr-item{display:flex;align-items:center;gap:8px;padding:10px 18px;border-bottom:1px solid var(--border-color)}.docmgr-item:hover{background:var(--hover-bg-subtle)}.docmgr-item.active{background:var(--accent-soft)}.docmgr-item-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}.docmgr-badge{font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:4px;flex-shrink:0}.docmgr-badge.ls{background:color-mix(in srgb,var(--text-muted) 22%,transparent);color:var(--text-secondary)}.docmgr-badge.fs{background:var(--accent-soft);color:var(--accent)}.docmgr-item-info{min-width:0;flex:1}.docmgr-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.docmgr-active-tag{font-weight:400;color:var(--accent);font-size:12px}.docmgr-sub{display:flex;gap:12px;font-size:11px;color:var(--text-muted);margin-top:2px}.docmgr-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px;font-family:ui-monospace,monospace}.docmgr-rename-input{flex:1;padding:4px 8px;background:var(--bg-app);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;font:inherit}.docmgr-item-actions{display:flex;gap:6px;flex-shrink:0}.toolbar-doc-name{display:inline-flex;align-items:center;gap:8px;margin-left:10px;padding:4px 10px;background:#ffffff0a;border:1px solid var(--border, #333);border-radius:6px;color:inherit;cursor:pointer;font-size:12px;max-width:280px}.toolbar-doc-name:hover{background:#ffffff1a}.toolbar-doc-badge{font-size:9px;font-weight:700;letter-spacing:.05em;padding:1px 5px;border-radius:3px}.toolbar-doc-badge.ls{background:#78787840;color:#ccc}.toolbar-doc-badge.fs{background:#4f9cf940;color:#a8c8f8}.toolbar-doc-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-menu-current-doc{padding:6px 12px;font-size:13px;font-weight:500;color:var(--accent, #4f9cf9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-doc-caret{font-size:10px;opacity:.6;margin-left:2px}.app-menu-current-doc-inline{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:11px;font-weight:400;color:#fff9}.app-menu-current-doc-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.mm-editor-modal{position:relative;width:min(1200px,96vw);max-width:96vw;height:min(86vh,900px);padding:0;display:flex;flex-direction:column;overflow:hidden}.mm-editor-modal-close{position:absolute;top:8px;right:10px;z-index:2;background:transparent;border:none;color:var(--text-secondary, var(--text-primary));font-size:16px;line-height:1;width:28px;height:28px;border-radius:6px;cursor:pointer}.mm-editor-modal-close:hover{background:var(--bg-hover, rgba(255,255,255,.08));color:var(--text-primary)}.mm-editor-modal .mm-editor{grid-area:auto;flex:1;min-height:0;border-radius:10px}.mm-editor-modal .mm-editor-side{padding-top:40px}.mm-editor{grid-area:canvas;display:grid;grid-template-columns:1fr 320px;background:var(--bg-app);overflow:hidden;height:100%}.mm-editor-main{overflow-y:auto;padding:20px 28px 40px}.mm-editor-side{border-left:1px solid var(--border-color);background:var(--bg-toolbar);overflow-y:auto;padding:14px 14px 24px}.mm-editor-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.mm-name{font-size:18px;font-weight:600;border:none;background:transparent;color:var(--text-primary);padding:2px 4px;outline:none}.mm-name:focus{border-bottom:1px solid var(--accent)}.mm-subhead{font-size:11px;color:var(--text-muted);padding:2px 4px}.mm-section{margin-top:22px}.mm-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mm-section-header h3{margin:0;font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.mm-card-list{display:flex;flex-direction:column;gap:8px}.mm-card{background:var(--bg-toolbar);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.mm-card-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.mm-card-header:hover{background:var(--hover-bg)}.mm-chevron{transition:transform .15s;opacity:.6}.mm-chevron.open{transform:rotate(90deg)}.mm-type-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px}.mm-type-label{font-size:13px;font-weight:500;color:var(--text-primary)}.mm-type-id{font-size:11px;color:var(--text-muted);font-family:ui-monospace,monospace}.mm-builtin-tag{font-size:9px;background:var(--border-color);color:var(--text-muted);padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.05em}.mm-pair-count{font-size:10px;color:var(--text-muted)}.mm-rel-arrow{display:inline-block;width:24px;text-align:center;font-weight:700;color:var(--accent)}.mm-card-body{padding:12px 16px 16px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.mm-row{display:flex;gap:12px;flex-wrap:wrap}.mm-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:120px}.mm-field>span{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.mm-field-color{flex:0 0 64px}.mm-field-color input[type=color]{width:100%;height:28px;padding:0;border:1px solid var(--border-color);border-radius:4px;background:transparent}.mm-input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;padding:5px 8px;font-size:12px;color:var(--text-primary);font-family:inherit;outline:none}.mm-input:focus{border-color:var(--accent)}.mm-num{width:64px}.mm-section-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;display:flex;align-items:center;gap:8px}.mm-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted);opacity:.8}.mm-parent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px 12px}.mm-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-primary);cursor:pointer}.mm-checkbox input{accent-color:var(--accent)}.mm-prop-list,.mm-pair-list{display:flex;flex-direction:column;gap:6px}.mm-prop-row,.mm-pair-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mm-prop-key{width:100px;font-family:ui-monospace,monospace}.mm-prop-label{width:140px}.mm-prop-type{width:100px}.mm-prop-options{flex:1;min-width:120px}.mm-pair-arrow{font-weight:700;color:var(--accent);padding:0 4px}.mm-empty{font-size:11px;color:var(--text-muted);padding:6px 0;font-style:italic}.mm-add-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px dashed var(--border-color);border-radius:4px;padding:5px 10px;font-size:11px;color:var(--text-muted);cursor:pointer;align-self:flex-start}.mm-add-btn:hover{background:var(--hover-bg);color:var(--text-primary);border-style:solid}.mm-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted);cursor:pointer}.mm-icon-btn:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--border-color)}.mm-icon-btn.danger:hover{background:#dc26261f;color:var(--danger);border-color:#dc262666}.mm-btn{background:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;padding:6px 12px;font-size:12px;color:var(--text-primary);cursor:pointer}.mm-btn:hover{border-color:var(--accent)}.mm-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;display:inline-flex;align-items:center;gap:6px}.mm-btn.primary:hover{opacity:.9}.mm-footer-note{margin-top:32px;padding:12px 14px;background:var(--hover-bg-faint);border-left:3px solid var(--accent);font-size:11px;color:var(--text-muted);border-radius:0 4px 4px 0}.mm-issues{display:flex;flex-direction:column;gap:8px}.mm-issues-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-primary);margin-bottom:6px}.mm-issues-count{font-size:10px;background:var(--border-color);color:var(--text-muted);border-radius:10px;padding:1px 8px;min-width:18px;text-align:center}.mm-issues-count.has{background:var(--danger);color:#fff}.mm-issue{padding:8px 10px;border-radius:4px;border-left:3px solid var(--text-muted);background:var(--hover-bg-faint);display:flex;flex-direction:column;gap:4px}.mm-issue-error{border-left-color:var(--danger)}.mm-issue-warning{border-left-color:#f59e0b}.mm-issue-msg{font-size:11px;color:var(--text-primary);line-height:1.4}.mm-link{align-self:flex-start;background:transparent;border:none;color:var(--accent);font-size:10px;cursor:pointer;padding:0}.mm-link:hover{text-decoration:underline}.lp-issues{display:flex;flex-direction:column;gap:4px;padding:0 4px}.lp-issue{display:flex;align-items:flex-start;gap:6px;background:transparent;border:1px solid transparent;border-radius:4px;padding:6px 8px;cursor:pointer;text-align:left;font-family:inherit;color:var(--text-primary)}.lp-issue:hover{background:var(--hover-bg);border-color:var(--border-color)}.lp-issue-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.lp-issue-dot-error{background:var(--danger)}.lp-issue-dot-warning{background:#f59e0b}.lp-issue-msg{font-size:11px;line-height:1.35}.toast-host{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 48px));pointer-events:none}.toast{--toast-accent: var(--accent);--toast-accent-soft: rgba(99, 102, 241, .18);position:relative;pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:14px 14px 16px 16px;border-radius:12px;background:linear-gradient(135deg,var(--toast-accent-soft),transparent 55%),color-mix(in srgb,var(--bg-panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--toast-accent) 35%,var(--border-color));backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffff0a inset,0 12px 32px #00000052,0 2px 6px #00000029;color:var(--text-primary);overflow:hidden;transform-origin:bottom right;animation:toast-in .22s cubic-bezier(.22,1,.36,1);transition:transform .16s ease,box-shadow .16s ease}.toast:hover{transform:translateY(-1px);box-shadow:0 1px #ffffff0f inset,0 16px 40px #00000061,0 4px 10px #00000038}.toast.toast-leaving{animation:toast-out .2s cubic-bezier(.4,0,1,1) forwards}.toast-error{--toast-accent: var(--danger);--toast-accent-soft: rgba(220, 38, 38, .2)}.toast-warning{--toast-accent: #f59e0b;--toast-accent-soft: rgba(245, 158, 11, .2)}.toast-info{--toast-accent: var(--accent);--toast-accent-soft: rgba(99, 102, 241, .18)}.toast-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--toast-accent) 22%,transparent);color:var(--toast-accent);flex-shrink:0}.toast-body{min-width:0;display:flex;flex-direction:column;gap:2px;padding-top:2px}.toast-title{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--toast-accent);text-transform:none}.toast-message{font-size:13px;line-height:1.45;color:var(--text-primary);word-wrap:break-word}.toast-close{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.toast-close:hover{background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-primary)}.toast-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,var(--toast-accent),color-mix(in srgb,var(--toast-accent) 50%,transparent));transform-origin:left center;animation-name:toast-progress;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes toast-in{0%{transform:translate(8px,8px) scale(.96);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes toast-out{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(12px) scale(.98);opacity:0}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion: reduce){.toast,.toast.toast-leaving,.toast-progress{animation:none}}.sel-bar{position:fixed;left:50%;bottom:90px;transform:translate(-50%);z-index:60;display:inline-flex;align-items:center;gap:6px;padding:6px 6px 6px 12px;border-radius:999px;background:color-mix(in srgb,var(--bg-panel) 92%,transparent);border:1px solid var(--border-color);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px #ffffff0d inset,0 12px 32px #00000052,0 2px 6px #00000029;font-size:12px;color:var(--text-primary);animation:sel-bar-in .18s cubic-bezier(.22,1,.36,1)}@keyframes sel-bar-in{0%{transform:translate(-50%,6px);opacity:0}to{transform:translate(-50%);opacity:1}}.sel-bar-count{display:inline-flex;align-items:center;gap:8px;padding-right:4px}.sel-bar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;font-size:11px}.sel-bar-label{color:var(--text-muted)}.sel-bar-divider{width:1px;height:22px;background:var(--border-color);margin:0 2px}.sel-bar-wrap{position:relative;display:inline-flex}.sel-bar-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-primary);font-size:12px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.sel-bar-btn:hover:not(:disabled){background:color-mix(in srgb,var(--text-primary) 8%,transparent);border-color:var(--border-color)}.sel-bar-btn:disabled{opacity:.45;cursor:not-allowed}.sel-bar-btn-danger{color:var(--danger)}.sel-bar-btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.sel-bar-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:180px;padding:4px;border-radius:10px;background:color-mix(in srgb,var(--bg-panel) 96%,transparent);border:1px solid var(--border-color);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 10px 28px #00000052;display:flex;flex-direction:column;gap:1px;animation:sel-bar-in .14s cubic-bezier(.22,1,.36,1)}.sel-bar-menu-item{display:block;width:100%;text-align:left;padding:8px 12px;border-radius:6px;border:none;background:transparent;color:var(--text-primary);font-size:12px;cursor:pointer;font-family:inherit}.sel-bar-menu-item:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.sel-bar-menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.sel-bar-menu-item-disabled{opacity:.55;cursor:not-allowed}.sel-bar-menu-item-disabled:hover{background:transparent}.sel-bar-menu-reason{font-size:10.5px;color:var(--text-muted);font-weight:400;line-height:1.3;max-width:240px;white-space:normal}.quick-search-bar{position:fixed;top:6px;left:50%;transform:translate(-50%);width:min(420px,38vw);z-index:60;-webkit-app-region:no-drag;background:color-mix(in srgb,var(--bg-panel) 92%,transparent);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 2px #0000002e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}.quick-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:60vh;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg-panel) 96%,transparent);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 1px #ffffff0d inset,0 18px 48px #00000073,0 4px 10px #00000038;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);overflow:hidden;animation:qs-pop-in .14s cubic-bezier(.22,1,.36,1)}@keyframes qs-pop-in{0%{transform:translateY(-4px) scale(.99);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.quick-search-bar .quick-search-inputrow{padding:5px 10px;border-bottom:none;gap:8px}.quick-search-bar .quick-search-inputrow input{font-size:12px}.quick-search-inputrow{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.quick-search-inputrow input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:15px;font-family:inherit;min-width:0}.quick-search-inputrow input::placeholder{color:var(--text-muted);opacity:.7}.quick-search-kbd,.quick-search-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:5px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);border:1px solid var(--border-color);font-size:11px;font-family:inherit;color:var(--text-muted)}.quick-search-results{overflow-y:auto;padding:6px}.quick-search-hint{padding:14px 14px 10px;color:var(--text-muted);font-size:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.quick-search-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text-primary);border-radius:8px;cursor:pointer;text-align:left;font:inherit}.quick-search-item.active,.quick-search-item:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.quick-search-kind{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:18px;padding:0 6px;border-radius:4px;font-size:9.5px;font-weight:700;letter-spacing:.05em;background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-muted)}.quick-search-kind-node{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.quick-search-kind-edge{background:color-mix(in srgb,var(--text-primary) 14%,transparent)}.quick-search-item-main{display:flex;flex-direction:column;min-width:0;flex:1}.quick-search-item-label{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-search-item-sub{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-search-kind-view{background:color-mix(in srgb,var(--accent) 14%,transparent);color:color-mix(in srgb,var(--accent) 85%,var(--text-primary))}.quick-search-views{display:inline-flex;gap:4px;flex-shrink:0;margin-left:8px}.quick-search-view-chip{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font-size:10.5px;font-weight:500;background:color-mix(in srgb,var(--text-primary) 7%,transparent);color:var(--text-muted);border:1px solid var(--border-color);white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.quick-search-view-chip.active{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.quick-search-view-chip.more{background:transparent;border-style:dashed}.quick-search-view-chip.model-only{background:transparent;color:var(--text-muted);border-style:dashed;font-style:italic;text-transform:lowercase}.quick-search-view-chip{cursor:pointer;transition:background-color .12s,color .12s,border-color .12s}.quick-search-view-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.quick-search-view-chip.all{background:transparent;border-style:solid;font-weight:600}.quick-search-view-chip.all.active{background:var(--accent);color:#fff;border-color:var(--accent)}.quick-search-bar{width:min(520px,46vw)}.quick-search-bar.ai-mode{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 4px 16px #00000038}.qs-mode-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background-color .12s,color .12s,border-color .12s;font-size:13px;line-height:1}.qs-mode-toggle:hover{color:var(--text-primary)}.qs-mode-toggle.active{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.qs-ai-banner{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--accent) 10%,transparent)}.qs-ai-banner-row{display:flex;align-items:center;gap:8px;font-size:11px}.qs-ai-banner-row .qs-ai-spark{font-size:13px}.qs-ai-banner-row .qs-ai-name{color:var(--text-primary);font-weight:600}.qs-ai-banner-row .qs-ai-model{color:var(--text-muted)}.qs-ai-banner-row .qs-ai-spacer{flex:1}.qs-ai-mini-btn{font-size:10px;padding:2px 8px;border-radius:4px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);cursor:pointer}.qs-ai-mini-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.qs-ai-status{font-size:11px;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.qs-ai-status .qs-ai-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:qs-ai-pulse 1.2s ease-in-out infinite}@keyframes qs-ai-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.qs-ai-text{font-size:12px;color:var(--text-primary);white-space:pre-wrap;line-height:1.45}.qs-ai-meta{color:var(--text-muted);font-size:10px;margin-top:4px;display:inline-flex;gap:8px;flex-wrap:wrap}.qs-ai-meta .qs-ai-meta-pill{background:color-mix(in srgb,var(--text-primary) 8%,transparent);border-radius:4px;padding:1px 6px}.qs-ai-error{color:#f77;font-size:11px}.qs-ai-examples{display:flex;flex-direction:column;gap:2px;padding:6px}.qs-ai-example{text-align:left;padding:6px 10px;border-radius:6px;background:transparent;border:1px dashed var(--border-color);color:var(--text-muted);font-size:12px;cursor:pointer;font-family:inherit}.qs-ai-example:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-style:solid;color:var(--text-primary)}.qs-ai-example .qs-ai-example-icon{color:var(--accent);margin-right:6px}.quick-search-kind-ai{background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent)}.ai-settings-modal{position:relative;width:min(620px,92vw);max-width:620px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.ai-settings-close{position:absolute;top:8px;right:10px;z-index:2;background:transparent;border:none;color:var(--text-secondary, var(--text-primary));font-size:16px;line-height:1;width:28px;height:28px;border-radius:6px;cursor:pointer}.ai-settings-close:hover{background:var(--bg-hover, rgba(255,255,255,.08));color:var(--text-primary)}.ai-enable-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;margin:8px 0 10px;background:var(--bg-toolbar, rgba(255,255,255,.04));border:1px solid var(--border-color);border-radius:8px}.ai-enable-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.ai-enable-toggle input{position:absolute;opacity:0;width:0;height:0}.ai-enable-switch{position:relative;width:36px;height:20px;border-radius:999px;background:var(--border-color);transition:background .15s ease;flex:0 0 auto}.ai-enable-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease;box-shadow:0 1px 2px #0000004d}.ai-enable-toggle input:checked+.ai-enable-switch{background:rgb(var(--accent-rgb))}.ai-enable-toggle input:checked+.ai-enable-switch:after{transform:translate(16px)}.ai-enable-toggle input:focus-visible+.ai-enable-switch{outline:2px solid rgb(var(--accent-rgb));outline-offset:2px}.ai-enable-label{font-size:13px;font-weight:600;color:var(--text-primary)}.ai-enable-hint{font-size:12px;color:var(--text-secondary, var(--text-primary));flex:1 1 200px}.ai-settings-modal .ai-settings-section{flex:1 1 auto;overflow-y:auto;min-height:0;padding-right:4px}.ai-settings-tabs{display:flex;gap:0;margin:6px 0 14px;border-bottom:1px solid var(--border-color)}.ai-settings-tab{padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:12px;font-weight:500;transition:color .12s,border-color .12s;display:inline-flex;align-items:center;gap:6px;margin-bottom:-1px}.ai-settings-tab:hover{color:var(--text-primary)}.ai-settings-tab.editing{color:var(--text-primary);border-bottom-color:var(--accent)}.ai-settings-tab .ai-settings-tab-active-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.ai-settings-section{display:flex;flex-direction:column;gap:12px;font-size:12px}.ai-settings-row{display:flex;flex-direction:column;gap:4px}.ai-settings-row>label{color:var(--text-muted);font-size:11px}.ai-settings-row .ai-settings-input-wrap{display:flex;align-items:center;gap:4px;background:var(--bg-canvas);border:1px solid var(--border-color);border-radius:5px;padding:0 4px 0 0}.ai-settings-row input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font:inherit;font-size:12px;padding:6px 8px;min-width:0}.ai-settings-row .ai-settings-eye{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;font-size:11px}.ai-settings-row .ai-settings-eye:hover{color:var(--text-primary)}.ai-settings-help{font-size:11px;color:var(--text-muted);line-height:1.5}.ai-settings-help code{background:color-mix(in srgb,var(--text-primary) 8%,transparent);padding:1px 5px;border-radius:3px;font-size:11px}.ai-settings-help pre{margin:4px 0 0;padding:6px 8px;font-size:11px;background:var(--bg-canvas);border:1px solid var(--border-color);border-radius:4px;overflow-x:auto;color:var(--text-primary)}.ai-settings-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.ai-settings-actions .ai-test-result{font-size:11px;padding:3px 8px;border-radius:4px}.ai-settings-actions .ai-test-result.ok{background:color-mix(in srgb,#2ecc71 20%,transparent);color:#2ecc71}.ai-settings-actions .ai-test-result.err{background:color-mix(in srgb,#ff4444 20%,transparent);color:#f77}.ai-settings-actions .ai-test-result.busy{color:var(--text-muted)}.ai-active-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);font-size:11px;font-weight:600}.ai-set-default-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;font-family:inherit}.ai-set-default-btn:hover{filter:brightness(1.1)}.ai-settings-footer{margin-top:16px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);padding-top:12px}.ai-settings-saved{font-size:10px;color:var(--text-muted);font-style:italic}.rf-node-ghost{opacity:.45;pointer-events:none}.rf-node-ghost .react-flow__handle{display:none}.milestone-diff-stats{display:inline-flex;gap:6px;margin-left:12px;font-family:ui-monospace,monospace;font-size:12px}.milestone-diff-stat{padding:1px 6px;border-radius:4px;font-weight:700;background:#ffffff14}.milestone-diff-stat.added{color:var(--success)}.milestone-diff-stat.changed{color:var(--warning, #d97706)}.milestone-diff-stat.removed{color:var(--danger)}.milestone-diff-base{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-size:12px}.milestone-diff-base-label{opacity:.7;text-transform:uppercase;font-weight:600;letter-spacing:.05em}.milestone-diff-base-select{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:inherit;border-radius:4px;padding:2px 4px;font-size:12px;cursor:pointer}.milestone-diff-base-hint{display:none}.milestone-diff-log-toggle{margin-left:4px;background:transparent;border:1px solid var(--border-color);color:var(--text-muted);font:inherit;font-size:10.5px;padding:1px 6px;border-radius:4px;cursor:pointer;line-height:1.4}.milestone-diff-log-toggle:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.milestone-diff-log{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color);display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.milestone-diff-log-row{display:grid;grid-template-columns:18px 38px 1fr auto;align-items:center;gap:8px;padding:4px 8px;background:transparent;border:none;border-radius:5px;color:var(--text-primary);font:inherit;font-size:12px;text-align:left;cursor:pointer}.milestone-diff-log-row:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.milestone-diff-log-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-weight:700;font-size:12px;line-height:1}.milestone-diff-log-badge.action-new{background:color-mix(in srgb,var(--success, #22c55e) 22%,transparent);color:var(--success, #22c55e)}.milestone-diff-log-badge.action-changed{background:color-mix(in srgb,var(--warning, #d97706) 22%,transparent);color:var(--warning, #d97706)}.milestone-diff-log-badge.action-removed{background:color-mix(in srgb,var(--danger, #dc2626) 22%,transparent);color:var(--danger, #dc2626)}.milestone-diff-log-row.action-removed .milestone-diff-log-label{text-decoration:line-through;opacity:.7}.milestone-diff-log-kind{font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--text-muted);text-align:center}.milestone-diff-log-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-diff-log-sub{color:var(--text-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.dev-sample-toolbar{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:8000;display:flex;align-items:center;gap:6px;background:#1a1a2e;border:1px solid #ff6b6b55;border-radius:8px;padding:5px 10px;font-size:11px;font-family:JetBrains Mono,Fira Code,monospace;box-shadow:0 4px 20px #0008;-webkit-user-select:none;user-select:none}.dev-sample-toolbar__label{color:#ff6b6b;font-weight:700;letter-spacing:.05em;margin-right:4px}.dev-sample-toolbar__btn{background:#2d2d4e;color:#c9d1d9;border:1px solid #444466;border-radius:5px;padding:3px 10px;font-size:11px;font-family:inherit;cursor:pointer;transition:background .12s}.dev-sample-toolbar__btn:hover:not(:disabled){background:#3a3a60}.dev-sample-toolbar__btn:disabled{opacity:.5;cursor:not-allowed}.dev-sample-toolbar__btn--save{background:#1a3a1a;color:#7ee787;border-color:#2ea043}.dev-sample-toolbar__btn--save:hover:not(:disabled){background:#1f4a1f}.dev-sample-toolbar__btn--reset{color:#ff6b6b;border-color:#ff6b6b55}.dev-sample-toolbar__saved{color:#7ee787;font-size:10px;opacity:.8}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#dce0f0a6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:welcome-fadein .2s ease}@keyframes welcome-fadein{0%{opacity:0}to{opacity:1}}.welcome-card{display:grid;grid-template-columns:1fr 1fr;min-width:640px;max-width:760px;width:100%;border-radius:20px;overflow:hidden;box-shadow:0 8px 40px #1e28642e,0 0 0 1px #00000012;animation:welcome-slidein .22s cubic-bezier(.22,1,.36,1)}@keyframes welcome-slidein{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-left{background:#fff;padding:44px 40px 40px;display:flex;flex-direction:column;gap:0}.welcome-wordmark{display:flex;align-items:center;gap:10px;margin-bottom:36px}.welcome-wordmark-icon{flex-shrink:0}.welcome-wordmark-text{font-size:16px;font-weight:600;color:#1a1a2e;letter-spacing:-.3px;font-style:normal}.welcome-wordmark-text em{font-style:normal;color:#3b6fe6}.welcome-heading{font-size:28px;font-weight:700;line-height:1.2;color:#111827;letter-spacing:-.8px;margin:0 0 12px}.welcome-lead{font-size:13px;line-height:1.6;color:#6b7280;margin:0 0 32px}.welcome-cta-group{display:flex;flex-direction:column;gap:8px;margin-top:auto}.welcome-mm-picker{display:flex;flex-direction:column;gap:6px;padding:10px;background:#7f7f7f0f;border:1px solid rgba(127,127,127,.18);border-radius:10px;margin-top:4px}.welcome-mm-picker-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:2px 4px 6px}.welcome-mm-option{text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:10px 12px;cursor:pointer;transition:background .14s,border-color .14s}.welcome-mm-option:hover{background:#3b6fe614;border-color:#3b6fe64d}.welcome-mm-option.selected{background:#3b6fe612;border-color:#3b6fe659}.welcome-mm-option-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px;display:flex;align-items:center;justify-content:space-between}.welcome-mm-option-check{font-size:12px;color:var(--accent)}.welcome-mm-option-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.welcome-btn-group{display:flex;flex-direction:row;align-items:stretch}.welcome-btn-group .welcome-btn{flex:1;border-top-right-radius:0;border-bottom-right-radius:0}.welcome-btn-mm{padding:0 12px!important;min-width:unset!important;flex-shrink:0;border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left:1px solid rgba(127,127,127,.2)!important;margin-left:-1px}.welcome-sample-link{margin-top:14px;text-align:center}.welcome-link{background:none;border:none;padding:4px 6px;font-size:12px;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-decoration-color:#7f7f7f59;text-underline-offset:3px;transition:color .14s,text-decoration-color .14s}.welcome-link:hover{color:var(--text);text-decoration-color:currentColor}.welcome-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:background .14s,opacity .14s,border-color .14s;border:1px solid transparent;width:100%}.welcome-btn-primary{background:#3b6fe6;color:#fff;border-color:#3b6fe6}.welcome-btn-primary:hover{background:#2d5fd4;border-color:#2d5fd4}.welcome-btn-ghost{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.welcome-btn-ghost:hover{background:#e9eaf0}.welcome-btn-sample{background:#f0f4ff;color:#3b4eab;border-color:#c7d3f8}.welcome-btn-sample:hover{background:#e4eaff}.welcome-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes welcome-spin{to{transform:rotate(360deg)}}.welcome-btn-spinner{animation:welcome-spin .8s linear infinite}.welcome-right{background:#f8f9fc;padding:40px 32px;display:flex;flex-direction:column;border-left:1px solid #e8eaf0}.welcome-right-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;margin:0 0 10px 4px}.welcome-recent{display:flex;flex-direction:column;gap:2px}.welcome-recent-item{display:flex;align-items:center;gap:9px;background:transparent;border:none;border-radius:8px;padding:8px 10px;cursor:pointer;color:#1f2937;transition:background .13s;text-align:left;width:100%}.welcome-recent-item:hover{background:#3b6fe612}.welcome-recent-icon{flex-shrink:0;color:#3b6fe6;opacity:.75;display:flex}.welcome-recent-name{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#111827}.welcome-recent-date{font-size:11px;color:#9ca3af;flex-shrink:0}.welcome-preview{flex:1;display:flex;align-items:center;justify-content:center;opacity:.85}.treemap-wrap-outer{grid-area:canvas;display:flex;flex-direction:column;min-height:0;background:var(--bg-canvas)}.treemap-wrap{position:relative;flex:1 1 auto;min-height:0;background:var(--bg-canvas);overflow:hidden}.treemap-breadcrumb{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);font-size:12px;flex-wrap:wrap;min-height:32px;box-sizing:border-box}.tm-bc-item{background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:3px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .12s,color .12s;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-bc-item:not(:disabled):hover{background:var(--bg-hover, rgba(255,255,255,.06));color:var(--text-primary)}.tm-bc-item.active{color:var(--text-primary);font-weight:600;cursor:default}.tm-bc-sep{color:var(--text-muted);font-size:13px;-webkit-user-select:none;user-select:none}.tm-bc-back{margin-left:auto;background:var(--bg-hover, rgba(255,255,255,.06));border:1px solid var(--border-color);color:var(--text-primary);padding:3px 10px;border-radius:4px;font-size:11px;cursor:pointer;transition:background .12s}.tm-bc-back:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.tm-bc-spacer{flex:1 1 auto}.tm-bc-sizeby{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.tm-bc-sizeby select{background:var(--bg-hover, rgba(255,255,255,.06));color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-size:11px;cursor:pointer}.tm-tt-dim{opacity:.65}.treemap-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-muted)}@keyframes tm-zoom-in{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}@keyframes tm-zoom-out{0%{opacity:0;transform:scale(1.55)}to{opacity:1;transform:scale(1)}}.tm-anim-in,.tm-anim-out{transform-box:fill-box;transform-origin:50% 50%;will-change:transform,opacity}.tm-anim-in{animation:tm-zoom-in .28s cubic-bezier(.4,0,.2,1) both}.tm-anim-out{animation:tm-zoom-out .28s cubic-bezier(.4,0,.2,1) both}@media (prefers-reduced-motion: reduce){.tm-anim-in,.tm-anim-out{animation:none}}.treemap-tooltip{position:fixed;z-index:9999;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;pointer-events:none;display:flex;flex-direction:column;gap:3px;box-shadow:var(--shadow-md);max-width:240px}.tm-tt-type{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.6px}.tm-tt-label{font-size:13px;font-weight:600;color:var(--text-primary)}.tm-tt-meta{font-size:11px;color:var(--text-secondary)}.tm-tt-hint{font-size:10px;color:var(--text-muted);margin-top:2px}.tv-wrap{grid-area:canvas;display:flex;flex-direction:column;min-height:0;background:var(--bg-canvas);overflow:hidden;position:relative}.tv-wrap.tv-drop-active{outline:2px solid var(--accent, #3b82f6);outline-offset:-2px}.tv-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--accent, #3b82f6) 12%,transparent);display:flex;align-items:center;justify-content:center;z-index:20;pointer-events:none}.tv-drop-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 32px;background:var(--bg-panel, #1e1e2e);border:2px dashed var(--accent, #3b82f6);border-radius:12px;color:var(--accent, #3b82f6);font-size:14px;font-weight:600;opacity:.95}.tv-drop-icon{font-size:32px;line-height:1}.tv-drop-pill{position:absolute;top:48px;left:50%;transform:translate(-50%);z-index:21;pointer-events:none;display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--accent, #3b82f6);border:2px solid var(--accent, #3b82f6);border-radius:999px;color:#fff;font-size:13px;font-weight:600;box-shadow:0 4px 16px #00000059}.tv-drop-pill .tv-drop-icon{font-size:18px}.tv-drop-pill strong{color:#fff;text-decoration:underline;text-underline-offset:2px}.tv-row.tv-row-drop-parent>.tv-td{background:color-mix(in srgb,var(--accent, #3b82f6) 28%,transparent)!important;box-shadow:inset 0 0 0 9999px color-mix(in srgb,var(--accent, #3b82f6) 14%,transparent)}.tv-row.tv-row-drop-parent>.tv-td:first-child{box-shadow:inset 3px 0 0 0 var(--accent, #3b82f6),inset 0 0 0 9999px color-mix(in srgb,var(--accent, #3b82f6) 14%,transparent)}.tv-tabs{display:flex;align-items:center;gap:2px;padding:6px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);flex-shrink:0}.tv-tab{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.tv-tab:hover{background:var(--hover-bg, rgba(255,255,255,.06));color:var(--text)}.tv-tab.active{background:var(--accent-soft, rgba(59,130,246,.15));border-color:var(--accent, #3b82f6);color:var(--text);font-weight:600}.tv-tab-count{display:inline-block;min-width:18px;padding:1px 5px;border-radius:10px;background:var(--hover-bg, rgba(255,255,255,.1));color:var(--text-muted);font-size:10px;font-weight:600;text-align:center}.tv-tab.active .tv-tab-count{background:var(--accent, #3b82f6);color:#fff}.tv-table-wrap{flex:1 1 auto;overflow:auto;min-height:0}.tv-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.tv-th{position:sticky;top:0;z-index:2;padding:8px 10px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-panel);border-bottom:1px solid var(--border-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.tv-td{padding:0;border-bottom:1px solid var(--border-color);vertical-align:middle;max-width:0}.tv-row{cursor:pointer;transition:background .08s}.tv-row:hover{background:var(--hover-bg-faint, rgba(255,255,255,.03))}.tv-row:hover .tv-cell-placeholder{opacity:.5}.tv-row-selected{background:var(--accent-soft, rgba(59,130,246,.1))!important}.tv-cell-readonly{display:block;padding:8px 10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-type-badge{display:inline-block;margin:6px 10px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.4px;white-space:nowrap;text-transform:uppercase}.tv-cell-value{display:block;padding:8px 10px;color:var(--text);cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px;transition:background .1s}.tv-cell-value:hover{background:var(--hover-bg, rgba(255,255,255,.06))}.tv-cell-multiline{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;max-height:2.8em}.tv-cell-placeholder{color:var(--text-muted);font-style:italic;opacity:0;pointer-events:none}.tv-cell-input{display:block;width:100%;box-sizing:border-box;padding:7px 10px;background:var(--bg-panel);border:1px solid var(--accent, #3b82f6);border-radius:4px;color:var(--text);font-size:12px;outline:none;box-shadow:0 0 0 2px #3b82f640}.tv-cell-textarea{display:block;width:100%;box-sizing:border-box;padding:7px 10px;background:var(--bg-panel);border:1px solid var(--accent, #3b82f6);border-radius:4px;color:var(--text);font-size:12px;outline:none;resize:vertical;min-height:64px;box-shadow:0 0 0 2px #3b82f640;line-height:1.4}.tv-bool{display:inline-flex;align-items:center;justify-content:center;margin:6px 10px;width:28px;height:20px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-panel);color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.tv-bool:hover{border-color:var(--accent, #3b82f6)}.tv-bool-on{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#fff;font-weight:700}.tv-empty{padding:48px 24px;text-align:center;color:var(--text-muted);font-size:13px}.vb-add-wrap{position:relative}.vb-add-menu{z-index:9999;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);padding:4px;min-width:210px;display:flex;flex-direction:column;gap:1px}.vb-add-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;text-align:left;width:100%;transition:background .1s}.vb-add-item:hover{background:var(--hover-bg, rgba(255,255,255,.06))}.vb-add-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0;color:var(--accent, #3b82f6)}.vb-add-label{font-size:13px;font-weight:600;flex-shrink:0;min-width:72px}.vb-add-desc{font-size:11px;color:var(--text-muted);line-height:1.3}.mx-wrap{grid-area:canvas;display:flex;flex-direction:column;min-height:0;background:var(--bg-canvas);overflow:hidden;position:relative}.mx-toolbar{display:flex;align-items:baseline;gap:12px;padding:8px 14px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);flex-shrink:0}.mx-title{font-size:13px;font-weight:700;color:var(--text)}.mx-hint{font-size:11px;color:var(--text-muted)}.mx-scroll{flex:1;min-height:0;overflow:auto;padding:0}.mx-empty{margin:auto;text-align:center;padding:40px;max-width:420px}.mx-empty-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.mx-empty-sub{font-size:12px;color:var(--text-muted);line-height:1.5}.mx-table{border-collapse:separate;border-spacing:0;font-size:12px}.mx-table thead th.mx-colhead{position:sticky;top:0;z-index:3;height:140px;width:34px;min-width:34px;max-width:34px;padding:6px 2px;background:var(--bg-panel);border-left:1px solid var(--border-color);border-bottom:2px solid var(--border-color);cursor:pointer;vertical-align:bottom;overflow:hidden}.mx-colhead-inner{display:flex;align-items:center;gap:4px;writing-mode:vertical-rl;transform:rotate(180deg);height:100%;width:100%;padding:4px 0;white-space:nowrap}.mx-colhead-text{overflow:hidden;text-overflow:ellipsis;max-width:120px;color:var(--text);font-weight:500;font-size:11px}.mx-table thead th.mx-colhead:hover .mx-colhead-text,.mx-table th.mx-rowhead:hover .mx-rowhead-text{color:var(--accent)}.mx-corner{position:sticky;top:0;left:0;z-index:4;background:var(--bg-panel);border-bottom:2px solid var(--border-color);border-right:2px solid var(--border-color);vertical-align:bottom;padding:6px 8px}.mx-corner-from{font-size:10px;color:var(--text-muted);font-style:italic;white-space:nowrap}.mx-table th.mx-rowhead{position:sticky;left:0;z-index:2;background:var(--bg-panel);border-right:2px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:0 10px;height:34px;text-align:left;white-space:nowrap;cursor:pointer;font-weight:500}.mx-rowhead .mx-swatch,.mx-colhead .mx-swatch{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;flex-shrink:0;vertical-align:middle}.mx-rowhead-text{display:inline-block;max-width:240px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;color:var(--text)}.mx-cell{width:34px;min-width:34px;max-width:34px;height:34px;padding:0;text-align:center;vertical-align:middle;border-left:1px solid var(--border-color);border-bottom:1px solid var(--border-color);cursor:pointer;background:var(--bg-canvas)}.mx-cell.mx-axis-hl{background:color-mix(in srgb,var(--accent, #3b82f6) 9%,transparent)}.mx-cell:not(.mx-diag):hover{background:color-mix(in srgb,var(--accent, #3b82f6) 22%,transparent);box-shadow:inset 0 0 0 1px var(--accent, #3b82f6)}.mx-diag{cursor:default;background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--text-muted, #888) 14%,transparent),color-mix(in srgb,var(--text-muted, #888) 14%,transparent) 3px,transparent 3px,transparent 6px)}.mx-diag-mark{display:none}.mx-dot{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;vertical-align:middle;box-shadow:0 0 0 1px #00000040}.mx-dot-count{position:absolute;inset:-5px -7px auto auto;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--bg-panel, #1e1e2e);color:var(--text-main, #cdd6f4);font-size:9px;font-weight:700;line-height:14px;text-align:center;pointer-events:none;box-shadow:0 0 0 1px var(--border-color, #45475a)}.mx-cell.mx-sel{box-shadow:inset 0 0 0 2px var(--accent, #3b82f6);background:color-mix(in srgb,var(--accent, #3b82f6) 18%,transparent)}.mx-cell.mx-readonly{cursor:default}.mx-cell.mx-readonly:not(.mx-diag):hover{background:var(--bg-canvas);box-shadow:none}.mx-popup{position:fixed;z-index:9000;transform:translate(-50%);min-width:220px;max-width:340px;background:var(--bg-panel, #1e1e2e);border:1px solid var(--border-color, #45475a);border-radius:8px;box-shadow:0 8px 24px #00000073;overflow:hidden}.mx-popup-header{display:flex;align-items:center;gap:6px;padding:8px 12px 6px;border-bottom:1px solid var(--border-color, #45475a);font-size:11px;color:var(--text-muted, #888);white-space:nowrap;overflow:hidden}.mx-popup-from,.mx-popup-to{font-weight:600;color:var(--text-main, #cdd6f4);overflow:hidden;text-overflow:ellipsis;max-width:110px}.mx-popup-arrow{flex-shrink:0;opacity:.5}.mx-popup-list{list-style:none;margin:0;padding:4px 0}.mx-popup-item{display:flex;align-items:center;padding:0 4px 0 12px;gap:4px}.mx-popup-item:hover{background:color-mix(in srgb,var(--accent, #3b82f6) 10%,transparent)}.mx-popup-item-sel{background:color-mix(in srgb,var(--accent, #3b82f6) 16%,transparent)}.mx-popup-select{flex:1;display:flex;align-items:center;gap:8px;padding:6px 4px;background:none;border:none;cursor:pointer;color:var(--text-main, #cdd6f4);font-size:12px;text-align:left;min-width:0}.mx-popup-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #0000004d}.mx-popup-rel-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mx-popup-rel-type{color:var(--text-muted, #888);font-size:11px}.mx-popup-remove{flex-shrink:0;width:22px;height:22px;border:none;background:none;cursor:pointer;color:var(--text-muted, #888);font-size:16px;line-height:1;border-radius:4px;display:flex;align-items:center;justify-content:center}.mx-popup-remove:hover{background:color-mix(in srgb,var(--danger, #f38ba8) 20%,transparent);color:var(--danger, #f38ba8)}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%} diff --git a/tools/vscode-radical/webview/assets/index-CjwCM0Na.js b/tools/vscode-radical/webview/assets/index-CjwCM0Na.js deleted file mode 100644 index 02d89380..00000000 --- a/tools/vscode-radical/webview/assets/index-CjwCM0Na.js +++ /dev/null @@ -1,276 +0,0 @@ -(function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const g of document.querySelectorAll('link[rel="modulepreload"]'))d(g);new MutationObserver(g=>{for(const m of g)if(m.type==="childList")for(const w of m.addedNodes)w.tagName==="LINK"&&w.rel==="modulepreload"&&d(w)}).observe(document,{childList:!0,subtree:!0});function f(g){const m={};return g.integrity&&(m.integrity=g.integrity),g.referrerPolicy&&(m.referrerPolicy=g.referrerPolicy),g.crossOrigin==="use-credentials"?m.credentials="include":g.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function d(g){if(g.ep)return;g.ep=!0;const m=f(g);fetch(g.href,m)}})();var Q0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function O5e(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Nxt={exports:{}},Cee={},Cxt={exports:{}},jo={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Z$=Symbol.for("react.element"),fin=Symbol.for("react.portal"),hin=Symbol.for("react.fragment"),din=Symbol.for("react.strict_mode"),pin=Symbol.for("react.profiler"),gin=Symbol.for("react.provider"),win=Symbol.for("react.context"),bin=Symbol.for("react.forward_ref"),min=Symbol.for("react.suspense"),vin=Symbol.for("react.memo"),yin=Symbol.for("react.lazy"),o2t=Symbol.iterator;function xin(s){return s===null||typeof s!="object"?null:(s=o2t&&s[o2t]||s["@@iterator"],typeof s=="function"?s:null)}var Mxt={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Txt=Object.assign,Axt={};function vM(s,u,f){this.props=s,this.context=u,this.refs=Axt,this.updater=f||Mxt}vM.prototype.isReactComponent={};vM.prototype.setState=function(s,u){if(typeof s!="object"&&typeof s!="function"&&s!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,s,u,"setState")};vM.prototype.forceUpdate=function(s){this.updater.enqueueForceUpdate(this,s,"forceUpdate")};function Pxt(){}Pxt.prototype=vM.prototype;function L5e(s,u,f){this.props=s,this.context=u,this.refs=Axt,this.updater=f||Mxt}var D5e=L5e.prototype=new Pxt;D5e.constructor=L5e;Txt(D5e,vM.prototype);D5e.isPureReactComponent=!0;var c2t=Array.isArray,_xt=Object.prototype.hasOwnProperty,R5e={current:null},Oxt={key:!0,ref:!0,__self:!0,__source:!0};function Lxt(s,u,f){var d,g={},m=null,w=null;if(u!=null)for(d in u.ref!==void 0&&(w=u.ref),u.key!==void 0&&(m=""+u.key),u)_xt.call(u,d)&&!Oxt.hasOwnProperty(d)&&(g[d]=u[d]);var S=arguments.length-2;if(S===1)g.children=f;else if(1>>1,Be=je[_e];if(0>>1;_eg(ze,ge))Feg(Ue,ze)?(je[_e]=Ue,je[Fe]=ge,_e=Fe):(je[_e]=ze,je[xt]=ge,_e=xt);else if(Feg(Ue,ge))je[_e]=Ue,je[Fe]=ge,_e=Fe;else break e}}return ae}function g(je,ae){var ge=je.sortIndex-ae.sortIndex;return ge!==0?ge:je.id-ae.id}if(typeof performance=="object"&&typeof performance.now=="function"){var m=performance;s.unstable_now=function(){return m.now()}}else{var w=Date,S=w.now();s.unstable_now=function(){return w.now()-S}}var N=[],T=[],P=1,O=null,I=3,C=!1,M=!1,_=!1,F=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,B=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(je){for(var ae=f(T);ae!==null;){if(ae.callback===null)d(T);else if(ae.startTime<=je)d(T),ae.sortIndex=ae.expirationTime,u(N,ae);else break;ae=f(T)}}function z(je){if(_=!1,G(je),!M)if(f(N)!==null)M=!0,ve(Q);else{var ae=f(T);ae!==null&&Ke(z,ae.startTime-je)}}function Q(je,ae){M=!1,_&&(_=!1,R(Y),Y=-1),C=!0;var ge=I;try{for(G(ae),O=f(N);O!==null&&(!(O.expirationTime>ae)||je&&!re());){var _e=O.callback;if(typeof _e=="function"){O.callback=null,I=O.priorityLevel;var Be=_e(O.expirationTime<=ae);ae=s.unstable_now(),typeof Be=="function"?O.callback=Be:O===f(N)&&d(N),G(ae)}else d(N);O=f(N)}if(O!==null)var ht=!0;else{var xt=f(T);xt!==null&&Ke(z,xt.startTime-ae),ht=!1}return ht}finally{O=null,I=ge,C=!1}}var te=!1,ne=null,Y=-1,oe=5,Z=-1;function re(){return!(s.unstable_now()-Zje||125_e?(je.sortIndex=ge,u(T,je),f(N)===null&&je===f(T)&&(_?(R(Y),Y=-1):_=!0,Ke(z,ge-_e))):(je.sortIndex=Be,u(N,je),M||C||(M=!0,ve(Q))),je},s.unstable_shouldYield=re,s.unstable_wrapCallback=function(je){var ae=I;return function(){var ge=I;I=ae;try{return je.apply(this,arguments)}finally{I=ge}}}})(Bxt);Fxt.exports=Bxt;var Pin=Fxt.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var _in=fe,mg=Pin;function Zn(s){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+s,f=1;f"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nke=Object.prototype.hasOwnProperty,Oin=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,l2t={},a2t={};function Lin(s){return nke.call(a2t,s)?!0:nke.call(l2t,s)?!1:Oin.test(s)?a2t[s]=!0:(l2t[s]=!0,!1)}function Din(s,u,f,d){if(f!==null&&f.type===0)return!1;switch(typeof u){case"function":case"symbol":return!0;case"boolean":return d?!1:f!==null?!f.acceptsBooleans:(s=s.toLowerCase().slice(0,5),s!=="data-"&&s!=="aria-");default:return!1}}function Rin(s,u,f,d){if(u===null||typeof u>"u"||Din(s,u,f,d))return!0;if(d)return!1;if(f!==null)switch(f.type){case 3:return!u;case 4:return u===!1;case 5:return isNaN(u);case 6:return isNaN(u)||1>u}return!1}function R1(s,u,f,d,g,m,w){this.acceptsBooleans=u===2||u===3||u===4,this.attributeName=d,this.attributeNamespace=g,this.mustUseProperty=f,this.propertyName=s,this.type=u,this.sanitizeURL=m,this.removeEmptyString=w}var Yh={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(s){Yh[s]=new R1(s,0,!1,s,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(s){var u=s[0];Yh[u]=new R1(u,1,!1,s[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(s){Yh[s]=new R1(s,2,!1,s.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(s){Yh[s]=new R1(s,2,!1,s,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(s){Yh[s]=new R1(s,3,!1,s.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(s){Yh[s]=new R1(s,3,!0,s,null,!1,!1)});["capture","download"].forEach(function(s){Yh[s]=new R1(s,4,!1,s,null,!1,!1)});["cols","rows","size","span"].forEach(function(s){Yh[s]=new R1(s,6,!1,s,null,!1,!1)});["rowSpan","start"].forEach(function(s){Yh[s]=new R1(s,5,!1,s.toLowerCase(),null,!1,!1)});var F5e=/[\-:]([a-z])/g;function B5e(s){return s[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(s){var u=s.replace(F5e,B5e);Yh[u]=new R1(u,1,!1,s,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(s){var u=s.replace(F5e,B5e);Yh[u]=new R1(u,1,!1,s,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(s){var u=s.replace(F5e,B5e);Yh[u]=new R1(u,1,!1,s,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(s){Yh[s]=new R1(s,1,!1,s.toLowerCase(),null,!1,!1)});Yh.xlinkHref=new R1("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(s){Yh[s]=new R1(s,1,!1,s.toLowerCase(),null,!0,!0)});function H5e(s,u,f,d){var g=Yh.hasOwnProperty(u)?Yh[u]:null;(g!==null?g.type!==0:d||!(2S||g[w]!==m[S]){var N=` -`+g[w].replace(" at new "," at ");return s.displayName&&N.includes("")&&(N=N.replace("",s.displayName)),N}while(1<=w&&0<=S);break}}}finally{zxe=!1,Error.prepareStackTrace=f}return(s=s?s.displayName||s.name:"")?t$(s):""}function $in(s){switch(s.tag){case 5:return t$(s.type);case 16:return t$("Lazy");case 13:return t$("Suspense");case 19:return t$("SuspenseList");case 0:case 2:case 15:return s=Vxe(s.type,!1),s;case 11:return s=Vxe(s.type.render,!1),s;case 1:return s=Vxe(s.type,!0),s;default:return""}}function oke(s){if(s==null)return null;if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case PC:return"Fragment";case AC:return"Portal";case ike:return"Profiler";case K5e:return"StrictMode";case rke:return"Suspense";case ske:return"SuspenseList"}if(typeof s=="object")switch(s.$$typeof){case qxt:return(s.displayName||"Context")+".Consumer";case Kxt:return(s._context.displayName||"Context")+".Provider";case q5e:var u=s.render;return s=s.displayName,s||(s=u.displayName||u.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case z5e:return u=s.displayName||null,u!==null?u:oke(s.type)||"Memo";case L5:u=s._payload,s=s._init;try{return oke(s(u))}catch{}}return null}function Fin(s){var u=s.type;switch(s.tag){case 24:return"Cache";case 9:return(u.displayName||"Context")+".Consumer";case 10:return(u._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return s=u.render,s=s.displayName||s.name||"",u.displayName||(s!==""?"ForwardRef("+s+")":"ForwardRef");case 7:return"Fragment";case 5:return u;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return oke(u);case 8:return u===K5e?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof u=="function")return u.displayName||u.name||null;if(typeof u=="string")return u}return null}function i6(s){switch(typeof s){case"boolean":case"number":case"string":case"undefined":return s;case"object":return s;default:return""}}function Vxt(s){var u=s.type;return(s=s.nodeName)&&s.toLowerCase()==="input"&&(u==="checkbox"||u==="radio")}function Bin(s){var u=Vxt(s)?"checked":"value",f=Object.getOwnPropertyDescriptor(s.constructor.prototype,u),d=""+s[u];if(!s.hasOwnProperty(u)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var g=f.get,m=f.set;return Object.defineProperty(s,u,{configurable:!0,get:function(){return g.call(this)},set:function(w){d=""+w,m.call(this,w)}}),Object.defineProperty(s,u,{enumerable:f.enumerable}),{getValue:function(){return d},setValue:function(w){d=""+w},stopTracking:function(){s._valueTracker=null,delete s[u]}}}}function MQ(s){s._valueTracker||(s._valueTracker=Bin(s))}function Uxt(s){if(!s)return!1;var u=s._valueTracker;if(!u)return!0;var f=u.getValue(),d="";return s&&(d=Vxt(s)?s.checked?"true":"false":s.value),s=d,s!==f?(u.setValue(s),!0):!1}function OZ(s){if(s=s||(typeof document<"u"?document:void 0),typeof s>"u")return null;try{return s.activeElement||s.body}catch{return s.body}}function cke(s,u){var f=u.checked;return Ll({},u,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:f??s._wrapperState.initialChecked})}function h2t(s,u){var f=u.defaultValue==null?"":u.defaultValue,d=u.checked!=null?u.checked:u.defaultChecked;f=i6(u.value!=null?u.value:f),s._wrapperState={initialChecked:d,initialValue:f,controlled:u.type==="checkbox"||u.type==="radio"?u.checked!=null:u.value!=null}}function Gxt(s,u){u=u.checked,u!=null&&H5e(s,"checked",u,!1)}function uke(s,u){Gxt(s,u);var f=i6(u.value),d=u.type;if(f!=null)d==="number"?(f===0&&s.value===""||s.value!=f)&&(s.value=""+f):s.value!==""+f&&(s.value=""+f);else if(d==="submit"||d==="reset"){s.removeAttribute("value");return}u.hasOwnProperty("value")?lke(s,u.type,f):u.hasOwnProperty("defaultValue")&&lke(s,u.type,i6(u.defaultValue)),u.checked==null&&u.defaultChecked!=null&&(s.defaultChecked=!!u.defaultChecked)}function d2t(s,u,f){if(u.hasOwnProperty("value")||u.hasOwnProperty("defaultValue")){var d=u.type;if(!(d!=="submit"&&d!=="reset"||u.value!==void 0&&u.value!==null))return;u=""+s._wrapperState.initialValue,f||u===s.value||(s.value=u),s.defaultValue=u}f=s.name,f!==""&&(s.name=""),s.defaultChecked=!!s._wrapperState.initialChecked,f!==""&&(s.name=f)}function lke(s,u,f){(u!=="number"||OZ(s.ownerDocument)!==s)&&(f==null?s.defaultValue=""+s._wrapperState.initialValue:s.defaultValue!==""+f&&(s.defaultValue=""+f))}var n$=Array.isArray;function VC(s,u,f,d){if(s=s.options,u){u={};for(var g=0;g"+u.valueOf().toString()+"",u=TQ.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;u.firstChild;)s.appendChild(u.firstChild)}});function j$(s,u){if(u){var f=s.firstChild;if(f&&f===s.lastChild&&f.nodeType===3){f.nodeValue=u;return}}s.textContent=u}var a$={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Hin=["Webkit","ms","Moz","O"];Object.keys(a$).forEach(function(s){Hin.forEach(function(u){u=u+s.charAt(0).toUpperCase()+s.substring(1),a$[u]=a$[s]})});function Yxt(s,u,f){return u==null||typeof u=="boolean"||u===""?"":f||typeof u!="number"||u===0||a$.hasOwnProperty(s)&&a$[s]?(""+u).trim():u+"px"}function Qxt(s,u){s=s.style;for(var f in u)if(u.hasOwnProperty(f)){var d=f.indexOf("--")===0,g=Yxt(f,u[f],d);f==="float"&&(f="cssFloat"),d?s.setProperty(f,g):s[f]=g}}var Kin=Ll({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function hke(s,u){if(u){if(Kin[s]&&(u.children!=null||u.dangerouslySetInnerHTML!=null))throw Error(Zn(137,s));if(u.dangerouslySetInnerHTML!=null){if(u.children!=null)throw Error(Zn(60));if(typeof u.dangerouslySetInnerHTML!="object"||!("__html"in u.dangerouslySetInnerHTML))throw Error(Zn(61))}if(u.style!=null&&typeof u.style!="object")throw Error(Zn(62))}}function dke(s,u){if(s.indexOf("-")===-1)return typeof u.is=="string";switch(s){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var pke=null;function V5e(s){return s=s.target||s.srcElement||window,s.correspondingUseElement&&(s=s.correspondingUseElement),s.nodeType===3?s.parentNode:s}var gke=null,UC=null,GC=null;function w2t(s){if(s=nF(s)){if(typeof gke!="function")throw Error(Zn(280));var u=s.stateNode;u&&(u=_ee(u),gke(s.stateNode,s.type,u))}}function Zxt(s){UC?GC?GC.push(s):GC=[s]:UC=s}function e4t(){if(UC){var s=UC,u=GC;if(GC=UC=null,w2t(s),u)for(s=0;s>>=0,s===0?32:31-(Zin(s)/ern|0)|0}var AQ=64,PQ=4194304;function i$(s){switch(s&-s){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return s&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return s}}function $Z(s,u){var f=s.pendingLanes;if(f===0)return 0;var d=0,g=s.suspendedLanes,m=s.pingedLanes,w=f&268435455;if(w!==0){var S=w&~g;S!==0?d=i$(S):(m&=w,m!==0&&(d=i$(m)))}else w=f&~g,w!==0?d=i$(w):m!==0&&(d=i$(m));if(d===0)return 0;if(u!==0&&u!==d&&!(u&g)&&(g=d&-d,m=u&-u,g>=m||g===16&&(m&4194240)!==0))return u;if(d&4&&(d|=f&16),u=s.entangledLanes,u!==0)for(s=s.entanglements,u&=d;0f;f++)u.push(s);return u}function eF(s,u,f){s.pendingLanes|=u,u!==536870912&&(s.suspendedLanes=0,s.pingedLanes=0),s=s.eventTimes,u=31-av(u),s[u]=f}function rrn(s,u){var f=s.pendingLanes&~u;s.pendingLanes=u,s.suspendedLanes=0,s.pingedLanes=0,s.expiredLanes&=u,s.mutableReadLanes&=u,s.entangledLanes&=u,u=s.entanglements;var d=s.eventTimes;for(s=s.expirationTimes;0=h$),E2t=" ",I2t=!1;function y4t(s,u){switch(s){case"keyup":return Prn.indexOf(u.keyCode)!==-1;case"keydown":return u.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function x4t(s){return s=s.detail,typeof s=="object"&&"data"in s?s.data:null}var _C=!1;function Orn(s,u){switch(s){case"compositionend":return x4t(u);case"keypress":return u.which!==32?null:(I2t=!0,E2t);case"textInput":return s=u.data,s===E2t&&I2t?null:s;default:return null}}function Lrn(s,u){if(_C)return s==="compositionend"||!Z5e&&y4t(s,u)?(s=m4t(),fZ=J5e=K5=null,_C=!1,s):null;switch(s){case"paste":return null;case"keypress":if(!(u.ctrlKey||u.altKey||u.metaKey)||u.ctrlKey&&u.altKey){if(u.char&&1=u)return{node:f,offset:u-s};s=d}e:{for(;f;){if(f.nextSibling){f=f.nextSibling;break e}f=f.parentNode}f=void 0}f=T2t(f)}}function E4t(s,u){return s&&u?s===u?!0:s&&s.nodeType===3?!1:u&&u.nodeType===3?E4t(s,u.parentNode):"contains"in s?s.contains(u):s.compareDocumentPosition?!!(s.compareDocumentPosition(u)&16):!1:!1}function I4t(){for(var s=window,u=OZ();u instanceof s.HTMLIFrameElement;){try{var f=typeof u.contentWindow.location.href=="string"}catch{f=!1}if(f)s=u.contentWindow;else break;u=OZ(s.document)}return u}function e6e(s){var u=s&&s.nodeName&&s.nodeName.toLowerCase();return u&&(u==="input"&&(s.type==="text"||s.type==="search"||s.type==="tel"||s.type==="url"||s.type==="password")||u==="textarea"||s.contentEditable==="true")}function zrn(s){var u=I4t(),f=s.focusedElem,d=s.selectionRange;if(u!==f&&f&&f.ownerDocument&&E4t(f.ownerDocument.documentElement,f)){if(d!==null&&e6e(f)){if(u=d.start,s=d.end,s===void 0&&(s=u),"selectionStart"in f)f.selectionStart=u,f.selectionEnd=Math.min(s,f.value.length);else if(s=(u=f.ownerDocument||document)&&u.defaultView||window,s.getSelection){s=s.getSelection();var g=f.textContent.length,m=Math.min(d.start,g);d=d.end===void 0?m:Math.min(d.end,g),!s.extend&&m>d&&(g=d,d=m,m=g),g=A2t(f,m);var w=A2t(f,d);g&&w&&(s.rangeCount!==1||s.anchorNode!==g.node||s.anchorOffset!==g.offset||s.focusNode!==w.node||s.focusOffset!==w.offset)&&(u=u.createRange(),u.setStart(g.node,g.offset),s.removeAllRanges(),m>d?(s.addRange(u),s.extend(w.node,w.offset)):(u.setEnd(w.node,w.offset),s.addRange(u)))}}for(u=[],s=f;s=s.parentNode;)s.nodeType===1&&u.push({element:s,left:s.scrollLeft,top:s.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;f=document.documentMode,OC=null,xke=null,p$=null,kke=!1;function P2t(s,u,f){var d=f.window===f?f.document:f.nodeType===9?f:f.ownerDocument;kke||OC==null||OC!==OZ(d)||(d=OC,"selectionStart"in d&&e6e(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),p$&&M$(p$,d)||(p$=d,d=HZ(xke,"onSelect"),0RC||(s.current=Cke[RC],Cke[RC]=null,RC--)}function Eu(s,u){RC++,Cke[RC]=s.current,s.current=u}var r6={},$d=o6(r6),W0=o6(!1),C9=r6;function oM(s,u){var f=s.type.contextTypes;if(!f)return r6;var d=s.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===u)return d.__reactInternalMemoizedMaskedChildContext;var g={},m;for(m in f)g[m]=u[m];return d&&(s=s.stateNode,s.__reactInternalMemoizedUnmaskedChildContext=u,s.__reactInternalMemoizedMaskedChildContext=g),g}function X0(s){return s=s.childContextTypes,s!=null}function qZ(){$u(W0),$u($d)}function F2t(s,u,f){if($d.current!==r6)throw Error(Zn(168));Eu($d,u),Eu(W0,f)}function L4t(s,u,f){var d=s.stateNode;if(u=u.childContextTypes,typeof d.getChildContext!="function")return f;d=d.getChildContext();for(var g in d)if(!(g in u))throw Error(Zn(108,Fin(s)||"Unknown",g));return Ll({},f,d)}function zZ(s){return s=(s=s.stateNode)&&s.__reactInternalMemoizedMergedChildContext||r6,C9=$d.current,Eu($d,s),Eu(W0,W0.current),!0}function B2t(s,u,f){var d=s.stateNode;if(!d)throw Error(Zn(169));f?(s=L4t(s,u,C9),d.__reactInternalMemoizedMergedChildContext=s,$u(W0),$u($d),Eu($d,s)):$u(W0),Eu(W0,f)}var bx=null,Oee=!1,s4e=!1;function D4t(s){bx===null?bx=[s]:bx.push(s)}function nsn(s){Oee=!0,D4t(s)}function c6(){if(!s4e&&bx!==null){s4e=!0;var s=0,u=Fc;try{var f=bx;for(Fc=1;s>=w,g-=w,vx=1<<32-av(u)+g|f<Y?(oe=ne,ne=null):oe=ne.sibling;var Z=I(R,ne,G[Y],z);if(Z===null){ne===null&&(ne=oe);break}s&&ne&&Z.alternate===null&&u(R,ne),B=m(Z,B,Y),te===null?Q=Z:te.sibling=Z,te=Z,ne=oe}if(Y===G.length)return f(R,ne),sl&&p9(R,Y),Q;if(ne===null){for(;YY?(oe=ne,ne=null):oe=ne.sibling;var re=I(R,ne,Z.value,z);if(re===null){ne===null&&(ne=oe);break}s&&ne&&re.alternate===null&&u(R,ne),B=m(re,B,Y),te===null?Q=re:te.sibling=re,te=re,ne=oe}if(Z.done)return f(R,ne),sl&&p9(R,Y),Q;if(ne===null){for(;!Z.done;Y++,Z=G.next())Z=O(R,Z.value,z),Z!==null&&(B=m(Z,B,Y),te===null?Q=Z:te.sibling=Z,te=Z);return sl&&p9(R,Y),Q}for(ne=d(R,ne);!Z.done;Y++,Z=G.next())Z=C(ne,R,Y,Z.value,z),Z!==null&&(s&&Z.alternate!==null&&ne.delete(Z.key===null?Y:Z.key),B=m(Z,B,Y),te===null?Q=Z:te.sibling=Z,te=Z);return s&&ne.forEach(function(de){return u(R,de)}),sl&&p9(R,Y),Q}function F(R,B,G,z){if(typeof G=="object"&&G!==null&&G.type===PC&&G.key===null&&(G=G.props.children),typeof G=="object"&&G!==null){switch(G.$$typeof){case CQ:e:{for(var Q=G.key,te=B;te!==null;){if(te.key===Q){if(Q=G.type,Q===PC){if(te.tag===7){f(R,te.sibling),B=g(te,G.props.children),B.return=R,R=B;break e}}else if(te.elementType===Q||typeof Q=="object"&&Q!==null&&Q.$$typeof===L5&&q2t(Q)===te.type){f(R,te.sibling),B=g(te,G.props),B.ref=VR(R,te,G),B.return=R,R=B;break e}f(R,te);break}else u(R,te);te=te.sibling}G.type===PC?(B=I9(G.props.children,R.mode,z,G.key),B.return=R,R=B):(z=vZ(G.type,G.key,G.props,null,R.mode,z),z.ref=VR(R,B,G),z.return=R,R=z)}return w(R);case AC:e:{for(te=G.key;B!==null;){if(B.key===te)if(B.tag===4&&B.stateNode.containerInfo===G.containerInfo&&B.stateNode.implementation===G.implementation){f(R,B.sibling),B=g(B,G.children||[]),B.return=R,R=B;break e}else{f(R,B);break}else u(R,B);B=B.sibling}B=d4e(G,R.mode,z),B.return=R,R=B}return w(R);case L5:return te=G._init,F(R,B,te(G._payload),z)}if(n$(G))return M(R,B,G,z);if(BR(G))return _(R,B,G,z);FQ(R,G)}return typeof G=="string"&&G!==""||typeof G=="number"?(G=""+G,B!==null&&B.tag===6?(f(R,B.sibling),B=g(B,G),B.return=R,R=B):(f(R,B),B=h4e(G,R.mode,z),B.return=R,R=B),w(R)):f(R,B)}return F}var uM=B4t(!0),H4t=B4t(!1),GZ=o6(null),WZ=null,BC=null,r6e=null;function s6e(){r6e=BC=WZ=null}function o6e(s){var u=GZ.current;$u(GZ),s._currentValue=u}function Ake(s,u,f){for(;s!==null;){var d=s.alternate;if((s.childLanes&u)!==u?(s.childLanes|=u,d!==null&&(d.childLanes|=u)):d!==null&&(d.childLanes&u)!==u&&(d.childLanes|=u),s===f)break;s=s.return}}function XC(s,u){WZ=s,r6e=BC=null,s=s.dependencies,s!==null&&s.firstContext!==null&&(s.lanes&u&&(z0=!0),s.firstContext=null)}function bb(s){var u=s._currentValue;if(r6e!==s)if(s={context:s,memoizedValue:u,next:null},BC===null){if(WZ===null)throw Error(Zn(308));BC=s,WZ.dependencies={lanes:0,firstContext:s}}else BC=BC.next=s;return u}var y9=null;function c6e(s){y9===null?y9=[s]:y9.push(s)}function K4t(s,u,f,d){var g=u.interleaved;return g===null?(f.next=f,c6e(u)):(f.next=g.next,g.next=f),u.interleaved=f,Ix(s,d)}function Ix(s,u){s.lanes|=u;var f=s.alternate;for(f!==null&&(f.lanes|=u),f=s,s=s.return;s!==null;)s.childLanes|=u,f=s.alternate,f!==null&&(f.childLanes|=u),f=s,s=s.return;return f.tag===3?f.stateNode:null}var D5=!1;function u6e(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function q4t(s,u){s=s.updateQueue,u.updateQueue===s&&(u.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,effects:s.effects})}function jx(s,u){return{eventTime:s,lane:u,tag:0,payload:null,callback:null,next:null}}function X5(s,u,f){var d=s.updateQueue;if(d===null)return null;if(d=d.shared,Jo&2){var g=d.pending;return g===null?u.next=u:(u.next=g.next,g.next=u),d.pending=u,Ix(s,f)}return g=d.interleaved,g===null?(u.next=u,c6e(d)):(u.next=g.next,g.next=u),d.interleaved=u,Ix(s,f)}function dZ(s,u,f){if(u=u.updateQueue,u!==null&&(u=u.shared,(f&4194240)!==0)){var d=u.lanes;d&=s.pendingLanes,f|=d,u.lanes=f,G5e(s,f)}}function z2t(s,u){var f=s.updateQueue,d=s.alternate;if(d!==null&&(d=d.updateQueue,f===d)){var g=null,m=null;if(f=f.firstBaseUpdate,f!==null){do{var w={eventTime:f.eventTime,lane:f.lane,tag:f.tag,payload:f.payload,callback:f.callback,next:null};m===null?g=m=w:m=m.next=w,f=f.next}while(f!==null);m===null?g=m=u:m=m.next=u}else g=m=u;f={baseState:d.baseState,firstBaseUpdate:g,lastBaseUpdate:m,shared:d.shared,effects:d.effects},s.updateQueue=f;return}s=f.lastBaseUpdate,s===null?f.firstBaseUpdate=u:s.next=u,f.lastBaseUpdate=u}function XZ(s,u,f,d){var g=s.updateQueue;D5=!1;var m=g.firstBaseUpdate,w=g.lastBaseUpdate,S=g.shared.pending;if(S!==null){g.shared.pending=null;var N=S,T=N.next;N.next=null,w===null?m=T:w.next=T,w=N;var P=s.alternate;P!==null&&(P=P.updateQueue,S=P.lastBaseUpdate,S!==w&&(S===null?P.firstBaseUpdate=T:S.next=T,P.lastBaseUpdate=N))}if(m!==null){var O=g.baseState;w=0,P=T=N=null,S=m;do{var I=S.lane,C=S.eventTime;if((d&I)===I){P!==null&&(P=P.next={eventTime:C,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var M=s,_=S;switch(I=u,C=f,_.tag){case 1:if(M=_.payload,typeof M=="function"){O=M.call(C,O,I);break e}O=M;break e;case 3:M.flags=M.flags&-65537|128;case 0:if(M=_.payload,I=typeof M=="function"?M.call(C,O,I):M,I==null)break e;O=Ll({},O,I);break e;case 2:D5=!0}}S.callback!==null&&S.lane!==0&&(s.flags|=64,I=g.effects,I===null?g.effects=[S]:I.push(S))}else C={eventTime:C,lane:I,tag:S.tag,payload:S.payload,callback:S.callback,next:null},P===null?(T=P=C,N=O):P=P.next=C,w|=I;if(S=S.next,S===null){if(S=g.shared.pending,S===null)break;I=S,S=I.next,I.next=null,g.lastBaseUpdate=I,g.shared.pending=null}}while(!0);if(P===null&&(N=O),g.baseState=N,g.firstBaseUpdate=T,g.lastBaseUpdate=P,u=g.shared.interleaved,u!==null){g=u;do w|=g.lane,g=g.next;while(g!==u)}else m===null&&(g.shared.lanes=0);A9|=w,s.lanes=w,s.memoizedState=O}}function V2t(s,u,f){if(s=u.effects,u.effects=null,s!==null)for(u=0;uf?f:4,s(!0);var d=c4e.transition;c4e.transition={};try{s(!1),u()}finally{Fc=f,c4e.transition=d}}function okt(){return mb().memoizedState}function osn(s,u,f){var d=Y5(s);if(f={lane:d,action:f,hasEagerState:!1,eagerState:null,next:null},ckt(s))ukt(u,f);else if(f=K4t(s,u,f,d),f!==null){var g=L1();fv(f,s,d,g),lkt(f,u,d)}}function csn(s,u,f){var d=Y5(s),g={lane:d,action:f,hasEagerState:!1,eagerState:null,next:null};if(ckt(s))ukt(u,g);else{var m=s.alternate;if(s.lanes===0&&(m===null||m.lanes===0)&&(m=u.lastRenderedReducer,m!==null))try{var w=u.lastRenderedState,S=m(w,f);if(g.hasEagerState=!0,g.eagerState=S,hv(S,w)){var N=u.interleaved;N===null?(g.next=g,c6e(u)):(g.next=N.next,N.next=g),u.interleaved=g;return}}catch{}finally{}f=K4t(s,u,g,d),f!==null&&(g=L1(),fv(f,s,d,g),lkt(f,u,d))}}function ckt(s){var u=s.alternate;return s===Ol||u!==null&&u===Ol}function ukt(s,u){g$=YZ=!0;var f=s.pending;f===null?u.next=u:(u.next=f.next,f.next=u),s.pending=u}function lkt(s,u,f){if(f&4194240){var d=u.lanes;d&=s.pendingLanes,f|=d,u.lanes=f,G5e(s,f)}}var QZ={readContext:bb,useCallback:Od,useContext:Od,useEffect:Od,useImperativeHandle:Od,useInsertionEffect:Od,useLayoutEffect:Od,useMemo:Od,useReducer:Od,useRef:Od,useState:Od,useDebugValue:Od,useDeferredValue:Od,useTransition:Od,useMutableSource:Od,useSyncExternalStore:Od,useId:Od,unstable_isNewReconciler:!1},usn={readContext:bb,useCallback:function(s,u){return uy().memoizedState=[s,u===void 0?null:u],s},useContext:bb,useEffect:G2t,useImperativeHandle:function(s,u,f){return f=f!=null?f.concat([s]):null,gZ(4194308,4,tkt.bind(null,u,s),f)},useLayoutEffect:function(s,u){return gZ(4194308,4,s,u)},useInsertionEffect:function(s,u){return gZ(4,2,s,u)},useMemo:function(s,u){var f=uy();return u=u===void 0?null:u,s=s(),f.memoizedState=[s,u],s},useReducer:function(s,u,f){var d=uy();return u=f!==void 0?f(u):u,d.memoizedState=d.baseState=u,s={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:u},d.queue=s,s=s.dispatch=osn.bind(null,Ol,s),[d.memoizedState,s]},useRef:function(s){var u=uy();return s={current:s},u.memoizedState=s},useState:U2t,useDebugValue:w6e,useDeferredValue:function(s){return uy().memoizedState=s},useTransition:function(){var s=U2t(!1),u=s[0];return s=ssn.bind(null,s[1]),uy().memoizedState=s,[u,s]},useMutableSource:function(){},useSyncExternalStore:function(s,u,f){var d=Ol,g=uy();if(sl){if(f===void 0)throw Error(Zn(407));f=f()}else{if(f=u(),gh===null)throw Error(Zn(349));T9&30||G4t(d,u,f)}g.memoizedState=f;var m={value:f,getSnapshot:u};return g.queue=m,G2t(X4t.bind(null,d,m,s),[s]),d.flags|=2048,R$(9,W4t.bind(null,d,m,f,u),void 0,null),f},useId:function(){var s=uy(),u=gh.identifierPrefix;if(sl){var f=yx,d=vx;f=(d&~(1<<32-av(d)-1)).toString(32)+f,u=":"+u+"R"+f,f=L$++,0<\/script>",s=s.removeChild(s.firstChild)):typeof d.is=="string"?s=w.createElement(f,{is:d.is}):(s=w.createElement(f),f==="select"&&(w=s,d.multiple?w.multiple=!0:d.size&&(w.size=d.size))):s=w.createElementNS(s,f),s[ay]=u,s[P$]=d,vkt(s,u,!1,!1),u.stateNode=s;e:{switch(w=dke(f,d),f){case"dialog":Ru("cancel",s),Ru("close",s),g=d;break;case"iframe":case"object":case"embed":Ru("load",s),g=d;break;case"video":case"audio":for(g=0;gfM&&(u.flags|=128,d=!0,UR(m,!1),u.lanes=4194304)}else{if(!d)if(s=JZ(w),s!==null){if(u.flags|=128,d=!0,f=s.updateQueue,f!==null&&(u.updateQueue=f,u.flags|=4),UR(m,!0),m.tail===null&&m.tailMode==="hidden"&&!w.alternate&&!sl)return Ld(u),null}else 2*La()-m.renderingStartTime>fM&&f!==1073741824&&(u.flags|=128,d=!0,UR(m,!1),u.lanes=4194304);m.isBackwards?(w.sibling=u.child,u.child=w):(f=m.last,f!==null?f.sibling=w:u.child=w,m.last=w)}return m.tail!==null?(u=m.tail,m.rendering=u,m.tail=u.sibling,m.renderingStartTime=La(),u.sibling=null,f=_l.current,Eu(_l,d?f&1|2:f&1),u):(Ld(u),null);case 22:case 23:return k6e(),d=u.memoizedState!==null,s!==null&&s.memoizedState!==null!==d&&(u.flags|=8192),d&&u.mode&1?pg&1073741824&&(Ld(u),u.subtreeFlags&6&&(u.flags|=8192)):Ld(u),null;case 24:return null;case 25:return null}throw Error(Zn(156,u.tag))}function wsn(s,u){switch(n6e(u),u.tag){case 1:return X0(u.type)&&qZ(),s=u.flags,s&65536?(u.flags=s&-65537|128,u):null;case 3:return lM(),$u(W0),$u($d),f6e(),s=u.flags,s&65536&&!(s&128)?(u.flags=s&-65537|128,u):null;case 5:return a6e(u),null;case 13:if($u(_l),s=u.memoizedState,s!==null&&s.dehydrated!==null){if(u.alternate===null)throw Error(Zn(340));cM()}return s=u.flags,s&65536?(u.flags=s&-65537|128,u):null;case 19:return $u(_l),null;case 4:return lM(),null;case 10:return o6e(u.type._context),null;case 22:case 23:return k6e(),null;case 24:return null;default:return null}}var HQ=!1,Rd=!1,bsn=typeof WeakSet=="function"?WeakSet:Set,zi=null;function HC(s,u){var f=s.ref;if(f!==null)if(typeof f=="function")try{f(null)}catch(d){ia(s,u,d)}else f.current=null}function Bke(s,u,f){try{f()}catch(d){ia(s,u,d)}}var ryt=!1;function msn(s,u){if(jke=FZ,s=I4t(),e6e(s)){if("selectionStart"in s)var f={start:s.selectionStart,end:s.selectionEnd};else e:{f=(f=s.ownerDocument)&&f.defaultView||window;var d=f.getSelection&&f.getSelection();if(d&&d.rangeCount!==0){f=d.anchorNode;var g=d.anchorOffset,m=d.focusNode;d=d.focusOffset;try{f.nodeType,m.nodeType}catch{f=null;break e}var w=0,S=-1,N=-1,T=0,P=0,O=s,I=null;t:for(;;){for(var C;O!==f||g!==0&&O.nodeType!==3||(S=w+g),O!==m||d!==0&&O.nodeType!==3||(N=w+d),O.nodeType===3&&(w+=O.nodeValue.length),(C=O.firstChild)!==null;)I=O,O=C;for(;;){if(O===s)break t;if(I===f&&++T===g&&(S=w),I===m&&++P===d&&(N=w),(C=O.nextSibling)!==null)break;O=I,I=O.parentNode}O=C}f=S===-1||N===-1?null:{start:S,end:N}}else f=null}f=f||{start:0,end:0}}else f=null;for(Ske={focusedElem:s,selectionRange:f},FZ=!1,zi=u;zi!==null;)if(u=zi,s=u.child,(u.subtreeFlags&1028)!==0&&s!==null)s.return=u,zi=s;else for(;zi!==null;){u=zi;try{var M=u.alternate;if(u.flags&1024)switch(u.tag){case 0:case 11:case 15:break;case 1:if(M!==null){var _=M.memoizedProps,F=M.memoizedState,R=u.stateNode,B=R.getSnapshotBeforeUpdate(u.elementType===u.type?_:nv(u.type,_),F);R.__reactInternalSnapshotBeforeUpdate=B}break;case 3:var G=u.stateNode.containerInfo;G.nodeType===1?G.textContent="":G.nodeType===9&&G.documentElement&&G.removeChild(G.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Zn(163))}}catch(z){ia(u,u.return,z)}if(s=u.sibling,s!==null){s.return=u.return,zi=s;break}zi=u.return}return M=ryt,ryt=!1,M}function w$(s,u,f){var d=u.updateQueue;if(d=d!==null?d.lastEffect:null,d!==null){var g=d=d.next;do{if((g.tag&s)===s){var m=g.destroy;g.destroy=void 0,m!==void 0&&Bke(u,f,m)}g=g.next}while(g!==d)}}function Ree(s,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var f=u=u.next;do{if((f.tag&s)===s){var d=f.create;f.destroy=d()}f=f.next}while(f!==u)}}function Hke(s){var u=s.ref;if(u!==null){var f=s.stateNode;switch(s.tag){case 5:s=f;break;default:s=f}typeof u=="function"?u(s):u.current=s}}function kkt(s){var u=s.alternate;u!==null&&(s.alternate=null,kkt(u)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(u=s.stateNode,u!==null&&(delete u[ay],delete u[P$],delete u[Nke],delete u[esn],delete u[tsn])),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}function jkt(s){return s.tag===5||s.tag===3||s.tag===4}function syt(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||jkt(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function Kke(s,u,f){var d=s.tag;if(d===5||d===6)s=s.stateNode,u?f.nodeType===8?f.parentNode.insertBefore(s,u):f.insertBefore(s,u):(f.nodeType===8?(u=f.parentNode,u.insertBefore(s,f)):(u=f,u.appendChild(s)),f=f._reactRootContainer,f!=null||u.onclick!==null||(u.onclick=KZ));else if(d!==4&&(s=s.child,s!==null))for(Kke(s,u,f),s=s.sibling;s!==null;)Kke(s,u,f),s=s.sibling}function qke(s,u,f){var d=s.tag;if(d===5||d===6)s=s.stateNode,u?f.insertBefore(s,u):f.appendChild(s);else if(d!==4&&(s=s.child,s!==null))for(qke(s,u,f),s=s.sibling;s!==null;)qke(s,u,f),s=s.sibling}var Gh=null,rv=!1;function A5(s,u,f){for(f=f.child;f!==null;)Skt(s,u,f),f=f.sibling}function Skt(s,u,f){if(fy&&typeof fy.onCommitFiberUnmount=="function")try{fy.onCommitFiberUnmount(Mee,f)}catch{}switch(f.tag){case 5:Rd||HC(f,u);case 6:var d=Gh,g=rv;Gh=null,A5(s,u,f),Gh=d,rv=g,Gh!==null&&(rv?(s=Gh,f=f.stateNode,s.nodeType===8?s.parentNode.removeChild(f):s.removeChild(f)):Gh.removeChild(f.stateNode));break;case 18:Gh!==null&&(rv?(s=Gh,f=f.stateNode,s.nodeType===8?r4e(s.parentNode,f):s.nodeType===1&&r4e(s,f),N$(s)):r4e(Gh,f.stateNode));break;case 4:d=Gh,g=rv,Gh=f.stateNode.containerInfo,rv=!0,A5(s,u,f),Gh=d,rv=g;break;case 0:case 11:case 14:case 15:if(!Rd&&(d=f.updateQueue,d!==null&&(d=d.lastEffect,d!==null))){g=d=d.next;do{var m=g,w=m.destroy;m=m.tag,w!==void 0&&(m&2||m&4)&&Bke(f,u,w),g=g.next}while(g!==d)}A5(s,u,f);break;case 1:if(!Rd&&(HC(f,u),d=f.stateNode,typeof d.componentWillUnmount=="function"))try{d.props=f.memoizedProps,d.state=f.memoizedState,d.componentWillUnmount()}catch(S){ia(f,u,S)}A5(s,u,f);break;case 21:A5(s,u,f);break;case 22:f.mode&1?(Rd=(d=Rd)||f.memoizedState!==null,A5(s,u,f),Rd=d):A5(s,u,f);break;default:A5(s,u,f)}}function oyt(s){var u=s.updateQueue;if(u!==null){s.updateQueue=null;var f=s.stateNode;f===null&&(f=s.stateNode=new bsn),u.forEach(function(d){var g=Nsn.bind(null,s,d);f.has(d)||(f.add(d),d.then(g,g))})}}function Zm(s,u){var f=u.deletions;if(f!==null)for(var d=0;dg&&(g=w),d&=~m}if(d=g,d=La()-d,d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3e3>d?3e3:4320>d?4320:1960*ysn(d/1960))-d,10s?16:s,q5===null)var d=!1;else{if(s=q5,q5=null,tee=0,Jo&6)throw Error(Zn(331));var g=Jo;for(Jo|=4,zi=s.current;zi!==null;){var m=zi,w=m.child;if(zi.flags&16){var S=m.deletions;if(S!==null){for(var N=0;NLa()-y6e?E9(s,0):v6e|=f),J0(s,u)}function Pkt(s,u){u===0&&(s.mode&1?(u=PQ,PQ<<=1,!(PQ&130023424)&&(PQ=4194304)):u=1);var f=L1();s=Ix(s,u),s!==null&&(eF(s,u,f),J0(s,f))}function Isn(s){var u=s.memoizedState,f=0;u!==null&&(f=u.retryLane),Pkt(s,f)}function Nsn(s,u){var f=0;switch(s.tag){case 13:var d=s.stateNode,g=s.memoizedState;g!==null&&(f=g.retryLane);break;case 19:d=s.stateNode;break;default:throw Error(Zn(314))}d!==null&&d.delete(u),Pkt(s,f)}var _kt;_kt=function(s,u,f){if(s!==null)if(s.memoizedProps!==u.pendingProps||W0.current)z0=!0;else{if(!(s.lanes&f)&&!(u.flags&128))return z0=!1,psn(s,u,f);z0=!!(s.flags&131072)}else z0=!1,sl&&u.flags&1048576&&R4t(u,UZ,u.index);switch(u.lanes=0,u.tag){case 2:var d=u.type;wZ(s,u),s=u.pendingProps;var g=oM(u,$d.current);XC(u,f),g=d6e(null,u,d,s,g,f);var m=p6e();return u.flags|=1,typeof g=="object"&&g!==null&&typeof g.render=="function"&&g.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,X0(d)?(m=!0,zZ(u)):m=!1,u.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,u6e(u),g.updater=Dee,u.stateNode=g,g._reactInternals=u,_ke(u,d,s,f),u=Dke(null,u,d,!0,m,f)):(u.tag=0,sl&&m&&t6e(u),O1(null,u,g,f),u=u.child),u;case 16:d=u.elementType;e:{switch(wZ(s,u),s=u.pendingProps,g=d._init,d=g(d._payload),u.type=d,g=u.tag=Msn(d),s=nv(d,s),g){case 0:u=Lke(null,u,d,s,f);break e;case 1:u=tyt(null,u,d,s,f);break e;case 11:u=Z2t(null,u,d,s,f);break e;case 14:u=eyt(null,u,d,nv(d.type,s),f);break e}throw Error(Zn(306,d,""))}return u;case 0:return d=u.type,g=u.pendingProps,g=u.elementType===d?g:nv(d,g),Lke(s,u,d,g,f);case 1:return d=u.type,g=u.pendingProps,g=u.elementType===d?g:nv(d,g),tyt(s,u,d,g,f);case 3:e:{if(wkt(u),s===null)throw Error(Zn(387));d=u.pendingProps,m=u.memoizedState,g=m.element,q4t(s,u),XZ(u,d,null,f);var w=u.memoizedState;if(d=w.element,m.isDehydrated)if(m={element:d,isDehydrated:!1,cache:w.cache,pendingSuspenseBoundaries:w.pendingSuspenseBoundaries,transitions:w.transitions},u.updateQueue.baseState=m,u.memoizedState=m,u.flags&256){g=aM(Error(Zn(423)),u),u=nyt(s,u,d,f,g);break e}else if(d!==g){g=aM(Error(Zn(424)),u),u=nyt(s,u,d,f,g);break e}else for(wg=W5(u.stateNode.containerInfo.firstChild),bg=u,sl=!0,sv=null,f=H4t(u,null,d,f),u.child=f;f;)f.flags=f.flags&-3|4096,f=f.sibling;else{if(cM(),d===g){u=Nx(s,u,f);break e}O1(s,u,d,f)}u=u.child}return u;case 5:return z4t(u),s===null&&Tke(u),d=u.type,g=u.pendingProps,m=s!==null?s.memoizedProps:null,w=g.children,Eke(d,g)?w=null:m!==null&&Eke(d,m)&&(u.flags|=32),gkt(s,u),O1(s,u,w,f),u.child;case 6:return s===null&&Tke(u),null;case 13:return bkt(s,u,f);case 4:return l6e(u,u.stateNode.containerInfo),d=u.pendingProps,s===null?u.child=uM(u,null,d,f):O1(s,u,d,f),u.child;case 11:return d=u.type,g=u.pendingProps,g=u.elementType===d?g:nv(d,g),Z2t(s,u,d,g,f);case 7:return O1(s,u,u.pendingProps,f),u.child;case 8:return O1(s,u,u.pendingProps.children,f),u.child;case 12:return O1(s,u,u.pendingProps.children,f),u.child;case 10:e:{if(d=u.type._context,g=u.pendingProps,m=u.memoizedProps,w=g.value,Eu(GZ,d._currentValue),d._currentValue=w,m!==null)if(hv(m.value,w)){if(m.children===g.children&&!W0.current){u=Nx(s,u,f);break e}}else for(m=u.child,m!==null&&(m.return=u);m!==null;){var S=m.dependencies;if(S!==null){w=m.child;for(var N=S.firstContext;N!==null;){if(N.context===d){if(m.tag===1){N=jx(-1,f&-f),N.tag=2;var T=m.updateQueue;if(T!==null){T=T.shared;var P=T.pending;P===null?N.next=N:(N.next=P.next,P.next=N),T.pending=N}}m.lanes|=f,N=m.alternate,N!==null&&(N.lanes|=f),Ake(m.return,f,u),S.lanes|=f;break}N=N.next}}else if(m.tag===10)w=m.type===u.type?null:m.child;else if(m.tag===18){if(w=m.return,w===null)throw Error(Zn(341));w.lanes|=f,S=w.alternate,S!==null&&(S.lanes|=f),Ake(w,f,u),w=m.sibling}else w=m.child;if(w!==null)w.return=m;else for(w=m;w!==null;){if(w===u){w=null;break}if(m=w.sibling,m!==null){m.return=w.return,w=m;break}w=w.return}m=w}O1(s,u,g.children,f),u=u.child}return u;case 9:return g=u.type,d=u.pendingProps.children,XC(u,f),g=bb(g),d=d(g),u.flags|=1,O1(s,u,d,f),u.child;case 14:return d=u.type,g=nv(d,u.pendingProps),g=nv(d.type,g),eyt(s,u,d,g,f);case 15:return dkt(s,u,u.type,u.pendingProps,f);case 17:return d=u.type,g=u.pendingProps,g=u.elementType===d?g:nv(d,g),wZ(s,u),u.tag=1,X0(d)?(s=!0,zZ(u)):s=!1,XC(u,f),akt(u,d,g),_ke(u,d,g,f),Dke(null,u,d,!0,s,f);case 19:return mkt(s,u,f);case 22:return pkt(s,u,f)}throw Error(Zn(156,u.tag))};function Okt(s,u){return c4t(s,u)}function Csn(s,u,f,d){this.tag=s,this.key=f,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=d,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function hb(s,u,f,d){return new Csn(s,u,f,d)}function S6e(s){return s=s.prototype,!(!s||!s.isReactComponent)}function Msn(s){if(typeof s=="function")return S6e(s)?1:0;if(s!=null){if(s=s.$$typeof,s===q5e)return 11;if(s===z5e)return 14}return 2}function Q5(s,u){var f=s.alternate;return f===null?(f=hb(s.tag,u,s.key,s.mode),f.elementType=s.elementType,f.type=s.type,f.stateNode=s.stateNode,f.alternate=s,s.alternate=f):(f.pendingProps=u,f.type=s.type,f.flags=0,f.subtreeFlags=0,f.deletions=null),f.flags=s.flags&14680064,f.childLanes=s.childLanes,f.lanes=s.lanes,f.child=s.child,f.memoizedProps=s.memoizedProps,f.memoizedState=s.memoizedState,f.updateQueue=s.updateQueue,u=s.dependencies,f.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},f.sibling=s.sibling,f.index=s.index,f.ref=s.ref,f}function vZ(s,u,f,d,g,m){var w=2;if(d=s,typeof s=="function")S6e(s)&&(w=1);else if(typeof s=="string")w=5;else e:switch(s){case PC:return I9(f.children,g,m,u);case K5e:w=8,g|=8;break;case ike:return s=hb(12,f,u,g|2),s.elementType=ike,s.lanes=m,s;case rke:return s=hb(13,f,u,g),s.elementType=rke,s.lanes=m,s;case ske:return s=hb(19,f,u,g),s.elementType=ske,s.lanes=m,s;case zxt:return Fee(f,g,m,u);default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case Kxt:w=10;break e;case qxt:w=9;break e;case q5e:w=11;break e;case z5e:w=14;break e;case L5:w=16,d=null;break e}throw Error(Zn(130,s==null?s:typeof s,""))}return u=hb(w,f,u,g),u.elementType=s,u.type=d,u.lanes=m,u}function I9(s,u,f,d){return s=hb(7,s,d,u),s.lanes=f,s}function Fee(s,u,f,d){return s=hb(22,s,d,u),s.elementType=zxt,s.lanes=f,s.stateNode={isHidden:!1},s}function h4e(s,u,f){return s=hb(6,s,null,u),s.lanes=f,s}function d4e(s,u,f){return u=hb(4,s.children!==null?s.children:[],s.key,u),u.lanes=f,u.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},u}function Tsn(s,u,f,d,g){this.tag=u,this.containerInfo=s,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Gxe(0),this.expirationTimes=Gxe(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gxe(0),this.identifierPrefix=d,this.onRecoverableError=g,this.mutableSourceEagerHydrationData=null}function E6e(s,u,f,d,g,m,w,S,N){return s=new Tsn(s,u,f,S,N),u===1?(u=1,m===!0&&(u|=8)):u=0,m=hb(3,null,null,u),s.current=m,m.stateNode=s,m.memoizedState={element:d,isDehydrated:f,cache:null,transitions:null,pendingSuspenseBoundaries:null},u6e(m),s}function Asn(s,u,f){var d=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($kt)}catch(s){console.error(s)}}$kt(),$xt.exports=xg;var kM=$xt.exports,pyt=kM;tke.createRoot=pyt.createRoot,tke.hydrateRoot=pyt.hydrateRoot;function jg(s){if(typeof s=="string"||typeof s=="number")return""+s;let u="";if(Array.isArray(s))for(let f=0,d;f"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?qsn:Ksn;Kkt.useSyncExternalStore=hM.useSyncExternalStore!==void 0?hM.useSyncExternalStore:zsn;Hkt.exports=Kkt;var Vsn=Hkt.exports;/** - * @license React - * use-sync-external-store-shim/with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var zee=fe,Usn=Vsn;function Gsn(s,u){return s===u&&(s!==0||1/s===1/u)||s!==s&&u!==u}var Wsn=typeof Object.is=="function"?Object.is:Gsn,Xsn=Usn.useSyncExternalStore,Jsn=zee.useRef,Ysn=zee.useEffect,Qsn=zee.useMemo,Zsn=zee.useDebugValue;Bkt.useSyncExternalStoreWithSelector=function(s,u,f,d,g){var m=Jsn(null);if(m.current===null){var w={hasValue:!1,value:null};m.current=w}else w=m.current;m=Qsn(function(){function N(C){if(!T){if(T=!0,P=C,C=d(C),g!==void 0&&w.hasValue){var M=w.value;if(g(M,C))return O=M}return O=C}if(M=O,Wsn(P,C))return M;var _=d(C);return g!==void 0&&g(M,_)?(P=C,M):(P=C,O=_)}var T=!1,P,O,I=f===void 0?null:f;return[function(){return N(u())},I===null?void 0:function(){return N(I())}]},[u,f,d,g]);var S=Xsn(s,m[0],m[1]);return Ysn(function(){w.hasValue=!0,w.value=S},[S]),Zsn(S),S};Fkt.exports=Bkt;var eon=Fkt.exports;const qkt=O5e(eon),ton={},gyt=s=>{let u;const f=new Set,d=(P,O)=>{const I=typeof P=="function"?P(u):P;if(!Object.is(I,u)){const C=u;u=O??(typeof I!="object"||I===null)?I:Object.assign({},u,I),f.forEach(M=>M(u,C))}},g=()=>u,N={setState:d,getState:g,getInitialState:()=>T,subscribe:P=>(f.add(P),()=>f.delete(P)),destroy:()=>{(ton?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),f.clear()}},T=u=s(d,g,N);return N},zkt=s=>s?gyt(s):gyt,{useDebugValue:non}=In,{useSyncExternalStoreWithSelector:ion}=qkt,ron=s=>s;function Vkt(s,u=ron,f){const d=ion(s.subscribe,s.getState,s.getServerState||s.getInitialState,u,f);return non(d),d}const wyt=(s,u)=>{const f=zkt(s),d=(g,m=u)=>Vkt(f,g,m);return Object.assign(d,f),d},son=(s,u)=>s?wyt(s,u):wyt;function Fd(s,u){if(Object.is(s,u))return!0;if(typeof s!="object"||s===null||typeof u!="object"||u===null)return!1;if(s instanceof Map&&u instanceof Map){if(s.size!==u.size)return!1;for(const[d,g]of s)if(!Object.is(g,u.get(d)))return!1;return!0}if(s instanceof Set&&u instanceof Set){if(s.size!==u.size)return!1;for(const d of s)if(!u.has(d))return!1;return!0}const f=Object.keys(s);if(f.length!==Object.keys(u).length)return!1;for(const d of f)if(!Object.prototype.hasOwnProperty.call(u,d)||!Object.is(s[d],u[d]))return!1;return!0}var oon={value:()=>{}};function rF(){for(var s=0,u=arguments.length,f={},d;s=0&&(d=f.slice(g+1),f=f.slice(0,g)),f&&!u.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:d}})}yZ.prototype=rF.prototype={constructor:yZ,on:function(s,u){var f=this._,d=con(s+"",f),g,m=-1,w=d.length;if(arguments.length<2){for(;++m0)for(var f=new Array(g),d=0,g,m;d=0&&(u=s.slice(0,f))!=="xmlns"&&(s=s.slice(f+1)),myt.hasOwnProperty(u)?{space:myt[u],local:s}:s}function lon(s){return function(){var u=this.ownerDocument,f=this.namespaceURI;return f===Wke&&u.documentElement.namespaceURI===Wke?u.createElement(s):u.createElementNS(f,s)}}function aon(s){return function(){return this.ownerDocument.createElementNS(s.space,s.local)}}function Ukt(s){var u=Vee(s);return(u.local?aon:lon)(u)}function fon(){}function M6e(s){return s==null?fon:function(){return this.querySelector(s)}}function hon(s){typeof s!="function"&&(s=M6e(s));for(var u=this._groups,f=u.length,d=new Array(f),g=0;g=G&&(G=B+1);!(Q=F[G])&&++G=0;)(w=d[g])&&(m&&w.compareDocumentPosition(m)^4&&m.parentNode.insertBefore(w,m),m=w);return this}function Ron(s){s||(s=$on);function u(O,I){return O&&I?s(O.__data__,I.__data__):!O-!I}for(var f=this._groups,d=f.length,g=new Array(d),m=0;mu?1:s>=u?0:NaN}function Fon(){var s=arguments[0];return arguments[0]=this,s.apply(null,arguments),this}function Bon(){return Array.from(this)}function Hon(){for(var s=this._groups,u=0,f=s.length;u1?this.each((u==null?Qon:typeof u=="function"?ecn:Zon)(s,u,f??"")):dM(this.node(),s)}function dM(s,u){return s.style.getPropertyValue(u)||Ykt(s).getComputedStyle(s,null).getPropertyValue(u)}function ncn(s){return function(){delete this[s]}}function icn(s,u){return function(){this[s]=u}}function rcn(s,u){return function(){var f=u.apply(this,arguments);f==null?delete this[s]:this[s]=f}}function scn(s,u){return arguments.length>1?this.each((u==null?ncn:typeof u=="function"?rcn:icn)(s,u)):this.node()[s]}function Qkt(s){return s.trim().split(/^|\s+/)}function T6e(s){return s.classList||new Zkt(s)}function Zkt(s){this._node=s,this._names=Qkt(s.getAttribute("class")||"")}Zkt.prototype={add:function(s){var u=this._names.indexOf(s);u<0&&(this._names.push(s),this._node.setAttribute("class",this._names.join(" ")))},remove:function(s){var u=this._names.indexOf(s);u>=0&&(this._names.splice(u,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(s){return this._names.indexOf(s)>=0}};function e5t(s,u){for(var f=T6e(s),d=-1,g=u.length;++d=0&&(f=u.slice(d+1),u=u.slice(0,d)),{type:u,name:f}})}function _cn(s){return function(){var u=this.__on;if(u){for(var f=0,d=-1,g=u.length,m;f()=>s;function Xke(s,{sourceEvent:u,subject:f,target:d,identifier:g,active:m,x:w,y:S,dx:N,dy:T,dispatch:P}){Object.defineProperties(this,{type:{value:s,enumerable:!0,configurable:!0},sourceEvent:{value:u,enumerable:!0,configurable:!0},subject:{value:f,enumerable:!0,configurable:!0},target:{value:d,enumerable:!0,configurable:!0},identifier:{value:g,enumerable:!0,configurable:!0},active:{value:m,enumerable:!0,configurable:!0},x:{value:w,enumerable:!0,configurable:!0},y:{value:S,enumerable:!0,configurable:!0},dx:{value:N,enumerable:!0,configurable:!0},dy:{value:T,enumerable:!0,configurable:!0},_:{value:P}})}Xke.prototype.on=function(){var s=this._.on.apply(this._,arguments);return s===this._?this:s};function qcn(s){return!s.ctrlKey&&!s.button}function zcn(){return this.parentNode}function Vcn(s,u){return u??{x:s.x,y:s.y}}function Ucn(){return navigator.maxTouchPoints||"ontouchstart"in this}function o5t(){var s=qcn,u=zcn,f=Vcn,d=Ucn,g={},m=rF("start","drag","end"),w=0,S,N,T,P,O=0;function I(z){z.on("mousedown.drag",C).filter(d).on("touchstart.drag",F).on("touchmove.drag",R,Kcn).on("touchend.drag touchcancel.drag",B).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function C(z,Q){if(!(P||!s.call(this,z,Q))){var te=G(this,u.call(this,z,Q),z,Q,"mouse");te&&(ov(z.view).on("mousemove.drag",M,F$).on("mouseup.drag",_,F$),r5t(z.view),g4e(z),T=!1,S=z.clientX,N=z.clientY,te("start",z))}}function M(z){if(YC(z),!T){var Q=z.clientX-S,te=z.clientY-N;T=Q*Q+te*te>O}g.mouse("drag",z)}function _(z){ov(z.view).on("mousemove.drag mouseup.drag",null),s5t(z.view,T),YC(z),g.mouse("end",z)}function F(z,Q){if(s.call(this,z,Q)){var te=z.changedTouches,ne=u.call(this,z,Q),Y=te.length,oe,Z;for(oe=0;oe>8&15|u>>4&240,u>>4&15|u&240,(u&15)<<4|u&15,1):f===8?VQ(u>>24&255,u>>16&255,u>>8&255,(u&255)/255):f===4?VQ(u>>12&15|u>>8&240,u>>8&15|u>>4&240,u>>4&15|u&240,((u&15)<<4|u&15)/255):null):(u=Wcn.exec(s))?new V0(u[1],u[2],u[3],1):(u=Xcn.exec(s))?new V0(u[1]*255/100,u[2]*255/100,u[3]*255/100,1):(u=Jcn.exec(s))?VQ(u[1],u[2],u[3],u[4]):(u=Ycn.exec(s))?VQ(u[1]*255/100,u[2]*255/100,u[3]*255/100,u[4]):(u=Qcn.exec(s))?Eyt(u[1],u[2]/100,u[3]/100,1):(u=Zcn.exec(s))?Eyt(u[1],u[2]/100,u[3]/100,u[4]):vyt.hasOwnProperty(s)?kyt(vyt[s]):s==="transparent"?new V0(NaN,NaN,NaN,0):null}function kyt(s){return new V0(s>>16&255,s>>8&255,s&255,1)}function VQ(s,u,f,d){return d<=0&&(s=u=f=NaN),new V0(s,u,f,d)}function nun(s){return s instanceof oF||(s=K$(s)),s?(s=s.rgb(),new V0(s.r,s.g,s.b,s.opacity)):new V0}function Jke(s,u,f,d){return arguments.length===1?nun(s):new V0(s,u,f,d??1)}function V0(s,u,f,d){this.r=+s,this.g=+u,this.b=+f,this.opacity=+d}A6e(V0,Jke,c5t(oF,{brighter(s){return s=s==null?see:Math.pow(see,s),new V0(this.r*s,this.g*s,this.b*s,this.opacity)},darker(s){return s=s==null?B$:Math.pow(B$,s),new V0(this.r*s,this.g*s,this.b*s,this.opacity)},rgb(){return this},clamp(){return new V0(N9(this.r),N9(this.g),N9(this.b),oee(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:jyt,formatHex:jyt,formatHex8:iun,formatRgb:Syt,toString:Syt}));function jyt(){return`#${k9(this.r)}${k9(this.g)}${k9(this.b)}`}function iun(){return`#${k9(this.r)}${k9(this.g)}${k9(this.b)}${k9((isNaN(this.opacity)?1:this.opacity)*255)}`}function Syt(){const s=oee(this.opacity);return`${s===1?"rgb(":"rgba("}${N9(this.r)}, ${N9(this.g)}, ${N9(this.b)}${s===1?")":`, ${s})`}`}function oee(s){return isNaN(s)?1:Math.max(0,Math.min(1,s))}function N9(s){return Math.max(0,Math.min(255,Math.round(s)||0))}function k9(s){return s=N9(s),(s<16?"0":"")+s.toString(16)}function Eyt(s,u,f,d){return d<=0?s=u=f=NaN:f<=0||f>=1?s=u=NaN:u<=0&&(s=NaN),new cv(s,u,f,d)}function u5t(s){if(s instanceof cv)return new cv(s.h,s.s,s.l,s.opacity);if(s instanceof oF||(s=K$(s)),!s)return new cv;if(s instanceof cv)return s;s=s.rgb();var u=s.r/255,f=s.g/255,d=s.b/255,g=Math.min(u,f,d),m=Math.max(u,f,d),w=NaN,S=m-g,N=(m+g)/2;return S?(u===m?w=(f-d)/S+(f0&&N<1?0:w,new cv(w,S,N,s.opacity)}function run(s,u,f,d){return arguments.length===1?u5t(s):new cv(s,u,f,d??1)}function cv(s,u,f,d){this.h=+s,this.s=+u,this.l=+f,this.opacity=+d}A6e(cv,run,c5t(oF,{brighter(s){return s=s==null?see:Math.pow(see,s),new cv(this.h,this.s,this.l*s,this.opacity)},darker(s){return s=s==null?B$:Math.pow(B$,s),new cv(this.h,this.s,this.l*s,this.opacity)},rgb(){var s=this.h%360+(this.h<0)*360,u=isNaN(s)||isNaN(this.s)?0:this.s,f=this.l,d=f+(f<.5?f:1-f)*u,g=2*f-d;return new V0(w4e(s>=240?s-240:s+120,g,d),w4e(s,g,d),w4e(s<120?s+240:s-120,g,d),this.opacity)},clamp(){return new cv(Iyt(this.h),UQ(this.s),UQ(this.l),oee(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const s=oee(this.opacity);return`${s===1?"hsl(":"hsla("}${Iyt(this.h)}, ${UQ(this.s)*100}%, ${UQ(this.l)*100}%${s===1?")":`, ${s})`}`}}));function Iyt(s){return s=(s||0)%360,s<0?s+360:s}function UQ(s){return Math.max(0,Math.min(1,s||0))}function w4e(s,u,f){return(s<60?u+(f-u)*s/60:s<180?f:s<240?u+(f-u)*(240-s)/60:u)*255}const l5t=s=>()=>s;function sun(s,u){return function(f){return s+f*u}}function oun(s,u,f){return s=Math.pow(s,f),u=Math.pow(u,f)-s,f=1/f,function(d){return Math.pow(s+d*u,f)}}function cun(s){return(s=+s)==1?a5t:function(u,f){return f-u?oun(u,f,s):l5t(isNaN(u)?f:u)}}function a5t(s,u){var f=u-s;return f?sun(s,f):l5t(isNaN(s)?u:s)}const Nyt=function s(u){var f=cun(u);function d(g,m){var w=f((g=Jke(g)).r,(m=Jke(m)).r),S=f(g.g,m.g),N=f(g.b,m.b),T=a5t(g.opacity,m.opacity);return function(P){return g.r=w(P),g.g=S(P),g.b=N(P),g.opacity=T(P),g+""}}return d.gamma=s,d}(1);function R5(s,u){return s=+s,u=+u,function(f){return s*(1-f)+u*f}}var Yke=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,b4e=new RegExp(Yke.source,"g");function uun(s){return function(){return s}}function lun(s){return function(u){return s(u)+""}}function aun(s,u){var f=Yke.lastIndex=b4e.lastIndex=0,d,g,m,w=-1,S=[],N=[];for(s=s+"",u=u+"";(d=Yke.exec(s))&&(g=b4e.exec(u));)(m=g.index)>f&&(m=u.slice(f,m),S[w]?S[w]+=m:S[++w]=m),(d=d[0])===(g=g[0])?S[w]?S[w]+=g:S[++w]=g:(S[++w]=null,N.push({i:w,x:R5(d,g)})),f=b4e.lastIndex;return f180?P+=360:P-T>180&&(T+=360),I.push({i:O.push(g(O)+"rotate(",null,d)-2,x:R5(T,P)})):P&&O.push(g(O)+"rotate("+P+d)}function S(T,P,O,I){T!==P?I.push({i:O.push(g(O)+"skewX(",null,d)-2,x:R5(T,P)}):P&&O.push(g(O)+"skewX("+P+d)}function N(T,P,O,I,C,M){if(T!==O||P!==I){var _=C.push(g(C)+"scale(",null,",",null,")");M.push({i:_-4,x:R5(T,O)},{i:_-2,x:R5(P,I)})}else(O!==1||I!==1)&&C.push(g(C)+"scale("+O+","+I+")")}return function(T,P){var O=[],I=[];return T=s(T),P=s(P),m(T.translateX,T.translateY,P.translateX,P.translateY,O,I),w(T.rotate,P.rotate,O,I),S(T.skewX,P.skewX,O,I),N(T.scaleX,T.scaleY,P.scaleX,P.scaleY,O,I),T=P=null,function(C){for(var M=-1,_=I.length,F;++M<_;)O[(F=I[M]).i]=F.x(C);return O.join("")}}}var dun=h5t(fun,"px, ","px)","deg)"),pun=h5t(hun,", ",")",")"),gun=1e-12;function Myt(s){return((s=Math.exp(s))+1/s)/2}function wun(s){return((s=Math.exp(s))-1/s)/2}function bun(s){return((s=Math.exp(2*s))-1)/(s+1)}const mun=function s(u,f,d){function g(m,w){var S=m[0],N=m[1],T=m[2],P=w[0],O=w[1],I=w[2],C=P-S,M=O-N,_=C*C+M*M,F,R;if(_=0&&s._call.call(void 0,u),s=s._next;--pM}function Tyt(){_9=(uee=q$.now())+Uee,pM=s$=0;try{yun()}finally{pM=0,kun(),_9=0}}function xun(){var s=q$.now(),u=s-uee;u>d5t&&(Uee-=u,uee=s)}function kun(){for(var s,u=cee,f,d=1/0;u;)u._call?(d>u._time&&(d=u._time),s=u,u=u._next):(f=u._next,u._next=null,u=s?s._next=f:cee=f);o$=s,Zke(d)}function Zke(s){if(!pM){s$&&(s$=clearTimeout(s$));var u=s-_9;u>24?(s<1/0&&(s$=setTimeout(Tyt,s-q$.now()-Uee)),WR&&(WR=clearInterval(WR))):(WR||(uee=q$.now(),WR=setInterval(xun,d5t)),pM=1,p5t(Tyt))}}function Ayt(s,u,f){var d=new lee;return u=u==null?0:+u,d.restart(g=>{d.stop(),s(g+u)},u,f),d}var jun=rF("start","end","cancel","interrupt"),Sun=[],g5t=0,Pyt=1,e5e=2,xZ=3,_yt=4,t5e=5,kZ=6;function Gee(s,u,f,d,g,m){var w=s.__transition;if(!w)s.__transition={};else if(f in w)return;Eun(s,f,{name:u,index:d,group:g,on:jun,tween:Sun,time:m.time,delay:m.delay,duration:m.duration,ease:m.ease,timer:null,state:g5t})}function O6e(s,u){var f=dv(s,u);if(f.state>g5t)throw new Error("too late; already scheduled");return f}function gy(s,u){var f=dv(s,u);if(f.state>xZ)throw new Error("too late; already running");return f}function dv(s,u){var f=s.__transition;if(!f||!(f=f[u]))throw new Error("transition not found");return f}function Eun(s,u,f){var d=s.__transition,g;d[u]=f,f.timer=_6e(m,0,f.time);function m(T){f.state=Pyt,f.timer.restart(w,f.delay,f.time),f.delay<=T&&w(T-f.delay)}function w(T){var P,O,I,C;if(f.state!==Pyt)return N();for(P in d)if(C=d[P],C.name===f.name){if(C.state===xZ)return Ayt(w);C.state===_yt?(C.state=kZ,C.timer.stop(),C.on.call("interrupt",s,s.__data__,C.index,C.group),delete d[P]):+Pe5e&&d.state=0&&(u=u.slice(0,f)),!u||u==="start"})}function tln(s,u,f){var d,g,m=eln(u)?O6e:gy;return function(){var w=m(this,s),S=w.on;S!==d&&(g=(d=S).copy()).on(u,f),w.on=g}}function nln(s,u){var f=this._id;return arguments.length<2?dv(this.node(),f).on.on(s):this.each(tln(f,s,u))}function iln(s){return function(){var u=this.parentNode;for(var f in this.__transition)if(+f!==s)return;u&&u.removeChild(this)}}function rln(){return this.on("end.remove",iln(this._id))}function sln(s){var u=this._name,f=this._id;typeof s!="function"&&(s=M6e(s));for(var d=this._groups,g=d.length,m=new Array(g),w=0;w()=>s;function Tln(s,{sourceEvent:u,target:f,transform:d,dispatch:g}){Object.defineProperties(this,{type:{value:s,enumerable:!0,configurable:!0},sourceEvent:{value:u,enumerable:!0,configurable:!0},target:{value:f,enumerable:!0,configurable:!0},transform:{value:d,enumerable:!0,configurable:!0},_:{value:g}})}function xx(s,u,f){this.k=s,this.x=u,this.y=f}xx.prototype={constructor:xx,scale:function(s){return s===1?this:new xx(this.k*s,this.x,this.y)},translate:function(s,u){return s===0&u===0?this:new xx(this.k,this.x+this.k*s,this.y+this.k*u)},apply:function(s){return[s[0]*this.k+this.x,s[1]*this.k+this.y]},applyX:function(s){return s*this.k+this.x},applyY:function(s){return s*this.k+this.y},invert:function(s){return[(s[0]-this.x)/this.k,(s[1]-this.y)/this.k]},invertX:function(s){return(s-this.x)/this.k},invertY:function(s){return(s-this.y)/this.k},rescaleX:function(s){return s.copy().domain(s.range().map(this.invertX,this).map(s.invert,s))},rescaleY:function(s){return s.copy().domain(s.range().map(this.invertY,this).map(s.invert,s))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Z5=new xx(1,0,0);xx.prototype;function m4e(s){s.stopImmediatePropagation()}function XR(s){s.preventDefault(),s.stopImmediatePropagation()}function Aln(s){return(!s.ctrlKey||s.type==="wheel")&&!s.button}function Pln(){var s=this;return s instanceof SVGElement?(s=s.ownerSVGElement||s,s.hasAttribute("viewBox")?(s=s.viewBox.baseVal,[[s.x,s.y],[s.x+s.width,s.y+s.height]]):[[0,0],[s.width.baseVal.value,s.height.baseVal.value]]):[[0,0],[s.clientWidth,s.clientHeight]]}function Oyt(){return this.__zoom||Z5}function _ln(s){return-s.deltaY*(s.deltaMode===1?.05:s.deltaMode?1:.002)*(s.ctrlKey?10:1)}function Oln(){return navigator.maxTouchPoints||"ontouchstart"in this}function Lln(s,u,f){var d=s.invertX(u[0][0])-f[0][0],g=s.invertX(u[1][0])-f[1][0],m=s.invertY(u[0][1])-f[0][1],w=s.invertY(u[1][1])-f[1][1];return s.translate(g>d?(d+g)/2:Math.min(0,d)||Math.max(0,g),w>m?(m+w)/2:Math.min(0,m)||Math.max(0,w))}function Dln(){var s=Aln,u=Pln,f=Lln,d=_ln,g=Oln,m=[0,1/0],w=[[-1/0,-1/0],[1/0,1/0]],S=250,N=mun,T=rF("start","zoom","end"),P,O,I,C=500,M=150,_=0,F=10;function R(se){se.property("__zoom",Oyt).on("wheel.zoom",Y,{passive:!1}).on("mousedown.zoom",oe).on("dblclick.zoom",Z).filter(g).on("touchstart.zoom",re).on("touchmove.zoom",de).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}R.transform=function(se,we,ve,Ke){var je=se.selection?se.selection():se;je.property("__zoom",Oyt),se!==je?Q(se,we,ve,Ke):je.interrupt().each(function(){te(this,arguments).event(Ke).start().zoom(null,typeof we=="function"?we.apply(this,arguments):we).end()})},R.scaleBy=function(se,we,ve,Ke){R.scaleTo(se,function(){var je=this.__zoom.k,ae=typeof we=="function"?we.apply(this,arguments):we;return je*ae},ve,Ke)},R.scaleTo=function(se,we,ve,Ke){R.transform(se,function(){var je=u.apply(this,arguments),ae=this.__zoom,ge=ve==null?z(je):typeof ve=="function"?ve.apply(this,arguments):ve,_e=ae.invert(ge),Be=typeof we=="function"?we.apply(this,arguments):we;return f(G(B(ae,Be),ge,_e),je,w)},ve,Ke)},R.translateBy=function(se,we,ve,Ke){R.transform(se,function(){return f(this.__zoom.translate(typeof we=="function"?we.apply(this,arguments):we,typeof ve=="function"?ve.apply(this,arguments):ve),u.apply(this,arguments),w)},null,Ke)},R.translateTo=function(se,we,ve,Ke,je){R.transform(se,function(){var ae=u.apply(this,arguments),ge=this.__zoom,_e=Ke==null?z(ae):typeof Ke=="function"?Ke.apply(this,arguments):Ke;return f(Z5.translate(_e[0],_e[1]).scale(ge.k).translate(typeof we=="function"?-we.apply(this,arguments):-we,typeof ve=="function"?-ve.apply(this,arguments):-ve),ae,w)},Ke,je)};function B(se,we){return we=Math.max(m[0],Math.min(m[1],we)),we===se.k?se:new xx(we,se.x,se.y)}function G(se,we,ve){var Ke=we[0]-ve[0]*se.k,je=we[1]-ve[1]*se.k;return Ke===se.x&&je===se.y?se:new xx(se.k,Ke,je)}function z(se){return[(+se[0][0]+ +se[1][0])/2,(+se[0][1]+ +se[1][1])/2]}function Q(se,we,ve,Ke){se.on("start.zoom",function(){te(this,arguments).event(Ke).start()}).on("interrupt.zoom end.zoom",function(){te(this,arguments).event(Ke).end()}).tween("zoom",function(){var je=this,ae=arguments,ge=te(je,ae).event(Ke),_e=u.apply(je,ae),Be=ve==null?z(_e):typeof ve=="function"?ve.apply(je,ae):ve,ht=Math.max(_e[1][0]-_e[0][0],_e[1][1]-_e[0][1]),xt=je.__zoom,ze=typeof we=="function"?we.apply(je,ae):we,Fe=N(xt.invert(Be).concat(ht/xt.k),ze.invert(Be).concat(ht/ze.k));return function(Ue){if(Ue===1)Ue=ze;else{var Vt=Fe(Ue),Et=ht/Vt[2];Ue=new xx(Et,Be[0]-Vt[0]*Et,Be[1]-Vt[1]*Et)}ge.zoom(null,Ue)}})}function te(se,we,ve){return!ve&&se.__zooming||new ne(se,we)}function ne(se,we){this.that=se,this.args=we,this.active=0,this.sourceEvent=null,this.extent=u.apply(se,we),this.taps=0}ne.prototype={event:function(se){return se&&(this.sourceEvent=se),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(se,we){return this.mouse&&se!=="mouse"&&(this.mouse[1]=we.invert(this.mouse[0])),this.touch0&&se!=="touch"&&(this.touch0[1]=we.invert(this.touch0[0])),this.touch1&&se!=="touch"&&(this.touch1[1]=we.invert(this.touch1[0])),this.that.__zoom=we,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(se){var we=ov(this.that).datum();T.call(se,this.that,new Tln(se,{sourceEvent:this.sourceEvent,target:R,transform:this.that.__zoom,dispatch:T}),we)}};function Y(se,...we){if(!s.apply(this,arguments))return;var ve=te(this,we).event(se),Ke=this.__zoom,je=Math.max(m[0],Math.min(m[1],Ke.k*Math.pow(2,d.apply(this,arguments)))),ae=ly(se);if(ve.wheel)(ve.mouse[0][0]!==ae[0]||ve.mouse[0][1]!==ae[1])&&(ve.mouse[1]=Ke.invert(ve.mouse[0]=ae)),clearTimeout(ve.wheel);else{if(Ke.k===je)return;ve.mouse=[ae,Ke.invert(ae)],jZ(this),ve.start()}XR(se),ve.wheel=setTimeout(ge,M),ve.zoom("mouse",f(G(B(Ke,je),ve.mouse[0],ve.mouse[1]),ve.extent,w));function ge(){ve.wheel=null,ve.end()}}function oe(se,...we){if(I||!s.apply(this,arguments))return;var ve=se.currentTarget,Ke=te(this,we,!0).event(se),je=ov(se.view).on("mousemove.zoom",Be,!0).on("mouseup.zoom",ht,!0),ae=ly(se,ve),ge=se.clientX,_e=se.clientY;r5t(se.view),m4e(se),Ke.mouse=[ae,this.__zoom.invert(ae)],jZ(this),Ke.start();function Be(xt){if(XR(xt),!Ke.moved){var ze=xt.clientX-ge,Fe=xt.clientY-_e;Ke.moved=ze*ze+Fe*Fe>_}Ke.event(xt).zoom("mouse",f(G(Ke.that.__zoom,Ke.mouse[0]=ly(xt,ve),Ke.mouse[1]),Ke.extent,w))}function ht(xt){je.on("mousemove.zoom mouseup.zoom",null),s5t(xt.view,Ke.moved),XR(xt),Ke.event(xt).end()}}function Z(se,...we){if(s.apply(this,arguments)){var ve=this.__zoom,Ke=ly(se.changedTouches?se.changedTouches[0]:se,this),je=ve.invert(Ke),ae=ve.k*(se.shiftKey?.5:2),ge=f(G(B(ve,ae),Ke,je),u.apply(this,we),w);XR(se),S>0?ov(this).transition().duration(S).call(Q,ge,Ke,se):ov(this).call(R.transform,ge,Ke,se)}}function re(se,...we){if(s.apply(this,arguments)){var ve=se.touches,Ke=ve.length,je=te(this,we,se.changedTouches.length===Ke).event(se),ae,ge,_e,Be;for(m4e(se),ge=0;ge"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:s=>`Node type "${s}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:s=>`The old edge with id=${s} does not exist.`,error009:s=>`Marker type "${s}" doesn't exist.`,error008:(s,u)=>`Couldn't create edge for ${s?"target":"source"} handle id: "${s?u.targetHandle:u.sourceHandle}", edge id: ${u.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:s=>`Edge type "${s}" not found. Using fallback type "default".`,error012:s=>`Node with id "${s}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},v5t=Mx.error001();function Iu(s,u){const f=fe.useContext(Wee);if(f===null)throw new Error(v5t);return Vkt(f,s,u)}const wh=()=>{const s=fe.useContext(Wee);if(s===null)throw new Error(v5t);return fe.useMemo(()=>({getState:s.getState,setState:s.setState,subscribe:s.subscribe,destroy:s.destroy}),[s])},$ln=s=>s.userSelectionActive?"none":"all";function Fln({position:s,children:u,className:f,style:d,...g}){const m=Iu($ln),w=`${s}`.split("-");return In.createElement("div",{className:jg(["react-flow__panel",f,...w]),style:{...d,pointerEvents:m},...g},u)}function Bln({proOptions:s,position:u="bottom-right"}){return s!=null&&s.hideAttribution?null:In.createElement(Fln,{position:u,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},In.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const Hln=({x:s,y:u,label:f,labelStyle:d={},labelShowBg:g=!0,labelBgStyle:m={},labelBgPadding:w=[2,4],labelBgBorderRadius:S=2,children:N,className:T,...P})=>{const O=fe.useRef(null),[I,C]=fe.useState({x:0,y:0,width:0,height:0}),M=jg(["react-flow__edge-textwrapper",T]);return fe.useEffect(()=>{if(O.current){const _=O.current.getBBox();C({x:_.x,y:_.y,width:_.width,height:_.height})}},[f]),typeof f>"u"||!f?null:In.createElement("g",{transform:`translate(${s-I.width/2} ${u-I.height/2})`,className:M,visibility:I.width?"visible":"hidden",...P},g&&In.createElement("rect",{width:I.width+2*w[0],x:-w[0],y:-w[1],height:I.height+2*w[1],className:"react-flow__edge-textbg",style:m,rx:S,ry:S}),In.createElement("text",{className:"react-flow__edge-text",y:I.height/2,dy:"0.3em",ref:O,style:d},f),N)};var Kln=fe.memo(Hln);const D6e=s=>({width:s.offsetWidth,height:s.offsetHeight}),gM=(s,u=0,f=1)=>Math.min(Math.max(s,u),f),R6e=(s={x:0,y:0},u)=>({x:gM(s.x,u[0][0],u[1][0]),y:gM(s.y,u[0][1],u[1][1])}),Lyt=(s,u,f)=>sf?-gM(Math.abs(s-f),1,50)/50:0,y5t=(s,u)=>{const f=Lyt(s.x,35,u.width-35)*20,d=Lyt(s.y,35,u.height-35)*20;return[f,d]},x5t=s=>{var u;return((u=s.getRootNode)==null?void 0:u.call(s))||(window==null?void 0:window.document)},qln=(s,u)=>({x:Math.min(s.x,u.x),y:Math.min(s.y,u.y),x2:Math.max(s.x2,u.x2),y2:Math.max(s.y2,u.y2)}),$6e=({x:s,y:u,width:f,height:d})=>({x:s,y:u,x2:s+f,y2:u+d}),zln=({x:s,y:u,x2:f,y2:d})=>({x:s,y:u,width:f-s,height:d-u}),Dyt=s=>({...s.positionAbsolute||{x:0,y:0},width:s.width||0,height:s.height||0}),n5e=(s,u)=>{const f=Math.max(0,Math.min(s.x+s.width,u.x+u.width)-Math.max(s.x,u.x)),d=Math.max(0,Math.min(s.y+s.height,u.y+u.height)-Math.max(s.y,u.y));return Math.ceil(f*d)},Vln=s=>db(s.width)&&db(s.height)&&db(s.x)&&db(s.y),db=s=>!isNaN(s)&&isFinite(s),ra=Symbol.for("internals"),k5t=["Enter"," ","Escape"],Uln=(s,u)=>{},Gln=s=>"nativeEvent"in s;function i5e(s){var g,m;const u=Gln(s)?s.nativeEvent:s,f=((m=(g=u.composedPath)==null?void 0:g.call(u))==null?void 0:m[0])||s.target;return["INPUT","SELECT","TEXTAREA"].includes(f==null?void 0:f.nodeName)||(f==null?void 0:f.hasAttribute("contenteditable"))||!!(f!=null&&f.closest(".nokey"))}const j5t=s=>"clientX"in s,e6=(s,u)=>{var m,w;const f=j5t(s),d=f?s.clientX:(m=s.touches)==null?void 0:m[0].clientX,g=f?s.clientY:(w=s.touches)==null?void 0:w[0].clientY;return{x:d-((u==null?void 0:u.left)??0),y:g-((u==null?void 0:u.top)??0)}},aee=()=>{var s;return typeof navigator<"u"&&((s=navigator==null?void 0:navigator.userAgent)==null?void 0:s.indexOf("Mac"))>=0},jM=({id:s,path:u,labelX:f,labelY:d,label:g,labelStyle:m,labelShowBg:w,labelBgStyle:S,labelBgPadding:N,labelBgBorderRadius:T,style:P,markerEnd:O,markerStart:I,interactionWidth:C=20})=>In.createElement(In.Fragment,null,In.createElement("path",{id:s,style:P,d:u,fill:"none",className:"react-flow__edge-path",markerEnd:O,markerStart:I}),C&&In.createElement("path",{d:u,fill:"none",strokeOpacity:0,strokeWidth:C,className:"react-flow__edge-interaction"}),g&&db(f)&&db(d)?In.createElement(Kln,{x:f,y:d,label:g,labelStyle:m,labelShowBg:w,labelBgStyle:S,labelBgPadding:N,labelBgBorderRadius:T}):null);jM.displayName="BaseEdge";function JR(s,u,f){return f===void 0?f:d=>{const g=u().edges.find(m=>m.id===s);g&&f(d,{...g})}}function S5t({sourceX:s,sourceY:u,targetX:f,targetY:d}){const g=Math.abs(f-s)/2,m=f{const[F,R,B]=I5t({sourceX:s,sourceY:u,sourcePosition:g,targetX:f,targetY:d,targetPosition:m});return In.createElement(jM,{path:F,labelX:R,labelY:B,label:w,labelStyle:S,labelShowBg:N,labelBgStyle:T,labelBgPadding:P,labelBgBorderRadius:O,style:I,markerEnd:C,markerStart:M,interactionWidth:_})});F6e.displayName="SimpleBezierEdge";const $yt={[Xn.Left]:{x:-1,y:0},[Xn.Right]:{x:1,y:0},[Xn.Top]:{x:0,y:-1},[Xn.Bottom]:{x:0,y:1}},Wln=({source:s,sourcePosition:u=Xn.Bottom,target:f})=>u===Xn.Left||u===Xn.Right?s.xMath.sqrt(Math.pow(u.x-s.x,2)+Math.pow(u.y-s.y,2));function Xln({source:s,sourcePosition:u=Xn.Bottom,target:f,targetPosition:d=Xn.Top,center:g,offset:m}){const w=$yt[u],S=$yt[d],N={x:s.x+w.x*m,y:s.y+w.y*m},T={x:f.x+S.x*m,y:f.y+S.y*m},P=Wln({source:N,sourcePosition:u,target:T}),O=P.x!==0?"x":"y",I=P[O];let C=[],M,_;const F={x:0,y:0},R={x:0,y:0},[B,G,z,Q]=S5t({sourceX:s.x,sourceY:s.y,targetX:f.x,targetY:f.y});if(w[O]*S[O]===-1){M=g.x??B,_=g.y??G;const ne=[{x:M,y:N.y},{x:M,y:T.y}],Y=[{x:N.x,y:_},{x:T.x,y:_}];w[O]===I?C=O==="x"?ne:Y:C=O==="x"?Y:ne}else{const ne=[{x:N.x,y:T.y}],Y=[{x:T.x,y:N.y}];if(O==="x"?C=w.x===I?Y:ne:C=w.y===I?ne:Y,u===d){const U=Math.abs(s[O]-f[O]);if(U<=m){const se=Math.min(m-1,m-U);w[O]===I?F[O]=(N[O]>s[O]?-1:1)*se:R[O]=(T[O]>f[O]?-1:1)*se}}if(u!==d){const U=O==="x"?"y":"x",se=w[O]===S[U],we=N[U]>T[U],ve=N[U]=de?(M=(oe.x+Z.x)/2,_=C[0].y):(M=C[0].x,_=(oe.y+Z.y)/2)}return[[s,{x:N.x+F.x,y:N.y+F.y},...C,{x:T.x+R.x,y:T.y+R.y},f],M,_,z,Q]}function Jln(s,u,f,d){const g=Math.min(Fyt(s,u)/2,Fyt(u,f)/2,d),{x:m,y:w}=u;if(s.x===m&&m===f.x||s.y===w&&w===f.y)return`L${m} ${w}`;if(s.y===w){const T=s.x{let G="";return B>0&&B{const[R,B,G]=r5e({sourceX:s,sourceY:u,sourcePosition:O,targetX:f,targetY:d,targetPosition:I,borderRadius:_==null?void 0:_.borderRadius,offset:_==null?void 0:_.offset});return In.createElement(jM,{path:R,labelX:B,labelY:G,label:g,labelStyle:m,labelShowBg:w,labelBgStyle:S,labelBgPadding:N,labelBgBorderRadius:T,style:P,markerEnd:C,markerStart:M,interactionWidth:F})});Xee.displayName="SmoothStepEdge";const B6e=fe.memo(s=>{var u;return In.createElement(Xee,{...s,pathOptions:fe.useMemo(()=>{var f;return{borderRadius:0,offset:(f=s.pathOptions)==null?void 0:f.offset}},[(u=s.pathOptions)==null?void 0:u.offset])})});B6e.displayName="StepEdge";function Yln({sourceX:s,sourceY:u,targetX:f,targetY:d}){const[g,m,w,S]=S5t({sourceX:s,sourceY:u,targetX:f,targetY:d});return[`M ${s},${u}L ${f},${d}`,g,m,w,S]}const H6e=fe.memo(({sourceX:s,sourceY:u,targetX:f,targetY:d,label:g,labelStyle:m,labelShowBg:w,labelBgStyle:S,labelBgPadding:N,labelBgBorderRadius:T,style:P,markerEnd:O,markerStart:I,interactionWidth:C})=>{const[M,_,F]=Yln({sourceX:s,sourceY:u,targetX:f,targetY:d});return In.createElement(jM,{path:M,labelX:_,labelY:F,label:g,labelStyle:m,labelShowBg:w,labelBgStyle:S,labelBgPadding:N,labelBgBorderRadius:T,style:P,markerEnd:O,markerStart:I,interactionWidth:C})});H6e.displayName="StraightEdge";function XQ(s,u){return s>=0?.5*s:u*25*Math.sqrt(-s)}function Byt({pos:s,x1:u,y1:f,x2:d,y2:g,c:m}){switch(s){case Xn.Left:return[u-XQ(u-d,m),f];case Xn.Right:return[u+XQ(d-u,m),f];case Xn.Top:return[u,f-XQ(f-g,m)];case Xn.Bottom:return[u,f+XQ(g-f,m)]}}function N5t({sourceX:s,sourceY:u,sourcePosition:f=Xn.Bottom,targetX:d,targetY:g,targetPosition:m=Xn.Top,curvature:w=.25}){const[S,N]=Byt({pos:f,x1:s,y1:u,x2:d,y2:g,c:w}),[T,P]=Byt({pos:m,x1:d,y1:g,x2:s,y2:u,c:w}),[O,I,C,M]=E5t({sourceX:s,sourceY:u,targetX:d,targetY:g,sourceControlX:S,sourceControlY:N,targetControlX:T,targetControlY:P});return[`M${s},${u} C${S},${N} ${T},${P} ${d},${g}`,O,I,C,M]}const fee=fe.memo(({sourceX:s,sourceY:u,targetX:f,targetY:d,sourcePosition:g=Xn.Bottom,targetPosition:m=Xn.Top,label:w,labelStyle:S,labelShowBg:N,labelBgStyle:T,labelBgPadding:P,labelBgBorderRadius:O,style:I,markerEnd:C,markerStart:M,pathOptions:_,interactionWidth:F})=>{const[R,B,G]=N5t({sourceX:s,sourceY:u,sourcePosition:g,targetX:f,targetY:d,targetPosition:m,curvature:_==null?void 0:_.curvature});return In.createElement(jM,{path:R,labelX:B,labelY:G,label:w,labelStyle:S,labelShowBg:N,labelBgStyle:T,labelBgPadding:P,labelBgBorderRadius:O,style:I,markerEnd:C,markerStart:M,interactionWidth:F})});fee.displayName="BezierEdge";const K6e=fe.createContext(null),Qln=K6e.Provider;K6e.Consumer;const Zln=()=>fe.useContext(K6e),ean=s=>"id"in s&&"source"in s&&"target"in s,tan=({source:s,sourceHandle:u,target:f,targetHandle:d})=>`reactflow__edge-${s}${u||""}-${f}${d||""}`,s5e=(s,u)=>typeof s>"u"?"":typeof s=="string"?s:`${u?`${u}__`:""}${Object.keys(s).sort().map(d=>`${d}=${s[d]}`).join("&")}`,nan=(s,u)=>u.some(f=>f.source===s.source&&f.target===s.target&&(f.sourceHandle===s.sourceHandle||!f.sourceHandle&&!s.sourceHandle)&&(f.targetHandle===s.targetHandle||!f.targetHandle&&!s.targetHandle)),ian=(s,u)=>{if(!s.source||!s.target)return u;let f;return ean(s)?f={...s}:f={...s,id:tan(s)},nan(f,u)?u:u.concat(f)},o5e=({x:s,y:u},[f,d,g],m,[w,S])=>{const N={x:(s-f)/g,y:(u-d)/g};return m?{x:w*Math.round(N.x/w),y:S*Math.round(N.y/S)}:N},C5t=({x:s,y:u},[f,d,g])=>({x:s*g+f,y:u*g+d}),ZC=(s,u=[0,0])=>{if(!s)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const f=(s.width??0)*u[0],d=(s.height??0)*u[1],g={x:s.position.x-f,y:s.position.y-d};return{...g,positionAbsolute:s.positionAbsolute?{x:s.positionAbsolute.x-f,y:s.positionAbsolute.y-d}:g}},eM=(s,u=[0,0])=>{if(s.length===0)return{x:0,y:0,width:0,height:0};const f=s.reduce((d,g)=>{const{x:m,y:w}=ZC(g,u).positionAbsolute;return qln(d,$6e({x:m,y:w,width:g.width||0,height:g.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return zln(f)},M5t=(s,u,[f,d,g]=[0,0,1],m=!1,w=!1,S=[0,0])=>{const N={x:(u.x-f)/g,y:(u.y-d)/g,width:u.width/g,height:u.height/g},T=[];return s.forEach(P=>{const{width:O,height:I,selectable:C=!0,hidden:M=!1}=P;if(w&&!C||M)return!1;const{positionAbsolute:_}=ZC(P,S),F={x:_.x,y:_.y,width:O||0,height:I||0},R=n5e(N,F),B=typeof O>"u"||typeof I>"u"||O===null||I===null,G=m&&R>0,z=(O||0)*(I||0);(B||G||R>=z||P.dragging)&&T.push(P)}),T},T5t=(s,u)=>{const f=s.map(d=>d.id);return u.filter(d=>f.includes(d.source)||f.includes(d.target))},v$=(s,u,f,d,g,m=.1)=>{const w=u/(s.width*(1+m)),S=f/(s.height*(1+m)),N=Math.min(w,S),T=gM(N,d,g),P=s.x+s.width/2,O=s.y+s.height/2,I=u/2-P*T,C=f/2-O*T;return{x:I,y:C,zoom:T}},w9=(s,u=0)=>s.transition().duration(u);function Hyt(s,u,f,d){return(u[f]||[]).reduce((g,m)=>{var w,S;return`${s.id}-${m.id}-${f}`!==d&&g.push({id:m.id||null,type:f,nodeId:s.id,x:(((w=s.positionAbsolute)==null?void 0:w.x)??0)+m.x+m.width/2,y:(((S=s.positionAbsolute)==null?void 0:S.y)??0)+m.y+m.height/2}),g},[])}function ran(s,u,f,d,g,m){const{x:w,y:S}=e6(s),T=u.elementsFromPoint(w,S).find(M=>M.classList.contains("react-flow__handle"));if(T){const M=T.getAttribute("data-nodeid");if(M){const _=q6e(void 0,T),F=T.getAttribute("data-handleid"),R=m({nodeId:M,id:F,type:_});if(R){const B=g.find(G=>G.nodeId===M&&G.type===_&&G.id===F);return{handle:{id:F,type:_,nodeId:M,x:(B==null?void 0:B.x)||f.x,y:(B==null?void 0:B.y)||f.y},validHandleResult:R}}}}let P=[],O=1/0;if(g.forEach(M=>{const _=Math.sqrt((M.x-f.x)**2+(M.y-f.y)**2);if(_<=d){const F=m(M);_<=O&&(_M.isValid),C=P.some(({handle:M})=>M.type==="target");return P.find(({handle:M,validHandleResult:_})=>C?M.type==="target":I?_.isValid:!0)||P[0]}const san={source:null,target:null,sourceHandle:null,targetHandle:null},A5t=()=>({handleDomNode:null,isValid:!1,connection:san,endHandle:null});function P5t(s,u,f,d,g,m,w){const S=g==="target",N=w.querySelector(`.react-flow__handle[data-id="${s==null?void 0:s.nodeId}-${s==null?void 0:s.id}-${s==null?void 0:s.type}"]`),T={...A5t(),handleDomNode:N};if(N){const P=q6e(void 0,N),O=N.getAttribute("data-nodeid"),I=N.getAttribute("data-handleid"),C=N.classList.contains("connectable"),M=N.classList.contains("connectableend"),_={source:S?O:f,sourceHandle:S?I:d,target:S?f:O,targetHandle:S?d:I};T.connection=_,C&&M&&(u===O9.Strict?S&&P==="source"||!S&&P==="target":O!==f||I!==d)&&(T.endHandle={nodeId:O,handleId:I,type:P},T.isValid=m(_))}return T}function oan({nodes:s,nodeId:u,handleId:f,handleType:d}){return s.reduce((g,m)=>{if(m[ra]){const{handleBounds:w}=m[ra];let S=[],N=[];w&&(S=Hyt(m,w,"source",`${u}-${f}-${d}`),N=Hyt(m,w,"target",`${u}-${f}-${d}`)),g.push(...S,...N)}return g},[])}function q6e(s,u){return s||(u!=null&&u.classList.contains("target")?"target":u!=null&&u.classList.contains("source")?"source":null)}function v4e(s){s==null||s.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function can(s,u){let f=null;return u?f="valid":s&&!u&&(f="invalid"),f}function _5t({event:s,handleId:u,nodeId:f,onConnect:d,isTarget:g,getState:m,setState:w,isValidConnection:S,edgeUpdaterType:N,onReconnectEnd:T}){const P=x5t(s.target),{connectionMode:O,domNode:I,autoPanOnConnect:C,connectionRadius:M,onConnectStart:_,panBy:F,getNodes:R,cancelConnection:B}=m();let G=0,z;const{x:Q,y:te}=e6(s),ne=P==null?void 0:P.elementFromPoint(Q,te),Y=q6e(N,ne),oe=I==null?void 0:I.getBoundingClientRect();if(!oe||!Y)return;let Z,re=e6(s,oe),de=!1,U=null,se=!1,we=null;const ve=oan({nodes:R(),nodeId:f,handleId:u,handleType:Y}),Ke=()=>{if(!C)return;const[ge,_e]=y5t(re,oe);F({x:ge,y:_e}),G=requestAnimationFrame(Ke)};w({connectionPosition:re,connectionStatus:null,connectionNodeId:f,connectionHandleId:u,connectionHandleType:Y,connectionStartHandle:{nodeId:f,handleId:u,type:Y},connectionEndHandle:null}),_==null||_(s,{nodeId:f,handleId:u,handleType:Y});function je(ge){const{transform:_e}=m();re=e6(ge,oe);const{handle:Be,validHandleResult:ht}=ran(ge,P,o5e(re,_e,!1,[1,1]),M,ve,xt=>P5t(xt,O,f,u,g?"target":"source",S,P));if(z=Be,de||(Ke(),de=!0),we=ht.handleDomNode,U=ht.connection,se=ht.isValid,w({connectionPosition:z&&se?C5t({x:z.x,y:z.y},_e):re,connectionStatus:can(!!z,se),connectionEndHandle:ht.endHandle}),!z&&!se&&!we)return v4e(Z);U.source!==U.target&&we&&(v4e(Z),Z=we,we.classList.add("connecting","react-flow__handle-connecting"),we.classList.toggle("valid",se),we.classList.toggle("react-flow__handle-valid",se))}function ae(ge){var _e,Be;(z||we)&&U&&se&&(d==null||d(U)),(Be=(_e=m()).onConnectEnd)==null||Be.call(_e,ge),N&&(T==null||T(ge)),v4e(Z),B(),cancelAnimationFrame(G),de=!1,se=!1,U=null,we=null,P.removeEventListener("mousemove",je),P.removeEventListener("mouseup",ae),P.removeEventListener("touchmove",je),P.removeEventListener("touchend",ae)}P.addEventListener("mousemove",je),P.addEventListener("mouseup",ae),P.addEventListener("touchmove",je),P.addEventListener("touchend",ae)}const Kyt=()=>!0,uan=s=>({connectionStartHandle:s.connectionStartHandle,connectOnClick:s.connectOnClick,noPanClassName:s.noPanClassName}),lan=(s,u,f)=>d=>{const{connectionStartHandle:g,connectionEndHandle:m,connectionClickStartHandle:w}=d;return{connecting:(g==null?void 0:g.nodeId)===s&&(g==null?void 0:g.handleId)===u&&(g==null?void 0:g.type)===f||(m==null?void 0:m.nodeId)===s&&(m==null?void 0:m.handleId)===u&&(m==null?void 0:m.type)===f,clickConnecting:(w==null?void 0:w.nodeId)===s&&(w==null?void 0:w.handleId)===u&&(w==null?void 0:w.type)===f}},O5t=fe.forwardRef(({type:s="source",position:u=Xn.Top,isValidConnection:f,isConnectable:d=!0,isConnectableStart:g=!0,isConnectableEnd:m=!0,id:w,onConnect:S,children:N,className:T,onMouseDown:P,onTouchStart:O,...I},C)=>{var oe,Z;const M=w||null,_=s==="target",F=wh(),R=Zln(),{connectOnClick:B,noPanClassName:G}=Iu(uan,Fd),{connecting:z,clickConnecting:Q}=Iu(lan(R,M,s),Fd);R||(Z=(oe=F.getState()).onError)==null||Z.call(oe,"010",Mx.error010());const te=re=>{const{defaultEdgeOptions:de,onConnect:U,hasDefaultEdges:se}=F.getState(),we={...de,...re};if(se){const{edges:ve,setEdges:Ke}=F.getState();Ke(ian(we,ve))}U==null||U(we),S==null||S(we)},ne=re=>{if(!R)return;const de=j5t(re);g&&(de&&re.button===0||!de)&&_5t({event:re,handleId:M,nodeId:R,onConnect:te,isTarget:_,getState:F.getState,setState:F.setState,isValidConnection:f||F.getState().isValidConnection||Kyt}),de?P==null||P(re):O==null||O(re)},Y=re=>{const{onClickConnectStart:de,onClickConnectEnd:U,connectionClickStartHandle:se,connectionMode:we,isValidConnection:ve}=F.getState();if(!R||!se&&!g)return;if(!se){de==null||de(re,{nodeId:R,handleId:M,handleType:s}),F.setState({connectionClickStartHandle:{nodeId:R,type:s,handleId:M}});return}const Ke=x5t(re.target),je=f||ve||Kyt,{connection:ae,isValid:ge}=P5t({nodeId:R,id:M,type:s},we,se.nodeId,se.handleId||null,se.type,je,Ke);ge&&te(ae),U==null||U(re),F.setState({connectionClickStartHandle:null})};return In.createElement("div",{"data-handleid":M,"data-nodeid":R,"data-handlepos":u,"data-id":`${R}-${M}-${s}`,className:jg(["react-flow__handle",`react-flow__handle-${u}`,"nodrag",G,T,{source:!_,target:_,connectable:d,connectablestart:g,connectableend:m,connecting:Q,connectionindicator:d&&(g&&!z||m&&z)}]),onMouseDown:ne,onTouchStart:ne,onClick:B?Y:void 0,ref:C,...I},N)});O5t.displayName="Handle";var ub=fe.memo(O5t);const L5t=({data:s,isConnectable:u,targetPosition:f=Xn.Top,sourcePosition:d=Xn.Bottom})=>In.createElement(In.Fragment,null,In.createElement(ub,{type:"target",position:f,isConnectable:u}),s==null?void 0:s.label,In.createElement(ub,{type:"source",position:d,isConnectable:u}));L5t.displayName="DefaultNode";var c5e=fe.memo(L5t);const D5t=({data:s,isConnectable:u,sourcePosition:f=Xn.Bottom})=>In.createElement(In.Fragment,null,s==null?void 0:s.label,In.createElement(ub,{type:"source",position:f,isConnectable:u}));D5t.displayName="InputNode";var R5t=fe.memo(D5t);const $5t=({data:s,isConnectable:u,targetPosition:f=Xn.Top})=>In.createElement(In.Fragment,null,In.createElement(ub,{type:"target",position:f,isConnectable:u}),s==null?void 0:s.label);$5t.displayName="OutputNode";var F5t=fe.memo($5t);const z6e=()=>null;z6e.displayName="GroupNode";const aan=s=>({selectedNodes:s.getNodes().filter(u=>u.selected),selectedEdges:s.edges.filter(u=>u.selected).map(u=>({...u}))}),JQ=s=>s.id;function fan(s,u){return Fd(s.selectedNodes.map(JQ),u.selectedNodes.map(JQ))&&Fd(s.selectedEdges.map(JQ),u.selectedEdges.map(JQ))}const B5t=fe.memo(({onSelectionChange:s})=>{const u=wh(),{selectedNodes:f,selectedEdges:d}=Iu(aan,fan);return fe.useEffect(()=>{const g={nodes:f,edges:d};s==null||s(g),u.getState().onSelectionChange.forEach(m=>m(g))},[f,d,s]),null});B5t.displayName="SelectionListener";const han=s=>!!s.onSelectionChange;function dan({onSelectionChange:s}){const u=Iu(han);return s||u?In.createElement(B5t,{onSelectionChange:s}):null}const pan=s=>({setNodes:s.setNodes,setEdges:s.setEdges,setDefaultNodesAndEdges:s.setDefaultNodesAndEdges,setMinZoom:s.setMinZoom,setMaxZoom:s.setMaxZoom,setTranslateExtent:s.setTranslateExtent,setNodeExtent:s.setNodeExtent,reset:s.reset});function vC(s,u){fe.useEffect(()=>{typeof s<"u"&&u(s)},[s])}function ho(s,u,f){fe.useEffect(()=>{typeof u<"u"&&f({[s]:u})},[u])}const gan=({nodes:s,edges:u,defaultNodes:f,defaultEdges:d,onConnect:g,onConnectStart:m,onConnectEnd:w,onClickConnectStart:S,onClickConnectEnd:N,nodesDraggable:T,nodesConnectable:P,nodesFocusable:O,edgesFocusable:I,edgesUpdatable:C,elevateNodesOnSelect:M,minZoom:_,maxZoom:F,nodeExtent:R,onNodesChange:B,onEdgesChange:G,elementsSelectable:z,connectionMode:Q,snapGrid:te,snapToGrid:ne,translateExtent:Y,connectOnClick:oe,defaultEdgeOptions:Z,fitView:re,fitViewOptions:de,onNodesDelete:U,onEdgesDelete:se,onNodeDrag:we,onNodeDragStart:ve,onNodeDragStop:Ke,onSelectionDrag:je,onSelectionDragStart:ae,onSelectionDragStop:ge,noPanClassName:_e,nodeOrigin:Be,rfId:ht,autoPanOnConnect:xt,autoPanOnNodeDrag:ze,onError:Fe,connectionRadius:Ue,isValidConnection:Vt,nodeDragThreshold:Et})=>{const{setNodes:un,setEdges:Bn,setDefaultNodesAndEdges:vn,setMinZoom:ft,setMaxZoom:zt,setTranslateExtent:vt,setNodeExtent:pn,reset:ln}=Iu(pan,Fd),Dt=wh();return fe.useEffect(()=>{const ji=d==null?void 0:d.map(Hi=>({...Hi,...Z}));return vn(f,ji),()=>{ln()}},[]),ho("defaultEdgeOptions",Z,Dt.setState),ho("connectionMode",Q,Dt.setState),ho("onConnect",g,Dt.setState),ho("onConnectStart",m,Dt.setState),ho("onConnectEnd",w,Dt.setState),ho("onClickConnectStart",S,Dt.setState),ho("onClickConnectEnd",N,Dt.setState),ho("nodesDraggable",T,Dt.setState),ho("nodesConnectable",P,Dt.setState),ho("nodesFocusable",O,Dt.setState),ho("edgesFocusable",I,Dt.setState),ho("edgesUpdatable",C,Dt.setState),ho("elementsSelectable",z,Dt.setState),ho("elevateNodesOnSelect",M,Dt.setState),ho("snapToGrid",ne,Dt.setState),ho("snapGrid",te,Dt.setState),ho("onNodesChange",B,Dt.setState),ho("onEdgesChange",G,Dt.setState),ho("connectOnClick",oe,Dt.setState),ho("fitViewOnInit",re,Dt.setState),ho("fitViewOnInitOptions",de,Dt.setState),ho("onNodesDelete",U,Dt.setState),ho("onEdgesDelete",se,Dt.setState),ho("onNodeDrag",we,Dt.setState),ho("onNodeDragStart",ve,Dt.setState),ho("onNodeDragStop",Ke,Dt.setState),ho("onSelectionDrag",je,Dt.setState),ho("onSelectionDragStart",ae,Dt.setState),ho("onSelectionDragStop",ge,Dt.setState),ho("noPanClassName",_e,Dt.setState),ho("nodeOrigin",Be,Dt.setState),ho("rfId",ht,Dt.setState),ho("autoPanOnConnect",xt,Dt.setState),ho("autoPanOnNodeDrag",ze,Dt.setState),ho("onError",Fe,Dt.setState),ho("connectionRadius",Ue,Dt.setState),ho("isValidConnection",Vt,Dt.setState),ho("nodeDragThreshold",Et,Dt.setState),vC(s,un),vC(u,Bn),vC(_,ft),vC(F,zt),vC(Y,vt),vC(R,pn),null},qyt={display:"none"},wan={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},H5t="react-flow__node-desc",K5t="react-flow__edge-desc",ban="react-flow__aria-live",man=s=>s.ariaLiveMessage;function van({rfId:s}){const u=Iu(man);return In.createElement("div",{id:`${ban}-${s}`,"aria-live":"assertive","aria-atomic":"true",style:wan},u)}function yan({rfId:s,disableKeyboardA11y:u}){return In.createElement(In.Fragment,null,In.createElement("div",{id:`${H5t}-${s}`,style:qyt},"Press enter or space to select a node.",!u&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),In.createElement("div",{id:`${K5t}-${s}`,style:qyt},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!u&&In.createElement(van,{rfId:s}))}var U$=(s=null,u={actInsideInputWithModifier:!0})=>{const[f,d]=fe.useState(!1),g=fe.useRef(!1),m=fe.useRef(new Set([])),[w,S]=fe.useMemo(()=>{if(s!==null){const T=(Array.isArray(s)?s:[s]).filter(O=>typeof O=="string").map(O=>O.split("+")),P=T.reduce((O,I)=>O.concat(...I),[]);return[T,P]}return[[],[]]},[s]);return fe.useEffect(()=>{const N=typeof document<"u"?document:null,T=(u==null?void 0:u.target)||N;if(s!==null){const P=C=>{if(g.current=C.ctrlKey||C.metaKey||C.shiftKey,(!g.current||g.current&&!u.actInsideInputWithModifier)&&i5e(C))return!1;const _=Vyt(C.code,S);m.current.add(C[_]),zyt(w,m.current,!1)&&(C.preventDefault(),d(!0))},O=C=>{if((!g.current||g.current&&!u.actInsideInputWithModifier)&&i5e(C))return!1;const _=Vyt(C.code,S);zyt(w,m.current,!0)?(d(!1),m.current.clear()):m.current.delete(C[_]),C.key==="Meta"&&m.current.clear(),g.current=!1},I=()=>{m.current.clear(),d(!1)};return T==null||T.addEventListener("keydown",P),T==null||T.addEventListener("keyup",O),window.addEventListener("blur",I),()=>{T==null||T.removeEventListener("keydown",P),T==null||T.removeEventListener("keyup",O),window.removeEventListener("blur",I)}}},[s,d]),f};function zyt(s,u,f){return s.filter(d=>f||d.length===u.size).some(d=>d.every(g=>u.has(g)))}function Vyt(s,u){return u.includes(s)?"code":"key"}function q5t(s,u,f,d){var S,N;const g=s.parentNode||s.parentId;if(!g)return f;const m=u.get(g),w=ZC(m,d);return q5t(m,u,{x:(f.x??0)+w.x,y:(f.y??0)+w.y,z:(((S=m[ra])==null?void 0:S.z)??0)>(f.z??0)?((N=m[ra])==null?void 0:N.z)??0:f.z??0},d)}function z5t(s,u,f){s.forEach(d=>{var m;const g=d.parentNode||d.parentId;if(g&&!s.has(g))throw new Error(`Parent node ${g} not found`);if(g||f!=null&&f[d.id]){const{x:w,y:S,z:N}=q5t(d,s,{...d.position,z:((m=d[ra])==null?void 0:m.z)??0},u);d.positionAbsolute={x:w,y:S},d[ra].z=N,f!=null&&f[d.id]&&(d[ra].isParent=!0)}})}function y4e(s,u,f,d){const g=new Map,m={},w=d?1e3:0;return s.forEach(S=>{var C;const N=(db(S.zIndex)?S.zIndex:0)+(S.selected?w:0),T=u.get(S.id),P={...S,positionAbsolute:{x:S.position.x,y:S.position.y}},O=S.parentNode||S.parentId;O&&(m[O]=!0);const I=(T==null?void 0:T.type)&&(T==null?void 0:T.type)!==S.type;Object.defineProperty(P,ra,{enumerable:!1,value:{handleBounds:I||(C=T==null?void 0:T[ra])==null?void 0:C.handleBounds,z:N}}),g.set(S.id,P)}),z5t(g,f,m),g}function V5t(s,u={}){const{getNodes:f,width:d,height:g,minZoom:m,maxZoom:w,d3Zoom:S,d3Selection:N,fitViewOnInitDone:T,fitViewOnInit:P,nodeOrigin:O}=s(),I=u.initial&&!T&&P;if(S&&N&&(I||!u.initial)){const M=f().filter(F=>{var B;const R=u.includeHiddenNodes?F.width&&F.height:!F.hidden;return(B=u.nodes)!=null&&B.length?R&&u.nodes.some(G=>G.id===F.id):R}),_=M.every(F=>F.width&&F.height);if(M.length>0&&_){const F=eM(M,O),{x:R,y:B,zoom:G}=v$(F,d,g,u.minZoom??m,u.maxZoom??w,u.padding??.1),z=Z5.translate(R,B).scale(G);return typeof u.duration=="number"&&u.duration>0?S.transform(w9(N,u.duration),z):S.transform(N,z),!0}}return!1}function xan(s,u){return s.forEach(f=>{const d=u.get(f.id);d&&u.set(d.id,{...d,[ra]:d[ra],selected:f.selected})}),new Map(u)}function kan(s,u){return u.map(f=>{const d=s.find(g=>g.id===f.id);return d&&(f.selected=d.selected),f})}function YQ({changedNodes:s,changedEdges:u,get:f,set:d}){const{nodeInternals:g,edges:m,onNodesChange:w,onEdgesChange:S,hasDefaultNodes:N,hasDefaultEdges:T}=f();s!=null&&s.length&&(N&&d({nodeInternals:xan(s,g)}),w==null||w(s)),u!=null&&u.length&&(T&&d({edges:kan(u,m)}),S==null||S(u))}const yC=()=>{},jan={zoomIn:yC,zoomOut:yC,zoomTo:yC,getZoom:()=>1,setViewport:yC,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:yC,fitBounds:yC,project:s=>s,screenToFlowPosition:s=>s,flowToScreenPosition:s=>s,viewportInitialized:!1},San=s=>({d3Zoom:s.d3Zoom,d3Selection:s.d3Selection}),Ean=()=>{const s=wh(),{d3Zoom:u,d3Selection:f}=Iu(San,Fd);return fe.useMemo(()=>f&&u?{zoomIn:g=>u.scaleBy(w9(f,g==null?void 0:g.duration),1.2),zoomOut:g=>u.scaleBy(w9(f,g==null?void 0:g.duration),1/1.2),zoomTo:(g,m)=>u.scaleTo(w9(f,m==null?void 0:m.duration),g),getZoom:()=>s.getState().transform[2],setViewport:(g,m)=>{const[w,S,N]=s.getState().transform,T=Z5.translate(g.x??w,g.y??S).scale(g.zoom??N);u.transform(w9(f,m==null?void 0:m.duration),T)},getViewport:()=>{const[g,m,w]=s.getState().transform;return{x:g,y:m,zoom:w}},fitView:g=>V5t(s.getState,g),setCenter:(g,m,w)=>{const{width:S,height:N,maxZoom:T}=s.getState(),P=typeof(w==null?void 0:w.zoom)<"u"?w.zoom:T,O=S/2-g*P,I=N/2-m*P,C=Z5.translate(O,I).scale(P);u.transform(w9(f,w==null?void 0:w.duration),C)},fitBounds:(g,m)=>{const{width:w,height:S,minZoom:N,maxZoom:T}=s.getState(),{x:P,y:O,zoom:I}=v$(g,w,S,N,T,(m==null?void 0:m.padding)??.1),C=Z5.translate(P,O).scale(I);u.transform(w9(f,m==null?void 0:m.duration),C)},project:g=>{const{transform:m,snapToGrid:w,snapGrid:S}=s.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),o5e(g,m,w,S)},screenToFlowPosition:g=>{const{transform:m,snapToGrid:w,snapGrid:S,domNode:N}=s.getState();if(!N)return g;const{x:T,y:P}=N.getBoundingClientRect(),O={x:g.x-T,y:g.y-P};return o5e(O,m,w,S)},flowToScreenPosition:g=>{const{transform:m,domNode:w}=s.getState();if(!w)return g;const{x:S,y:N}=w.getBoundingClientRect(),T=C5t(g,m);return{x:T.x+S,y:T.y+N}},viewportInitialized:!0}:jan,[u,f])};function U5t(){const s=Ean(),u=wh(),f=fe.useCallback(()=>u.getState().getNodes().map(_=>({..._})),[]),d=fe.useCallback(_=>u.getState().nodeInternals.get(_),[]),g=fe.useCallback(()=>{const{edges:_=[]}=u.getState();return _.map(F=>({...F}))},[]),m=fe.useCallback(_=>{const{edges:F=[]}=u.getState();return F.find(R=>R.id===_)},[]),w=fe.useCallback(_=>{const{getNodes:F,setNodes:R,hasDefaultNodes:B,onNodesChange:G}=u.getState(),z=F(),Q=typeof _=="function"?_(z):_;if(B)R(Q);else if(G){const te=Q.length===0?z.map(ne=>({type:"remove",id:ne.id})):Q.map(ne=>({item:ne,type:"reset"}));G(te)}},[]),S=fe.useCallback(_=>{const{edges:F=[],setEdges:R,hasDefaultEdges:B,onEdgesChange:G}=u.getState(),z=typeof _=="function"?_(F):_;if(B)R(z);else if(G){const Q=z.length===0?F.map(te=>({type:"remove",id:te.id})):z.map(te=>({item:te,type:"reset"}));G(Q)}},[]),N=fe.useCallback(_=>{const F=Array.isArray(_)?_:[_],{getNodes:R,setNodes:B,hasDefaultNodes:G,onNodesChange:z}=u.getState();if(G){const te=[...R(),...F];B(te)}else if(z){const Q=F.map(te=>({item:te,type:"add"}));z(Q)}},[]),T=fe.useCallback(_=>{const F=Array.isArray(_)?_:[_],{edges:R=[],setEdges:B,hasDefaultEdges:G,onEdgesChange:z}=u.getState();if(G)B([...R,...F]);else if(z){const Q=F.map(te=>({item:te,type:"add"}));z(Q)}},[]),P=fe.useCallback(()=>{const{getNodes:_,edges:F=[],transform:R}=u.getState(),[B,G,z]=R;return{nodes:_().map(Q=>({...Q})),edges:F.map(Q=>({...Q})),viewport:{x:B,y:G,zoom:z}}},[]),O=fe.useCallback(({nodes:_,edges:F})=>{const{nodeInternals:R,getNodes:B,edges:G,hasDefaultNodes:z,hasDefaultEdges:Q,onNodesDelete:te,onEdgesDelete:ne,onNodesChange:Y,onEdgesChange:oe}=u.getState(),Z=(_||[]).map(we=>we.id),re=(F||[]).map(we=>we.id),de=B().reduce((we,ve)=>{const Ke=ve.parentNode||ve.parentId,je=!Z.includes(ve.id)&&Ke&&we.find(ge=>ge.id===Ke);return(typeof ve.deletable=="boolean"?ve.deletable:!0)&&(Z.includes(ve.id)||je)&&we.push(ve),we},[]),U=G.filter(we=>typeof we.deletable=="boolean"?we.deletable:!0),se=U.filter(we=>re.includes(we.id));if(de||se){const we=T5t(de,U),ve=[...se,...we],Ke=ve.reduce((je,ae)=>(je.includes(ae.id)||je.push(ae.id),je),[]);if((Q||z)&&(Q&&u.setState({edges:G.filter(je=>!Ke.includes(je.id))}),z&&(de.forEach(je=>{R.delete(je.id)}),u.setState({nodeInternals:new Map(R)}))),Ke.length>0&&(ne==null||ne(ve),oe&&oe(Ke.map(je=>({id:je,type:"remove"})))),de.length>0&&(te==null||te(de),Y)){const je=de.map(ae=>({id:ae.id,type:"remove"}));Y(je)}}},[]),I=fe.useCallback(_=>{const F=Vln(_),R=F?null:u.getState().nodeInternals.get(_.id);return!F&&!R?[null,null,F]:[F?_:Dyt(R),R,F]},[]),C=fe.useCallback((_,F=!0,R)=>{const[B,G,z]=I(_);return B?(R||u.getState().getNodes()).filter(Q=>{if(!z&&(Q.id===G.id||!Q.positionAbsolute))return!1;const te=Dyt(Q),ne=n5e(te,B);return F&&ne>0||ne>=B.width*B.height}):[]},[]),M=fe.useCallback((_,F,R=!0)=>{const[B]=I(_);if(!B)return!1;const G=n5e(B,F);return R&&G>0||G>=B.width*B.height},[]);return fe.useMemo(()=>({...s,getNodes:f,getNode:d,getEdges:g,getEdge:m,setNodes:w,setEdges:S,addNodes:N,addEdges:T,toObject:P,deleteElements:O,getIntersectingNodes:C,isNodeIntersecting:M}),[s,f,d,g,m,w,S,N,T,P,O,C,M])}const Ian={actInsideInputWithModifier:!1};var Nan=({deleteKeyCode:s,multiSelectionKeyCode:u})=>{const f=wh(),{deleteElements:d}=U5t(),g=U$(s,Ian),m=U$(u);fe.useEffect(()=>{if(g){const{edges:w,getNodes:S}=f.getState(),N=S().filter(P=>P.selected),T=w.filter(P=>P.selected);d({nodes:N,edges:T}),f.setState({nodesSelectionActive:!1})}},[g]),fe.useEffect(()=>{f.setState({multiSelectionActive:m})},[m])};function Can(s){const u=wh();fe.useEffect(()=>{let f;const d=()=>{var m,w;if(!s.current)return;const g=D6e(s.current);(g.height===0||g.width===0)&&((w=(m=u.getState()).onError)==null||w.call(m,"004",Mx.error004())),u.setState({width:g.width||500,height:g.height||500})};return d(),window.addEventListener("resize",d),s.current&&(f=new ResizeObserver(()=>d()),f.observe(s.current)),()=>{window.removeEventListener("resize",d),f&&s.current&&f.unobserve(s.current)}},[])}const V6e={position:"absolute",width:"100%",height:"100%",top:0,left:0},Man=(s,u)=>s.x!==u.x||s.y!==u.y||s.zoom!==u.k,QQ=s=>({x:s.x,y:s.y,zoom:s.k}),xC=(s,u)=>s.target.closest(`.${u}`),Uyt=(s,u)=>u===2&&Array.isArray(s)&&s.includes(2),Gyt=s=>{const u=s.ctrlKey&&aee()?10:1;return-s.deltaY*(s.deltaMode===1?.05:s.deltaMode?1:.002)*u},Tan=s=>({d3Zoom:s.d3Zoom,d3Selection:s.d3Selection,d3ZoomHandler:s.d3ZoomHandler,userSelectionActive:s.userSelectionActive}),Aan=({onMove:s,onMoveStart:u,onMoveEnd:f,onPaneContextMenu:d,zoomOnScroll:g=!0,zoomOnPinch:m=!0,panOnScroll:w=!1,panOnScrollSpeed:S=.5,panOnScrollMode:N=j9.Free,zoomOnDoubleClick:T=!0,elementsSelectable:P,panOnDrag:O=!0,defaultViewport:I,translateExtent:C,minZoom:M,maxZoom:_,zoomActivationKeyCode:F,preventScrolling:R=!0,children:B,noWheelClassName:G,noPanClassName:z})=>{const Q=fe.useRef(),te=wh(),ne=fe.useRef(!1),Y=fe.useRef(!1),oe=fe.useRef(null),Z=fe.useRef({x:0,y:0,zoom:0}),{d3Zoom:re,d3Selection:de,d3ZoomHandler:U,userSelectionActive:se}=Iu(Tan,Fd),we=U$(F),ve=fe.useRef(0),Ke=fe.useRef(!1),je=fe.useRef();return Can(oe),fe.useEffect(()=>{if(oe.current){const ae=oe.current.getBoundingClientRect(),ge=Dln().scaleExtent([M,_]).translateExtent(C),_e=ov(oe.current).call(ge),Be=Z5.translate(I.x,I.y).scale(gM(I.zoom,M,_)),ht=[[0,0],[ae.width,ae.height]],xt=ge.constrain()(Be,ht,C);ge.transform(_e,xt),ge.wheelDelta(Gyt),te.setState({d3Zoom:ge,d3Selection:_e,d3ZoomHandler:_e.on("wheel.zoom"),transform:[xt.x,xt.y,xt.k],domNode:oe.current.closest(".react-flow")})}},[]),fe.useEffect(()=>{de&&re&&(w&&!we&&!se?de.on("wheel.zoom",ae=>{if(xC(ae,G))return!1;ae.preventDefault(),ae.stopImmediatePropagation();const ge=de.property("__zoom").k||1;if(ae.ctrlKey&&m){const Vt=ly(ae),Et=Gyt(ae),un=ge*Math.pow(2,Et);re.scaleTo(de,un,Vt,ae);return}const _e=ae.deltaMode===1?20:1;let Be=N===j9.Vertical?0:ae.deltaX*_e,ht=N===j9.Horizontal?0:ae.deltaY*_e;!aee()&&ae.shiftKey&&N!==j9.Vertical&&(Be=ae.deltaY*_e,ht=0),re.translateBy(de,-(Be/ge)*S,-(ht/ge)*S,{internal:!0});const xt=QQ(de.property("__zoom")),{onViewportChangeStart:ze,onViewportChange:Fe,onViewportChangeEnd:Ue}=te.getState();clearTimeout(je.current),Ke.current||(Ke.current=!0,u==null||u(ae,xt),ze==null||ze(xt)),Ke.current&&(s==null||s(ae,xt),Fe==null||Fe(xt),je.current=setTimeout(()=>{f==null||f(ae,xt),Ue==null||Ue(xt),Ke.current=!1},150))},{passive:!1}):typeof U<"u"&&de.on("wheel.zoom",function(ae,ge){if(!R&&ae.type==="wheel"&&!ae.ctrlKey||xC(ae,G))return null;ae.preventDefault(),U.call(this,ae,ge)},{passive:!1}))},[se,w,N,de,re,U,we,m,R,G,u,s,f]),fe.useEffect(()=>{re&&re.on("start",ae=>{var Be,ht;if(!ae.sourceEvent||ae.sourceEvent.internal)return null;ve.current=(Be=ae.sourceEvent)==null?void 0:Be.button;const{onViewportChangeStart:ge}=te.getState(),_e=QQ(ae.transform);ne.current=!0,Z.current=_e,((ht=ae.sourceEvent)==null?void 0:ht.type)==="mousedown"&&te.setState({paneDragging:!0}),ge==null||ge(_e),u==null||u(ae.sourceEvent,_e)})},[re,u]),fe.useEffect(()=>{re&&(se&&!ne.current?re.on("zoom",null):se||re.on("zoom",ae=>{var _e;const{onViewportChange:ge}=te.getState();if(te.setState({transform:[ae.transform.x,ae.transform.y,ae.transform.k]}),Y.current=!!(d&&Uyt(O,ve.current??0)),(s||ge)&&!((_e=ae.sourceEvent)!=null&&_e.internal)){const Be=QQ(ae.transform);ge==null||ge(Be),s==null||s(ae.sourceEvent,Be)}}))},[se,re,s,O,d]),fe.useEffect(()=>{re&&re.on("end",ae=>{if(!ae.sourceEvent||ae.sourceEvent.internal)return null;const{onViewportChangeEnd:ge}=te.getState();if(ne.current=!1,te.setState({paneDragging:!1}),d&&Uyt(O,ve.current??0)&&!Y.current&&d(ae.sourceEvent),Y.current=!1,(f||ge)&&Man(Z.current,ae.transform)){const _e=QQ(ae.transform);Z.current=_e,clearTimeout(Q.current),Q.current=setTimeout(()=>{ge==null||ge(_e),f==null||f(ae.sourceEvent,_e)},w?150:0)}})},[re,w,O,f,d]),fe.useEffect(()=>{re&&re.filter(ae=>{const ge=we||g,_e=m&&ae.ctrlKey;if((O===!0||Array.isArray(O)&&O.includes(1))&&ae.button===1&&ae.type==="mousedown"&&(xC(ae,"react-flow__node")||xC(ae,"react-flow__edge")))return!0;if(!O&&!ge&&!w&&!T&&!m||se||!T&&ae.type==="dblclick"||xC(ae,G)&&ae.type==="wheel"||xC(ae,z)&&(ae.type!=="wheel"||w&&ae.type==="wheel"&&!we)||!m&&ae.ctrlKey&&ae.type==="wheel"||!ge&&!w&&!_e&&ae.type==="wheel"||!O&&(ae.type==="mousedown"||ae.type==="touchstart")||Array.isArray(O)&&!O.includes(ae.button)&&ae.type==="mousedown")return!1;const Be=Array.isArray(O)&&O.includes(ae.button)||!ae.button||ae.button<=1;return(!ae.ctrlKey||ae.type==="wheel")&&Be})},[se,re,g,m,w,T,O,P,we]),In.createElement("div",{className:"react-flow__renderer",ref:oe,style:V6e},B)},Pan=s=>({userSelectionActive:s.userSelectionActive,userSelectionRect:s.userSelectionRect});function _an(){const{userSelectionActive:s,userSelectionRect:u}=Iu(Pan,Fd);return s&&u?In.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:u.width,height:u.height,transform:`translate(${u.x}px, ${u.y}px)`}}):null}function Wyt(s,u){const f=u.parentNode||u.parentId,d=s.find(g=>g.id===f);if(d){const g=u.position.x+u.width-d.width,m=u.position.y+u.height-d.height;if(g>0||m>0||u.position.x<0||u.position.y<0){if(d.style={...d.style},d.style.width=d.style.width??d.width,d.style.height=d.style.height??d.height,g>0&&(d.style.width+=g),m>0&&(d.style.height+=m),u.position.x<0){const w=Math.abs(u.position.x);d.position.x=d.position.x-w,d.style.width+=w,u.position.x=0}if(u.position.y<0){const w=Math.abs(u.position.y);d.position.y=d.position.y-w,d.style.height+=w,u.position.y=0}d.width=d.style.width,d.height=d.style.height}}}function G5t(s,u){if(s.some(d=>d.type==="reset"))return s.filter(d=>d.type==="reset").map(d=>d.item);const f=s.filter(d=>d.type==="add").map(d=>d.item);return u.reduce((d,g)=>{const m=s.filter(S=>S.id===g.id);if(m.length===0)return d.push(g),d;const w={...g};for(const S of m)if(S)switch(S.type){case"select":{w.selected=S.selected;break}case"position":{typeof S.position<"u"&&(w.position=S.position),typeof S.positionAbsolute<"u"&&(w.positionAbsolute=S.positionAbsolute),typeof S.dragging<"u"&&(w.dragging=S.dragging),w.expandParent&&Wyt(d,w);break}case"dimensions":{typeof S.dimensions<"u"&&(w.width=S.dimensions.width,w.height=S.dimensions.height),typeof S.updateStyle<"u"&&(w.style={...w.style||{},...S.dimensions}),typeof S.resizing=="boolean"&&(w.resizing=S.resizing),w.expandParent&&Wyt(d,w);break}case"remove":return d}return d.push(w),d},f)}function W5t(s,u){return G5t(s,u)}function Oan(s,u){return G5t(s,u)}const $5=(s,u)=>({id:s,type:"select",selected:u});function qC(s,u){return s.reduce((f,d)=>{const g=u.includes(d.id);return!d.selected&&g?(d.selected=!0,f.push($5(d.id,!0))):d.selected&&!g&&(d.selected=!1,f.push($5(d.id,!1))),f},[])}const x4e=(s,u)=>f=>{f.target===u.current&&(s==null||s(f))},Lan=s=>({userSelectionActive:s.userSelectionActive,elementsSelectable:s.elementsSelectable,dragging:s.paneDragging}),X5t=fe.memo(({isSelecting:s,selectionMode:u=z$.Full,panOnDrag:f,onSelectionStart:d,onSelectionEnd:g,onPaneClick:m,onPaneContextMenu:w,onPaneScroll:S,onPaneMouseEnter:N,onPaneMouseMove:T,onPaneMouseLeave:P,children:O})=>{const I=fe.useRef(null),C=wh(),M=fe.useRef(0),_=fe.useRef(0),F=fe.useRef(),{userSelectionActive:R,elementsSelectable:B,dragging:G}=Iu(Lan,Fd),z=()=>{C.setState({userSelectionActive:!1,userSelectionRect:null}),M.current=0,_.current=0},Q=U=>{m==null||m(U),C.getState().resetSelectedElements(),C.setState({nodesSelectionActive:!1})},te=U=>{if(Array.isArray(f)&&(f!=null&&f.includes(2))){U.preventDefault();return}w==null||w(U)},ne=S?U=>S(U):void 0,Y=U=>{const{resetSelectedElements:se,domNode:we}=C.getState();if(F.current=we==null?void 0:we.getBoundingClientRect(),!B||!s||U.button!==0||U.target!==I.current||!F.current)return;const{x:ve,y:Ke}=e6(U,F.current);se(),C.setState({userSelectionRect:{width:0,height:0,startX:ve,startY:Ke,x:ve,y:Ke}}),d==null||d(U)},oe=U=>{const{userSelectionRect:se,nodeInternals:we,edges:ve,transform:Ke,onNodesChange:je,onEdgesChange:ae,nodeOrigin:ge,getNodes:_e}=C.getState();if(!s||!F.current||!se)return;C.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Be=e6(U,F.current),ht=se.startX??0,xt=se.startY??0,ze={...se,x:Be.xun.id),Et=Ue.map(un=>un.id);if(M.current!==Et.length){M.current=Et.length;const un=qC(Fe,Et);un.length&&(je==null||je(un))}if(_.current!==Vt.length){_.current=Vt.length;const un=qC(ve,Vt);un.length&&(ae==null||ae(un))}C.setState({userSelectionRect:ze})},Z=U=>{if(U.button!==0)return;const{userSelectionRect:se}=C.getState();!R&&se&&U.target===I.current&&(Q==null||Q(U)),C.setState({nodesSelectionActive:M.current>0}),z(),g==null||g(U)},re=U=>{R&&(C.setState({nodesSelectionActive:M.current>0}),g==null||g(U)),z()},de=B&&(s||R);return In.createElement("div",{className:jg(["react-flow__pane",{dragging:G,selection:s}]),onClick:de?void 0:x4e(Q,I),onContextMenu:x4e(te,I),onWheel:x4e(ne,I),onMouseEnter:de?void 0:N,onMouseDown:de?Y:void 0,onMouseMove:de?oe:T,onMouseUp:de?Z:void 0,onMouseLeave:de?re:P,ref:I,style:V6e},O,In.createElement(_an,null))});X5t.displayName="Pane";function J5t(s,u){const f=s.parentNode||s.parentId;if(!f)return!1;const d=u.get(f);return d?d.selected?!0:J5t(d,u):!1}function Xyt(s,u,f){let d=s;do{if(d!=null&&d.matches(u))return!0;if(d===f.current)return!1;d=d.parentElement}while(d);return!1}function Dan(s,u,f,d){return Array.from(s.values()).filter(g=>(g.selected||g.id===d)&&(!g.parentNode||g.parentId||!J5t(g,s))&&(g.draggable||u&&typeof g.draggable>"u")).map(g=>{var m,w;return{id:g.id,position:g.position||{x:0,y:0},positionAbsolute:g.positionAbsolute||{x:0,y:0},distance:{x:f.x-(((m=g.positionAbsolute)==null?void 0:m.x)??0),y:f.y-(((w=g.positionAbsolute)==null?void 0:w.y)??0)},delta:{x:0,y:0},extent:g.extent,parentNode:g.parentNode||g.parentId,parentId:g.parentNode||g.parentId,width:g.width,height:g.height,expandParent:g.expandParent}})}function Ran(s,u){return!u||u==="parent"?u:[u[0],[u[1][0]-(s.width||0),u[1][1]-(s.height||0)]]}function Y5t(s,u,f,d,g=[0,0],m){const w=Ran(s,s.extent||d);let S=w;const N=s.parentNode||s.parentId;if(s.extent==="parent"&&!s.expandParent)if(N&&s.width&&s.height){const O=f.get(N),{x:I,y:C}=ZC(O,g).positionAbsolute;S=O&&db(I)&&db(C)&&db(O.width)&&db(O.height)?[[I+s.width*g[0],C+s.height*g[1]],[I+O.width-s.width+s.width*g[0],C+O.height-s.height+s.height*g[1]]]:S}else m==null||m("005",Mx.error005()),S=w;else if(s.extent&&N&&s.extent!=="parent"){const O=f.get(N),{x:I,y:C}=ZC(O,g).positionAbsolute;S=[[s.extent[0][0]+I,s.extent[0][1]+C],[s.extent[1][0]+I,s.extent[1][1]+C]]}let T={x:0,y:0};if(N){const O=f.get(N);T=ZC(O,g).positionAbsolute}const P=S&&S!=="parent"?R6e(u,S):u;return{position:{x:P.x-T.x,y:P.y-T.y},positionAbsolute:P}}function k4e({nodeId:s,dragItems:u,nodeInternals:f}){const d=u.map(g=>({...f.get(g.id),position:g.position,positionAbsolute:g.positionAbsolute}));return[s?d.find(g=>g.id===s):d[0],d]}const Jyt=(s,u,f,d)=>{const g=u.querySelectorAll(s);if(!g||!g.length)return null;const m=Array.from(g),w=u.getBoundingClientRect(),S={x:w.width*d[0],y:w.height*d[1]};return m.map(N=>{const T=N.getBoundingClientRect();return{id:N.getAttribute("data-handleid"),position:N.getAttribute("data-handlepos"),x:(T.left-w.left-S.x)/f,y:(T.top-w.top-S.y)/f,...D6e(N)}})};function YR(s,u,f){return f===void 0?f:d=>{const g=u().nodeInternals.get(s);g&&f(d,{...g})}}function u5e({id:s,store:u,unselect:f=!1,nodeRef:d}){const{addSelectedNodes:g,unselectNodesAndEdges:m,multiSelectionActive:w,nodeInternals:S,onError:N}=u.getState(),T=S.get(s);if(!T){N==null||N("012",Mx.error012(s));return}u.setState({nodesSelectionActive:!1}),T.selected?(f||T.selected&&w)&&(m({nodes:[T],edges:[]}),requestAnimationFrame(()=>{var P;return(P=d==null?void 0:d.current)==null?void 0:P.blur()})):g([s])}function $an(){const s=wh();return fe.useCallback(({sourceEvent:f})=>{const{transform:d,snapGrid:g,snapToGrid:m}=s.getState(),w=f.touches?f.touches[0].clientX:f.clientX,S=f.touches?f.touches[0].clientY:f.clientY,N={x:(w-d[0])/d[2],y:(S-d[1])/d[2]};return{xSnapped:m?g[0]*Math.round(N.x/g[0]):N.x,ySnapped:m?g[1]*Math.round(N.y/g[1]):N.y,...N}},[])}function j4e(s){return(u,f,d)=>s==null?void 0:s(u,d)}function Q5t({nodeRef:s,disabled:u=!1,noDragClassName:f,handleSelector:d,nodeId:g,isSelectable:m,selectNodesOnDrag:w}){const S=wh(),[N,T]=fe.useState(!1),P=fe.useRef([]),O=fe.useRef({x:null,y:null}),I=fe.useRef(0),C=fe.useRef(null),M=fe.useRef({x:0,y:0}),_=fe.useRef(null),F=fe.useRef(!1),R=fe.useRef(!1),B=fe.useRef(!1),G=$an();return fe.useEffect(()=>{if(s!=null&&s.current){const z=ov(s.current),Q=({x:Y,y:oe})=>{const{nodeInternals:Z,onNodeDrag:re,onSelectionDrag:de,updateNodePositions:U,nodeExtent:se,snapGrid:we,snapToGrid:ve,nodeOrigin:Ke,onError:je}=S.getState();O.current={x:Y,y:oe};let ae=!1,ge={x:0,y:0,x2:0,y2:0};if(P.current.length>1&&se){const Be=eM(P.current,Ke);ge=$6e(Be)}if(P.current=P.current.map(Be=>{const ht={x:Y-Be.distance.x,y:oe-Be.distance.y};ve&&(ht.x=we[0]*Math.round(ht.x/we[0]),ht.y=we[1]*Math.round(ht.y/we[1]));const xt=[[se[0][0],se[0][1]],[se[1][0],se[1][1]]];P.current.length>1&&se&&!Be.extent&&(xt[0][0]=Be.positionAbsolute.x-ge.x+se[0][0],xt[1][0]=Be.positionAbsolute.x+(Be.width??0)-ge.x2+se[1][0],xt[0][1]=Be.positionAbsolute.y-ge.y+se[0][1],xt[1][1]=Be.positionAbsolute.y+(Be.height??0)-ge.y2+se[1][1]);const ze=Y5t(Be,ht,Z,xt,Ke,je);return ae=ae||Be.position.x!==ze.position.x||Be.position.y!==ze.position.y,Be.position=ze.position,Be.positionAbsolute=ze.positionAbsolute,Be}),!ae)return;U(P.current,!0,!0),T(!0);const _e=g?re:j4e(de);if(_e&&_.current){const[Be,ht]=k4e({nodeId:g,dragItems:P.current,nodeInternals:Z});_e(_.current,Be,ht)}},te=()=>{if(!C.current)return;const[Y,oe]=y5t(M.current,C.current);if(Y!==0||oe!==0){const{transform:Z,panBy:re}=S.getState();O.current.x=(O.current.x??0)-Y/Z[2],O.current.y=(O.current.y??0)-oe/Z[2],re({x:Y,y:oe})&&Q(O.current)}I.current=requestAnimationFrame(te)},ne=Y=>{var Ke;const{nodeInternals:oe,multiSelectionActive:Z,nodesDraggable:re,unselectNodesAndEdges:de,onNodeDragStart:U,onSelectionDragStart:se}=S.getState();R.current=!0;const we=g?U:j4e(se);(!w||!m)&&!Z&&g&&((Ke=oe.get(g))!=null&&Ke.selected||de()),g&&m&&w&&u5e({id:g,store:S,nodeRef:s});const ve=G(Y);if(O.current=ve,P.current=Dan(oe,re,ve,g),we&&P.current){const[je,ae]=k4e({nodeId:g,dragItems:P.current,nodeInternals:oe});we(Y.sourceEvent,je,ae)}};if(u)z.on(".drag",null);else{const Y=o5t().on("start",oe=>{const{domNode:Z,nodeDragThreshold:re}=S.getState();re===0&&ne(oe),B.current=!1;const de=G(oe);O.current=de,C.current=(Z==null?void 0:Z.getBoundingClientRect())||null,M.current=e6(oe.sourceEvent,C.current)}).on("drag",oe=>{var U,se;const Z=G(oe),{autoPanOnNodeDrag:re,nodeDragThreshold:de}=S.getState();if(oe.sourceEvent.type==="touchmove"&&oe.sourceEvent.touches.length>1&&(B.current=!0),!B.current){if(!F.current&&R.current&&re&&(F.current=!0,te()),!R.current){const we=Z.xSnapped-(((U=O==null?void 0:O.current)==null?void 0:U.x)??0),ve=Z.ySnapped-(((se=O==null?void 0:O.current)==null?void 0:se.y)??0);Math.sqrt(we*we+ve*ve)>de&&ne(oe)}(O.current.x!==Z.xSnapped||O.current.y!==Z.ySnapped)&&P.current&&R.current&&(_.current=oe.sourceEvent,M.current=e6(oe.sourceEvent,C.current),Q(Z))}}).on("end",oe=>{if(!(!R.current||B.current)&&(T(!1),F.current=!1,R.current=!1,cancelAnimationFrame(I.current),P.current)){const{updateNodePositions:Z,nodeInternals:re,onNodeDragStop:de,onSelectionDragStop:U}=S.getState(),se=g?de:j4e(U);if(Z(P.current,!1,!1),se){const[we,ve]=k4e({nodeId:g,dragItems:P.current,nodeInternals:re});se(oe.sourceEvent,we,ve)}}}).filter(oe=>{const Z=oe.target;return!oe.button&&(!f||!Xyt(Z,`.${f}`,s))&&(!d||Xyt(Z,d,s))});return z.call(Y),()=>{z.on(".drag",null)}}}},[s,u,f,d,m,S,g,w,G]),N}function Z5t(){const s=wh();return fe.useCallback(f=>{const{nodeInternals:d,nodeExtent:g,updateNodePositions:m,getNodes:w,snapToGrid:S,snapGrid:N,onError:T,nodesDraggable:P}=s.getState(),O=w().filter(B=>B.selected&&(B.draggable||P&&typeof B.draggable>"u")),I=S?N[0]:5,C=S?N[1]:5,M=f.isShiftPressed?4:1,_=f.x*I*M,F=f.y*C*M,R=O.map(B=>{if(B.positionAbsolute){const G={x:B.positionAbsolute.x+_,y:B.positionAbsolute.y+F};S&&(G.x=N[0]*Math.round(G.x/N[0]),G.y=N[1]*Math.round(G.y/N[1]));const{positionAbsolute:z,position:Q}=Y5t(B,G,d,g,void 0,T);B.position=Q,B.positionAbsolute=z}return B});m(R,!0,!1)},[])}const tM={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var QR=s=>{const u=({id:f,type:d,data:g,xPos:m,yPos:w,xPosOrigin:S,yPosOrigin:N,selected:T,onClick:P,onMouseEnter:O,onMouseMove:I,onMouseLeave:C,onContextMenu:M,onDoubleClick:_,style:F,className:R,isDraggable:B,isSelectable:G,isConnectable:z,isFocusable:Q,selectNodesOnDrag:te,sourcePosition:ne,targetPosition:Y,hidden:oe,resizeObserver:Z,dragHandle:re,zIndex:de,isParent:U,noDragClassName:se,noPanClassName:we,initialized:ve,disableKeyboardA11y:Ke,ariaLabel:je,rfId:ae,hasHandleBounds:ge})=>{const _e=wh(),Be=fe.useRef(null),ht=fe.useRef(null),xt=fe.useRef(ne),ze=fe.useRef(Y),Fe=fe.useRef(d),Ue=G||B||P||O||I||C,Vt=Z5t(),Et=YR(f,_e.getState,O),un=YR(f,_e.getState,I),Bn=YR(f,_e.getState,C),vn=YR(f,_e.getState,M),ft=YR(f,_e.getState,_),zt=ln=>{const{nodeDragThreshold:Dt}=_e.getState();if(G&&(!te||!B||Dt>0)&&u5e({id:f,store:_e,nodeRef:Be}),P){const ji=_e.getState().nodeInternals.get(f);ji&&P(ln,{...ji})}},vt=ln=>{if(!i5e(ln)&&!Ke)if(k5t.includes(ln.key)&&G){const Dt=ln.key==="Escape";u5e({id:f,store:_e,unselect:Dt,nodeRef:Be})}else B&&T&&Object.prototype.hasOwnProperty.call(tM,ln.key)&&(_e.setState({ariaLiveMessage:`Moved selected node ${ln.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~m}, y: ${~~w}`}),Vt({x:tM[ln.key].x,y:tM[ln.key].y,isShiftPressed:ln.shiftKey}))};fe.useEffect(()=>()=>{ht.current&&(Z==null||Z.unobserve(ht.current),ht.current=null)},[]),fe.useEffect(()=>{if(Be.current&&!oe){const ln=Be.current;(!ve||!ge||ht.current!==ln)&&(ht.current&&(Z==null||Z.unobserve(ht.current)),Z==null||Z.observe(ln),ht.current=ln)}},[oe,ve,ge]),fe.useEffect(()=>{const ln=Fe.current!==d,Dt=xt.current!==ne,ji=ze.current!==Y;Be.current&&(ln||Dt||ji)&&(ln&&(Fe.current=d),Dt&&(xt.current=ne),ji&&(ze.current=Y),_e.getState().updateNodeDimensions([{id:f,nodeElement:Be.current,forceUpdate:!0}]))},[f,d,ne,Y]);const pn=Q5t({nodeRef:Be,disabled:oe||!B,noDragClassName:se,handleSelector:re,nodeId:f,isSelectable:G,selectNodesOnDrag:te});return oe?null:In.createElement("div",{className:jg(["react-flow__node",`react-flow__node-${d}`,{[we]:B},R,{selected:T,selectable:G,parent:U,dragging:pn}]),ref:Be,style:{zIndex:de,transform:`translate(${S}px,${N}px)`,pointerEvents:Ue?"all":"none",visibility:ve?"visible":"hidden",...F},"data-id":f,"data-testid":`rf__node-${f}`,onMouseEnter:Et,onMouseMove:un,onMouseLeave:Bn,onContextMenu:vn,onClick:zt,onDoubleClick:ft,onKeyDown:Q?vt:void 0,tabIndex:Q?0:void 0,role:Q?"button":void 0,"aria-describedby":Ke?void 0:`${H5t}-${ae}`,"aria-label":je},In.createElement(Qln,{value:f},In.createElement(s,{id:f,data:g,type:d,xPos:m,yPos:w,selected:T,isConnectable:z,sourcePosition:ne,targetPosition:Y,dragging:pn,dragHandle:re,zIndex:de})))};return u.displayName="NodeWrapper",fe.memo(u)};const Fan=s=>{const u=s.getNodes().filter(f=>f.selected);return{...eM(u,s.nodeOrigin),transformString:`translate(${s.transform[0]}px,${s.transform[1]}px) scale(${s.transform[2]})`,userSelectionActive:s.userSelectionActive}};function Ban({onSelectionContextMenu:s,noPanClassName:u,disableKeyboardA11y:f}){const d=wh(),{width:g,height:m,x:w,y:S,transformString:N,userSelectionActive:T}=Iu(Fan,Fd),P=Z5t(),O=fe.useRef(null);if(fe.useEffect(()=>{var M;f||(M=O.current)==null||M.focus({preventScroll:!0})},[f]),Q5t({nodeRef:O}),T||!g||!m)return null;const I=s?M=>{const _=d.getState().getNodes().filter(F=>F.selected);s(M,_)}:void 0,C=M=>{Object.prototype.hasOwnProperty.call(tM,M.key)&&P({x:tM[M.key].x,y:tM[M.key].y,isShiftPressed:M.shiftKey})};return In.createElement("div",{className:jg(["react-flow__nodesselection","react-flow__container",u]),style:{transform:N}},In.createElement("div",{ref:O,className:"react-flow__nodesselection-rect",onContextMenu:I,tabIndex:f?void 0:-1,onKeyDown:f?void 0:C,style:{width:g,height:m,top:S,left:w}}))}var Han=fe.memo(Ban);const Kan=s=>s.nodesSelectionActive,e6t=({children:s,onPaneClick:u,onPaneMouseEnter:f,onPaneMouseMove:d,onPaneMouseLeave:g,onPaneContextMenu:m,onPaneScroll:w,deleteKeyCode:S,onMove:N,onMoveStart:T,onMoveEnd:P,selectionKeyCode:O,selectionOnDrag:I,selectionMode:C,onSelectionStart:M,onSelectionEnd:_,multiSelectionKeyCode:F,panActivationKeyCode:R,zoomActivationKeyCode:B,elementsSelectable:G,zoomOnScroll:z,zoomOnPinch:Q,panOnScroll:te,panOnScrollSpeed:ne,panOnScrollMode:Y,zoomOnDoubleClick:oe,panOnDrag:Z,defaultViewport:re,translateExtent:de,minZoom:U,maxZoom:se,preventScrolling:we,onSelectionContextMenu:ve,noWheelClassName:Ke,noPanClassName:je,disableKeyboardA11y:ae})=>{const ge=Iu(Kan),_e=U$(O),Be=U$(R),ht=Be||Z,xt=Be||te,ze=_e||I&&ht!==!0;return Nan({deleteKeyCode:S,multiSelectionKeyCode:F}),In.createElement(Aan,{onMove:N,onMoveStart:T,onMoveEnd:P,onPaneContextMenu:m,elementsSelectable:G,zoomOnScroll:z,zoomOnPinch:Q,panOnScroll:xt,panOnScrollSpeed:ne,panOnScrollMode:Y,zoomOnDoubleClick:oe,panOnDrag:!_e&&ht,defaultViewport:re,translateExtent:de,minZoom:U,maxZoom:se,zoomActivationKeyCode:B,preventScrolling:we,noWheelClassName:Ke,noPanClassName:je},In.createElement(X5t,{onSelectionStart:M,onSelectionEnd:_,onPaneClick:u,onPaneMouseEnter:f,onPaneMouseMove:d,onPaneMouseLeave:g,onPaneContextMenu:m,onPaneScroll:w,panOnDrag:ht,isSelecting:!!ze,selectionMode:C},s,ge&&In.createElement(Han,{onSelectionContextMenu:ve,noPanClassName:je,disableKeyboardA11y:ae})))};e6t.displayName="FlowRenderer";var qan=fe.memo(e6t);function zan(s){return Iu(fe.useCallback(f=>s?M5t(f.nodeInternals,{x:0,y:0,width:f.width,height:f.height},f.transform,!0):f.getNodes(),[s]))}function Van(s){const u={input:QR(s.input||R5t),default:QR(s.default||c5e),output:QR(s.output||F5t),group:QR(s.group||z6e)},f={},d=Object.keys(s).filter(g=>!["input","default","output","group"].includes(g)).reduce((g,m)=>(g[m]=QR(s[m]||c5e),g),f);return{...u,...d}}const Uan=({x:s,y:u,width:f,height:d,origin:g})=>!f||!d?{x:s,y:u}:g[0]<0||g[1]<0||g[0]>1||g[1]>1?{x:s,y:u}:{x:s-f*g[0],y:u-d*g[1]},Gan=s=>({nodesDraggable:s.nodesDraggable,nodesConnectable:s.nodesConnectable,nodesFocusable:s.nodesFocusable,elementsSelectable:s.elementsSelectable,updateNodeDimensions:s.updateNodeDimensions,onError:s.onError}),t6t=s=>{const{nodesDraggable:u,nodesConnectable:f,nodesFocusable:d,elementsSelectable:g,updateNodeDimensions:m,onError:w}=Iu(Gan,Fd),S=zan(s.onlyRenderVisibleElements),N=fe.useRef(),T=fe.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const P=new ResizeObserver(O=>{const I=O.map(C=>({id:C.target.getAttribute("data-id"),nodeElement:C.target,forceUpdate:!0}));m(I)});return N.current=P,P},[]);return fe.useEffect(()=>()=>{var P;(P=N==null?void 0:N.current)==null||P.disconnect()},[]),In.createElement("div",{className:"react-flow__nodes",style:V6e},S.map(P=>{var Q,te,ne;let O=P.type||"default";s.nodeTypes[O]||(w==null||w("003",Mx.error003(O)),O="default");const I=s.nodeTypes[O]||s.nodeTypes.default,C=!!(P.draggable||u&&typeof P.draggable>"u"),M=!!(P.selectable||g&&typeof P.selectable>"u"),_=!!(P.connectable||f&&typeof P.connectable>"u"),F=!!(P.focusable||d&&typeof P.focusable>"u"),R=s.nodeExtent?R6e(P.positionAbsolute,s.nodeExtent):P.positionAbsolute,B=(R==null?void 0:R.x)??0,G=(R==null?void 0:R.y)??0,z=Uan({x:B,y:G,width:P.width??0,height:P.height??0,origin:s.nodeOrigin});return In.createElement(I,{key:P.id,id:P.id,className:P.className,style:P.style,type:O,data:P.data,sourcePosition:P.sourcePosition||Xn.Bottom,targetPosition:P.targetPosition||Xn.Top,hidden:P.hidden,xPos:B,yPos:G,xPosOrigin:z.x,yPosOrigin:z.y,selectNodesOnDrag:s.selectNodesOnDrag,onClick:s.onNodeClick,onMouseEnter:s.onNodeMouseEnter,onMouseMove:s.onNodeMouseMove,onMouseLeave:s.onNodeMouseLeave,onContextMenu:s.onNodeContextMenu,onDoubleClick:s.onNodeDoubleClick,selected:!!P.selected,isDraggable:C,isSelectable:M,isConnectable:_,isFocusable:F,resizeObserver:T,dragHandle:P.dragHandle,zIndex:((Q=P[ra])==null?void 0:Q.z)??0,isParent:!!((te=P[ra])!=null&&te.isParent),noDragClassName:s.noDragClassName,noPanClassName:s.noPanClassName,initialized:!!P.width&&!!P.height,rfId:s.rfId,disableKeyboardA11y:s.disableKeyboardA11y,ariaLabel:P.ariaLabel,hasHandleBounds:!!((ne=P[ra])!=null&&ne.handleBounds)})}))};t6t.displayName="NodeRenderer";var Wan=fe.memo(t6t);const Xan=(s,u,f)=>f===Xn.Left?s-u:f===Xn.Right?s+u:s,Jan=(s,u,f)=>f===Xn.Top?s-u:f===Xn.Bottom?s+u:s,Yyt="react-flow__edgeupdater",Qyt=({position:s,centerX:u,centerY:f,radius:d=10,onMouseDown:g,onMouseEnter:m,onMouseOut:w,type:S})=>In.createElement("circle",{onMouseDown:g,onMouseEnter:m,onMouseOut:w,className:jg([Yyt,`${Yyt}-${S}`]),cx:Xan(u,d,s),cy:Jan(f,d,s),r:d,stroke:"transparent",fill:"transparent"}),Yan=()=>!0;var kC=s=>{const u=({id:f,className:d,type:g,data:m,onClick:w,onEdgeDoubleClick:S,selected:N,animated:T,label:P,labelStyle:O,labelShowBg:I,labelBgStyle:C,labelBgPadding:M,labelBgBorderRadius:_,style:F,source:R,target:B,sourceX:G,sourceY:z,targetX:Q,targetY:te,sourcePosition:ne,targetPosition:Y,elementsSelectable:oe,hidden:Z,sourceHandleId:re,targetHandleId:de,onContextMenu:U,onMouseEnter:se,onMouseMove:we,onMouseLeave:ve,reconnectRadius:Ke,onReconnect:je,onReconnectStart:ae,onReconnectEnd:ge,markerEnd:_e,markerStart:Be,rfId:ht,ariaLabel:xt,isFocusable:ze,isReconnectable:Fe,pathOptions:Ue,interactionWidth:Vt,disableKeyboardA11y:Et})=>{const un=fe.useRef(null),[Bn,vn]=fe.useState(!1),[ft,zt]=fe.useState(!1),vt=wh(),pn=fe.useMemo(()=>`url('#${s5e(Be,ht)}')`,[Be,ht]),ln=fe.useMemo(()=>`url('#${s5e(_e,ht)}')`,[_e,ht]);if(Z)return null;const Dt=Rt=>{var yr;const{edges:hi,addSelectedEdges:Ki,unselectNodesAndEdges:pr,multiSelectionActive:ds}=vt.getState(),Bs=hi.find(Er=>Er.id===f);Bs&&(oe&&(vt.setState({nodesSelectionActive:!1}),Bs.selected&&ds?(pr({nodes:[],edges:[Bs]}),(yr=un.current)==null||yr.blur()):Ki([f])),w&&w(Rt,Bs))},ji=JR(f,vt.getState,S),Hi=JR(f,vt.getState,U),Wr=JR(f,vt.getState,se),Vo=JR(f,vt.getState,we),ni=JR(f,vt.getState,ve),oi=(Rt,hi)=>{if(Rt.button!==0)return;const{edges:Ki,isValidConnection:pr}=vt.getState(),ds=hi?B:R,Bs=(hi?de:re)||null,yr=hi?"target":"source",Er=pr||Yan,Hs=hi,eu=Ki.find(tu=>tu.id===f);zt(!0),ae==null||ae(Rt,eu,yr);const Cu=tu=>{zt(!1),ge==null||ge(tu,eu,yr)};_5t({event:Rt,handleId:Bs,nodeId:ds,onConnect:tu=>je==null?void 0:je(eu,tu),isTarget:Hs,getState:vt.getState,setState:vt.setState,isValidConnection:Er,edgeUpdaterType:yr,onReconnectEnd:Cu})},Hr=Rt=>oi(Rt,!0),Ro=Rt=>oi(Rt,!1),Fs=()=>vn(!0),oa=()=>vn(!1),Nu=!oe&&!w,Z0=Rt=>{var hi;if(!Et&&k5t.includes(Rt.key)&&oe){const{unselectNodesAndEdges:Ki,addSelectedEdges:pr,edges:ds}=vt.getState();Rt.key==="Escape"?((hi=un.current)==null||hi.blur(),Ki({edges:[ds.find(yr=>yr.id===f)]})):pr([f])}};return In.createElement("g",{className:jg(["react-flow__edge",`react-flow__edge-${g}`,d,{selected:N,animated:T,inactive:Nu,updating:Bn}]),onClick:Dt,onDoubleClick:ji,onContextMenu:Hi,onMouseEnter:Wr,onMouseMove:Vo,onMouseLeave:ni,onKeyDown:ze?Z0:void 0,tabIndex:ze?0:void 0,role:ze?"button":"img","data-testid":`rf__edge-${f}`,"aria-label":xt===null?void 0:xt||`Edge from ${R} to ${B}`,"aria-describedby":ze?`${K5t}-${ht}`:void 0,ref:un},!ft&&In.createElement(s,{id:f,source:R,target:B,selected:N,animated:T,label:P,labelStyle:O,labelShowBg:I,labelBgStyle:C,labelBgPadding:M,labelBgBorderRadius:_,data:m,style:F,sourceX:G,sourceY:z,targetX:Q,targetY:te,sourcePosition:ne,targetPosition:Y,sourceHandleId:re,targetHandleId:de,markerStart:pn,markerEnd:ln,pathOptions:Ue,interactionWidth:Vt}),Fe&&In.createElement(In.Fragment,null,(Fe==="source"||Fe===!0)&&In.createElement(Qyt,{position:ne,centerX:G,centerY:z,radius:Ke,onMouseDown:Hr,onMouseEnter:Fs,onMouseOut:oa,type:"source"}),(Fe==="target"||Fe===!0)&&In.createElement(Qyt,{position:Y,centerX:Q,centerY:te,radius:Ke,onMouseDown:Ro,onMouseEnter:Fs,onMouseOut:oa,type:"target"})))};return u.displayName="EdgeWrapper",fe.memo(u)};function Qan(s){const u={default:kC(s.default||fee),straight:kC(s.bezier||H6e),step:kC(s.step||B6e),smoothstep:kC(s.step||Xee),simplebezier:kC(s.simplebezier||F6e)},f={},d=Object.keys(s).filter(g=>!["default","bezier"].includes(g)).reduce((g,m)=>(g[m]=kC(s[m]||fee),g),f);return{...u,...d}}function Zyt(s,u,f=null){const d=((f==null?void 0:f.x)||0)+u.x,g=((f==null?void 0:f.y)||0)+u.y,m=(f==null?void 0:f.width)||u.width,w=(f==null?void 0:f.height)||u.height;switch(s){case Xn.Top:return{x:d+m/2,y:g};case Xn.Right:return{x:d+m,y:g+w/2};case Xn.Bottom:return{x:d+m/2,y:g+w};case Xn.Left:return{x:d,y:g+w/2}}}function e3t(s,u){return s?s.length===1||!u?s[0]:u&&s.find(f=>f.id===u)||null:null}const Zan=(s,u,f,d,g,m)=>{const w=Zyt(f,s,u),S=Zyt(m,d,g);return{sourceX:w.x,sourceY:w.y,targetX:S.x,targetY:S.y}};function efn({sourcePos:s,targetPos:u,sourceWidth:f,sourceHeight:d,targetWidth:g,targetHeight:m,width:w,height:S,transform:N}){const T={x:Math.min(s.x,u.x),y:Math.min(s.y,u.y),x2:Math.max(s.x+f,u.x+g),y2:Math.max(s.y+d,u.y+m)};T.x===T.x2&&(T.x2+=1),T.y===T.y2&&(T.y2+=1);const P=$6e({x:(0-N[0])/N[2],y:(0-N[1])/N[2],width:w/N[2],height:S/N[2]}),O=Math.max(0,Math.min(P.x2,T.x2)-Math.max(P.x,T.x)),I=Math.max(0,Math.min(P.y2,T.y2)-Math.max(P.y,T.y));return Math.ceil(O*I)>0}function t3t(s){var d,g,m,w,S;const u=((d=s==null?void 0:s[ra])==null?void 0:d.handleBounds)||null,f=u&&(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&typeof((g=s==null?void 0:s.positionAbsolute)==null?void 0:g.x)<"u"&&typeof((m=s==null?void 0:s.positionAbsolute)==null?void 0:m.y)<"u";return[{x:((w=s==null?void 0:s.positionAbsolute)==null?void 0:w.x)||0,y:((S=s==null?void 0:s.positionAbsolute)==null?void 0:S.y)||0,width:(s==null?void 0:s.width)||0,height:(s==null?void 0:s.height)||0},u,!!f]}const tfn=[{level:0,isMaxLevel:!0,edges:[]}];function nfn(s,u,f=!1){let d=-1;const g=s.reduce((w,S)=>{var P,O;const N=db(S.zIndex);let T=N?S.zIndex:0;if(f){const I=u.get(S.target),C=u.get(S.source),M=S.selected||(I==null?void 0:I.selected)||(C==null?void 0:C.selected),_=Math.max(((P=C==null?void 0:C[ra])==null?void 0:P.z)||0,((O=I==null?void 0:I[ra])==null?void 0:O.z)||0,1e3);T=(N?S.zIndex:0)+(M?_:0)}return w[T]?w[T].push(S):w[T]=[S],d=T>d?T:d,w},{}),m=Object.entries(g).map(([w,S])=>{const N=+w;return{edges:S,level:N,isMaxLevel:N===d}});return m.length===0?tfn:m}function ifn(s,u,f){const d=Iu(fe.useCallback(g=>s?g.edges.filter(m=>{const w=u.get(m.source),S=u.get(m.target);return(w==null?void 0:w.width)&&(w==null?void 0:w.height)&&(S==null?void 0:S.width)&&(S==null?void 0:S.height)&&efn({sourcePos:w.positionAbsolute||{x:0,y:0},targetPos:S.positionAbsolute||{x:0,y:0},sourceWidth:w.width,sourceHeight:w.height,targetWidth:S.width,targetHeight:S.height,width:g.width,height:g.height,transform:g.transform})}):g.edges,[s,u]));return nfn(d,u,f)}const rfn=({color:s="none",strokeWidth:u=1})=>In.createElement("polyline",{style:{stroke:s,strokeWidth:u},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),sfn=({color:s="none",strokeWidth:u=1})=>In.createElement("polyline",{style:{stroke:s,fill:s,strokeWidth:u},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),n3t={[V$.Arrow]:rfn,[V$.ArrowClosed]:sfn};function ofn(s){const u=wh();return fe.useMemo(()=>{var g,m;return Object.prototype.hasOwnProperty.call(n3t,s)?n3t[s]:((m=(g=u.getState()).onError)==null||m.call(g,"009",Mx.error009(s)),null)},[s])}const cfn=({id:s,type:u,color:f,width:d=12.5,height:g=12.5,markerUnits:m="strokeWidth",strokeWidth:w,orient:S="auto-start-reverse"})=>{const N=ofn(u);return N?In.createElement("marker",{className:"react-flow__arrowhead",id:s,markerWidth:`${d}`,markerHeight:`${g}`,viewBox:"-10 -10 20 20",markerUnits:m,orient:S,refX:"0",refY:"0"},In.createElement(N,{color:f,strokeWidth:w})):null},ufn=({defaultColor:s,rfId:u})=>f=>{const d=[];return f.edges.reduce((g,m)=>([m.markerStart,m.markerEnd].forEach(w=>{if(w&&typeof w=="object"){const S=s5e(w,u);d.includes(S)||(g.push({id:S,color:w.color||s,...w}),d.push(S))}}),g),[]).sort((g,m)=>g.id.localeCompare(m.id))},n6t=({defaultColor:s,rfId:u})=>{const f=Iu(fe.useCallback(ufn({defaultColor:s,rfId:u}),[s,u]),(d,g)=>!(d.length!==g.length||d.some((m,w)=>m.id!==g[w].id)));return In.createElement("defs",null,f.map(d=>In.createElement(cfn,{id:d.id,key:d.id,type:d.type,color:d.color,width:d.width,height:d.height,markerUnits:d.markerUnits,strokeWidth:d.strokeWidth,orient:d.orient})))};n6t.displayName="MarkerDefinitions";var lfn=fe.memo(n6t);const afn=s=>({nodesConnectable:s.nodesConnectable,edgesFocusable:s.edgesFocusable,edgesUpdatable:s.edgesUpdatable,elementsSelectable:s.elementsSelectable,width:s.width,height:s.height,connectionMode:s.connectionMode,nodeInternals:s.nodeInternals,onError:s.onError}),i6t=({defaultMarkerColor:s,onlyRenderVisibleElements:u,elevateEdgesOnSelect:f,rfId:d,edgeTypes:g,noPanClassName:m,onEdgeContextMenu:w,onEdgeMouseEnter:S,onEdgeMouseMove:N,onEdgeMouseLeave:T,onEdgeClick:P,onEdgeDoubleClick:O,onReconnect:I,onReconnectStart:C,onReconnectEnd:M,reconnectRadius:_,children:F,disableKeyboardA11y:R})=>{const{edgesFocusable:B,edgesUpdatable:G,elementsSelectable:z,width:Q,height:te,connectionMode:ne,nodeInternals:Y,onError:oe}=Iu(afn,Fd),Z=ifn(u,Y,f);return Q?In.createElement(In.Fragment,null,Z.map(({level:re,edges:de,isMaxLevel:U})=>In.createElement("svg",{key:re,style:{zIndex:re},width:Q,height:te,className:"react-flow__edges react-flow__container"},U&&In.createElement(lfn,{defaultColor:s,rfId:d}),In.createElement("g",null,de.map(se=>{const[we,ve,Ke]=t3t(Y.get(se.source)),[je,ae,ge]=t3t(Y.get(se.target));if(!Ke||!ge)return null;let _e=se.type||"default";g[_e]||(oe==null||oe("011",Mx.error011(_e)),_e="default");const Be=g[_e]||g.default,ht=ne===O9.Strict?ae.target:(ae.target??[]).concat(ae.source??[]),xt=e3t(ve.source,se.sourceHandle),ze=e3t(ht,se.targetHandle),Fe=(xt==null?void 0:xt.position)||Xn.Bottom,Ue=(ze==null?void 0:ze.position)||Xn.Top,Vt=!!(se.focusable||B&&typeof se.focusable>"u"),Et=se.reconnectable||se.updatable,un=typeof I<"u"&&(Et||G&&typeof Et>"u");if(!xt||!ze)return oe==null||oe("008",Mx.error008(xt,se)),null;const{sourceX:Bn,sourceY:vn,targetX:ft,targetY:zt}=Zan(we,xt,Fe,je,ze,Ue);return In.createElement(Be,{key:se.id,id:se.id,className:jg([se.className,m]),type:_e,data:se.data,selected:!!se.selected,animated:!!se.animated,hidden:!!se.hidden,label:se.label,labelStyle:se.labelStyle,labelShowBg:se.labelShowBg,labelBgStyle:se.labelBgStyle,labelBgPadding:se.labelBgPadding,labelBgBorderRadius:se.labelBgBorderRadius,style:se.style,source:se.source,target:se.target,sourceHandleId:se.sourceHandle,targetHandleId:se.targetHandle,markerEnd:se.markerEnd,markerStart:se.markerStart,sourceX:Bn,sourceY:vn,targetX:ft,targetY:zt,sourcePosition:Fe,targetPosition:Ue,elementsSelectable:z,onContextMenu:w,onMouseEnter:S,onMouseMove:N,onMouseLeave:T,onClick:P,onEdgeDoubleClick:O,onReconnect:I,onReconnectStart:C,onReconnectEnd:M,reconnectRadius:_,rfId:d,ariaLabel:se.ariaLabel,isFocusable:Vt,isReconnectable:un,pathOptions:"pathOptions"in se?se.pathOptions:void 0,interactionWidth:se.interactionWidth,disableKeyboardA11y:R})})))),F):null};i6t.displayName="EdgeRenderer";var ffn=fe.memo(i6t);const hfn=s=>`translate(${s.transform[0]}px,${s.transform[1]}px) scale(${s.transform[2]})`;function dfn({children:s}){const u=Iu(hfn);return In.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:u}},s)}function pfn(s){const u=U5t(),f=fe.useRef(!1);fe.useEffect(()=>{!f.current&&u.viewportInitialized&&s&&(setTimeout(()=>s(u),1),f.current=!0)},[s,u.viewportInitialized])}const gfn={[Xn.Left]:Xn.Right,[Xn.Right]:Xn.Left,[Xn.Top]:Xn.Bottom,[Xn.Bottom]:Xn.Top},r6t=({nodeId:s,handleType:u,style:f,type:d=H5.Bezier,CustomComponent:g,connectionStatus:m})=>{var te,ne,Y;const{fromNode:w,handleId:S,toX:N,toY:T,connectionMode:P}=Iu(fe.useCallback(oe=>({fromNode:oe.nodeInternals.get(s),handleId:oe.connectionHandleId,toX:(oe.connectionPosition.x-oe.transform[0])/oe.transform[2],toY:(oe.connectionPosition.y-oe.transform[1])/oe.transform[2],connectionMode:oe.connectionMode}),[s]),Fd),O=(te=w==null?void 0:w[ra])==null?void 0:te.handleBounds;let I=O==null?void 0:O[u];if(P===O9.Loose&&(I=I||(O==null?void 0:O[u==="source"?"target":"source"])),!w||!I)return null;const C=S?I.find(oe=>oe.id===S):I[0],M=C?C.x+C.width/2:(w.width??0)/2,_=C?C.y+C.height/2:w.height??0,F=(((ne=w.positionAbsolute)==null?void 0:ne.x)??0)+M,R=(((Y=w.positionAbsolute)==null?void 0:Y.y)??0)+_,B=C==null?void 0:C.position,G=B?gfn[B]:null;if(!B||!G)return null;if(g)return In.createElement(g,{connectionLineType:d,connectionLineStyle:f,fromNode:w,fromHandle:C,fromX:F,fromY:R,toX:N,toY:T,fromPosition:B,toPosition:G,connectionStatus:m});let z="";const Q={sourceX:F,sourceY:R,sourcePosition:B,targetX:N,targetY:T,targetPosition:G};return d===H5.Bezier?[z]=N5t(Q):d===H5.Step?[z]=r5e({...Q,borderRadius:0}):d===H5.SmoothStep?[z]=r5e(Q):d===H5.SimpleBezier?[z]=I5t(Q):z=`M${F},${R} ${N},${T}`,In.createElement("path",{d:z,fill:"none",className:"react-flow__connection-path",style:f})};r6t.displayName="ConnectionLine";const wfn=s=>({nodeId:s.connectionNodeId,handleType:s.connectionHandleType,nodesConnectable:s.nodesConnectable,connectionStatus:s.connectionStatus,width:s.width,height:s.height});function bfn({containerStyle:s,style:u,type:f,component:d}){const{nodeId:g,handleType:m,nodesConnectable:w,width:S,height:N,connectionStatus:T}=Iu(wfn,Fd);return!(g&&m&&S&&w)?null:In.createElement("svg",{style:s,width:S,height:N,className:"react-flow__edges react-flow__connectionline react-flow__container"},In.createElement("g",{className:jg(["react-flow__connection",T])},In.createElement(r6t,{nodeId:g,handleType:m,style:u,type:f,CustomComponent:d,connectionStatus:T})))}function i3t(s,u){return fe.useRef(null),wh(),fe.useMemo(()=>u(s),[s])}const s6t=({nodeTypes:s,edgeTypes:u,onMove:f,onMoveStart:d,onMoveEnd:g,onInit:m,onNodeClick:w,onEdgeClick:S,onNodeDoubleClick:N,onEdgeDoubleClick:T,onNodeMouseEnter:P,onNodeMouseMove:O,onNodeMouseLeave:I,onNodeContextMenu:C,onSelectionContextMenu:M,onSelectionStart:_,onSelectionEnd:F,connectionLineType:R,connectionLineStyle:B,connectionLineComponent:G,connectionLineContainerStyle:z,selectionKeyCode:Q,selectionOnDrag:te,selectionMode:ne,multiSelectionKeyCode:Y,panActivationKeyCode:oe,zoomActivationKeyCode:Z,deleteKeyCode:re,onlyRenderVisibleElements:de,elementsSelectable:U,selectNodesOnDrag:se,defaultViewport:we,translateExtent:ve,minZoom:Ke,maxZoom:je,preventScrolling:ae,defaultMarkerColor:ge,zoomOnScroll:_e,zoomOnPinch:Be,panOnScroll:ht,panOnScrollSpeed:xt,panOnScrollMode:ze,zoomOnDoubleClick:Fe,panOnDrag:Ue,onPaneClick:Vt,onPaneMouseEnter:Et,onPaneMouseMove:un,onPaneMouseLeave:Bn,onPaneScroll:vn,onPaneContextMenu:ft,onEdgeContextMenu:zt,onEdgeMouseEnter:vt,onEdgeMouseMove:pn,onEdgeMouseLeave:ln,onReconnect:Dt,onReconnectStart:ji,onReconnectEnd:Hi,reconnectRadius:Wr,noDragClassName:Vo,noWheelClassName:ni,noPanClassName:oi,elevateEdgesOnSelect:Hr,disableKeyboardA11y:Ro,nodeOrigin:Fs,nodeExtent:oa,rfId:Nu})=>{const Z0=i3t(s,Van),Rt=i3t(u,Qan);return pfn(m),In.createElement(qan,{onPaneClick:Vt,onPaneMouseEnter:Et,onPaneMouseMove:un,onPaneMouseLeave:Bn,onPaneContextMenu:ft,onPaneScroll:vn,deleteKeyCode:re,selectionKeyCode:Q,selectionOnDrag:te,selectionMode:ne,onSelectionStart:_,onSelectionEnd:F,multiSelectionKeyCode:Y,panActivationKeyCode:oe,zoomActivationKeyCode:Z,elementsSelectable:U,onMove:f,onMoveStart:d,onMoveEnd:g,zoomOnScroll:_e,zoomOnPinch:Be,zoomOnDoubleClick:Fe,panOnScroll:ht,panOnScrollSpeed:xt,panOnScrollMode:ze,panOnDrag:Ue,defaultViewport:we,translateExtent:ve,minZoom:Ke,maxZoom:je,onSelectionContextMenu:M,preventScrolling:ae,noDragClassName:Vo,noWheelClassName:ni,noPanClassName:oi,disableKeyboardA11y:Ro},In.createElement(dfn,null,In.createElement(ffn,{edgeTypes:Rt,onEdgeClick:S,onEdgeDoubleClick:T,onlyRenderVisibleElements:de,onEdgeContextMenu:zt,onEdgeMouseEnter:vt,onEdgeMouseMove:pn,onEdgeMouseLeave:ln,onReconnect:Dt,onReconnectStart:ji,onReconnectEnd:Hi,reconnectRadius:Wr,defaultMarkerColor:ge,noPanClassName:oi,elevateEdgesOnSelect:!!Hr,disableKeyboardA11y:Ro,rfId:Nu},In.createElement(bfn,{style:B,type:R,component:G,containerStyle:z})),In.createElement("div",{className:"react-flow__edgelabel-renderer"}),In.createElement(Wan,{nodeTypes:Z0,onNodeClick:w,onNodeDoubleClick:N,onNodeMouseEnter:P,onNodeMouseMove:O,onNodeMouseLeave:I,onNodeContextMenu:C,selectNodesOnDrag:se,onlyRenderVisibleElements:de,noPanClassName:oi,noDragClassName:Vo,disableKeyboardA11y:Ro,nodeOrigin:Fs,nodeExtent:oa,rfId:Nu})))};s6t.displayName="GraphView";var mfn=fe.memo(s6t);const l5e=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],P5={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:l5e,nodeExtent:l5e,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:O9.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Uln,isValidConnection:void 0},vfn=()=>son((s,u)=>({...P5,setNodes:f=>{const{nodeInternals:d,nodeOrigin:g,elevateNodesOnSelect:m}=u();s({nodeInternals:y4e(f,d,g,m)})},getNodes:()=>Array.from(u().nodeInternals.values()),setEdges:f=>{const{defaultEdgeOptions:d={}}=u();s({edges:f.map(g=>({...d,...g}))})},setDefaultNodesAndEdges:(f,d)=>{const g=typeof f<"u",m=typeof d<"u",w=g?y4e(f,new Map,u().nodeOrigin,u().elevateNodesOnSelect):new Map;s({nodeInternals:w,edges:m?d:[],hasDefaultNodes:g,hasDefaultEdges:m})},updateNodeDimensions:f=>{const{onNodesChange:d,nodeInternals:g,fitViewOnInit:m,fitViewOnInitDone:w,fitViewOnInitOptions:S,domNode:N,nodeOrigin:T}=u(),P=N==null?void 0:N.querySelector(".react-flow__viewport");if(!P)return;const O=window.getComputedStyle(P),{m22:I}=new window.DOMMatrixReadOnly(O.transform),C=f.reduce((_,F)=>{const R=g.get(F.id);if(R!=null&&R.hidden)g.set(R.id,{...R,[ra]:{...R[ra],handleBounds:void 0}});else if(R){const B=D6e(F.nodeElement);!!(B.width&&B.height&&(R.width!==B.width||R.height!==B.height||F.forceUpdate))&&(g.set(R.id,{...R,[ra]:{...R[ra],handleBounds:{source:Jyt(".source",F.nodeElement,I,T),target:Jyt(".target",F.nodeElement,I,T)}},...B}),_.push({id:R.id,type:"dimensions",dimensions:B}))}return _},[]);z5t(g,T);const M=w||m&&!w&&V5t(u,{initial:!0,...S});s({nodeInternals:new Map(g),fitViewOnInitDone:M}),(C==null?void 0:C.length)>0&&(d==null||d(C))},updateNodePositions:(f,d=!0,g=!1)=>{const{triggerNodeChanges:m}=u(),w=f.map(S=>{const N={id:S.id,type:"position",dragging:g};return d&&(N.positionAbsolute=S.positionAbsolute,N.position=S.position),N});m(w)},triggerNodeChanges:f=>{const{onNodesChange:d,nodeInternals:g,hasDefaultNodes:m,nodeOrigin:w,getNodes:S,elevateNodesOnSelect:N}=u();if(f!=null&&f.length){if(m){const T=W5t(f,S()),P=y4e(T,g,w,N);s({nodeInternals:P})}d==null||d(f)}},addSelectedNodes:f=>{const{multiSelectionActive:d,edges:g,getNodes:m}=u();let w,S=null;d?w=f.map(N=>$5(N,!0)):(w=qC(m(),f),S=qC(g,[])),YQ({changedNodes:w,changedEdges:S,get:u,set:s})},addSelectedEdges:f=>{const{multiSelectionActive:d,edges:g,getNodes:m}=u();let w,S=null;d?w=f.map(N=>$5(N,!0)):(w=qC(g,f),S=qC(m(),[])),YQ({changedNodes:S,changedEdges:w,get:u,set:s})},unselectNodesAndEdges:({nodes:f,edges:d}={})=>{const{edges:g,getNodes:m}=u(),w=f||m(),S=d||g,N=w.map(P=>(P.selected=!1,$5(P.id,!1))),T=S.map(P=>$5(P.id,!1));YQ({changedNodes:N,changedEdges:T,get:u,set:s})},setMinZoom:f=>{const{d3Zoom:d,maxZoom:g}=u();d==null||d.scaleExtent([f,g]),s({minZoom:f})},setMaxZoom:f=>{const{d3Zoom:d,minZoom:g}=u();d==null||d.scaleExtent([g,f]),s({maxZoom:f})},setTranslateExtent:f=>{var d;(d=u().d3Zoom)==null||d.translateExtent(f),s({translateExtent:f})},resetSelectedElements:()=>{const{edges:f,getNodes:d}=u(),m=d().filter(S=>S.selected).map(S=>$5(S.id,!1)),w=f.filter(S=>S.selected).map(S=>$5(S.id,!1));YQ({changedNodes:m,changedEdges:w,get:u,set:s})},setNodeExtent:f=>{const{nodeInternals:d}=u();d.forEach(g=>{g.positionAbsolute=R6e(g.position,f)}),s({nodeExtent:f,nodeInternals:new Map(d)})},panBy:f=>{const{transform:d,width:g,height:m,d3Zoom:w,d3Selection:S,translateExtent:N}=u();if(!w||!S||!f.x&&!f.y)return!1;const T=Z5.translate(d[0]+f.x,d[1]+f.y).scale(d[2]),P=[[0,0],[g,m]],O=w==null?void 0:w.constrain()(T,P,N);return w.transform(S,O),d[0]!==O.x||d[1]!==O.y||d[2]!==O.k},cancelConnection:()=>s({connectionNodeId:P5.connectionNodeId,connectionHandleId:P5.connectionHandleId,connectionHandleType:P5.connectionHandleType,connectionStatus:P5.connectionStatus,connectionStartHandle:P5.connectionStartHandle,connectionEndHandle:P5.connectionEndHandle}),reset:()=>s({...P5})}),Object.is),U6e=({children:s})=>{const u=fe.useRef(null);return u.current||(u.current=vfn()),In.createElement(Rln,{value:u.current},s)};U6e.displayName="ReactFlowProvider";const o6t=({children:s})=>fe.useContext(Wee)?In.createElement(In.Fragment,null,s):In.createElement(U6e,null,s);o6t.displayName="ReactFlowWrapper";const yfn={input:R5t,default:c5e,output:F5t,group:z6e},xfn={default:fee,straight:H6e,step:B6e,smoothstep:Xee,simplebezier:F6e},kfn=[0,0],jfn=[15,15],Sfn={x:0,y:0,zoom:1},Efn={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},c6t=fe.forwardRef(({nodes:s,edges:u,defaultNodes:f,defaultEdges:d,className:g,nodeTypes:m=yfn,edgeTypes:w=xfn,onNodeClick:S,onEdgeClick:N,onInit:T,onMove:P,onMoveStart:O,onMoveEnd:I,onConnect:C,onConnectStart:M,onConnectEnd:_,onClickConnectStart:F,onClickConnectEnd:R,onNodeMouseEnter:B,onNodeMouseMove:G,onNodeMouseLeave:z,onNodeContextMenu:Q,onNodeDoubleClick:te,onNodeDragStart:ne,onNodeDrag:Y,onNodeDragStop:oe,onNodesDelete:Z,onEdgesDelete:re,onSelectionChange:de,onSelectionDragStart:U,onSelectionDrag:se,onSelectionDragStop:we,onSelectionContextMenu:ve,onSelectionStart:Ke,onSelectionEnd:je,connectionMode:ae=O9.Strict,connectionLineType:ge=H5.Bezier,connectionLineStyle:_e,connectionLineComponent:Be,connectionLineContainerStyle:ht,deleteKeyCode:xt="Backspace",selectionKeyCode:ze="Shift",selectionOnDrag:Fe=!1,selectionMode:Ue=z$.Full,panActivationKeyCode:Vt="Space",multiSelectionKeyCode:Et=aee()?"Meta":"Control",zoomActivationKeyCode:un=aee()?"Meta":"Control",snapToGrid:Bn=!1,snapGrid:vn=jfn,onlyRenderVisibleElements:ft=!1,selectNodesOnDrag:zt=!0,nodesDraggable:vt,nodesConnectable:pn,nodesFocusable:ln,nodeOrigin:Dt=kfn,edgesFocusable:ji,edgesUpdatable:Hi,elementsSelectable:Wr,defaultViewport:Vo=Sfn,minZoom:ni=.5,maxZoom:oi=2,translateExtent:Hr=l5e,preventScrolling:Ro=!0,nodeExtent:Fs,defaultMarkerColor:oa="#b1b1b7",zoomOnScroll:Nu=!0,zoomOnPinch:Z0=!0,panOnScroll:Rt=!1,panOnScrollSpeed:hi=.5,panOnScrollMode:Ki=j9.Free,zoomOnDoubleClick:pr=!0,panOnDrag:ds=!0,onPaneClick:Bs,onPaneMouseEnter:yr,onPaneMouseMove:Er,onPaneMouseLeave:Hs,onPaneScroll:eu,onPaneContextMenu:Cu,children:bh,onEdgeContextMenu:tu,onEdgeDoubleClick:Da,onEdgeMouseEnter:Dl,onEdgeMouseMove:Cc,onEdgeMouseLeave:ed,onEdgeUpdate:vb,onEdgeUpdateStart:Ra,onEdgeUpdateEnd:$1,onReconnect:F1,onReconnectStart:wy,onReconnectEnd:by,reconnectRadius:hF=10,edgeUpdaterRadius:dF=10,onNodesChange:pF,onEdgesChange:gF,noDragClassName:wF="nodrag",noWheelClassName:bF="nowheel",noPanClassName:CM="nopan",fitView:mF=!1,fitViewOptions:vF,connectOnClick:MM=!0,attributionPosition:yF,proOptions:xF,defaultEdgeOptions:kF,elevateNodesOnSelect:jF=!0,elevateEdgesOnSelect:q9=!1,disableKeyboardA11y:l6=!1,autoPanOnConnect:a6=!0,autoPanOnNodeDrag:SF=!0,connectionRadius:EF=20,isValidConnection:z9,onError:IF,style:NF,id:TM,nodeDragThreshold:f6,...CF},MF)=>{const V9=TM||"1";return In.createElement("div",{...CF,style:{...NF,...Efn},ref:MF,className:jg(["react-flow",g]),"data-testid":"rf__wrapper",id:TM},In.createElement(o6t,null,In.createElement(mfn,{onInit:T,onMove:P,onMoveStart:O,onMoveEnd:I,onNodeClick:S,onEdgeClick:N,onNodeMouseEnter:B,onNodeMouseMove:G,onNodeMouseLeave:z,onNodeContextMenu:Q,onNodeDoubleClick:te,nodeTypes:m,edgeTypes:w,connectionLineType:ge,connectionLineStyle:_e,connectionLineComponent:Be,connectionLineContainerStyle:ht,selectionKeyCode:ze,selectionOnDrag:Fe,selectionMode:Ue,deleteKeyCode:xt,multiSelectionKeyCode:Et,panActivationKeyCode:Vt,zoomActivationKeyCode:un,onlyRenderVisibleElements:ft,selectNodesOnDrag:zt,defaultViewport:Vo,translateExtent:Hr,minZoom:ni,maxZoom:oi,preventScrolling:Ro,zoomOnScroll:Nu,zoomOnPinch:Z0,zoomOnDoubleClick:pr,panOnScroll:Rt,panOnScrollSpeed:hi,panOnScrollMode:Ki,panOnDrag:ds,onPaneClick:Bs,onPaneMouseEnter:yr,onPaneMouseMove:Er,onPaneMouseLeave:Hs,onPaneScroll:eu,onPaneContextMenu:Cu,onSelectionContextMenu:ve,onSelectionStart:Ke,onSelectionEnd:je,onEdgeContextMenu:tu,onEdgeDoubleClick:Da,onEdgeMouseEnter:Dl,onEdgeMouseMove:Cc,onEdgeMouseLeave:ed,onReconnect:F1??vb,onReconnectStart:wy??Ra,onReconnectEnd:by??$1,reconnectRadius:hF??dF,defaultMarkerColor:oa,noDragClassName:wF,noWheelClassName:bF,noPanClassName:CM,elevateEdgesOnSelect:q9,rfId:V9,disableKeyboardA11y:l6,nodeOrigin:Dt,nodeExtent:Fs}),In.createElement(gan,{nodes:s,edges:u,defaultNodes:f,defaultEdges:d,onConnect:C,onConnectStart:M,onConnectEnd:_,onClickConnectStart:F,onClickConnectEnd:R,nodesDraggable:vt,nodesConnectable:pn,nodesFocusable:ln,edgesFocusable:ji,edgesUpdatable:Hi,elementsSelectable:Wr,elevateNodesOnSelect:jF,minZoom:ni,maxZoom:oi,nodeExtent:Fs,onNodesChange:pF,onEdgesChange:gF,snapToGrid:Bn,snapGrid:vn,connectionMode:ae,translateExtent:Hr,connectOnClick:MM,defaultEdgeOptions:kF,fitView:mF,fitViewOptions:vF,onNodesDelete:Z,onEdgesDelete:re,onNodeDragStart:ne,onNodeDrag:Y,onNodeDragStop:oe,onSelectionDrag:se,onSelectionDragStart:U,onSelectionDragStop:we,noPanClassName:CM,nodeOrigin:Dt,rfId:V9,autoPanOnConnect:a6,autoPanOnNodeDrag:SF,onError:IF,connectionRadius:EF,isValidConnection:z9,nodeDragThreshold:f6}),In.createElement(dan,{onSelectionChange:de}),bh,In.createElement(Bln,{proOptions:xF,position:yF}),In.createElement(yan,{rfId:V9,disableKeyboardA11y:l6})))});c6t.displayName="ReactFlow";const Ifn=s=>{var u;return(u=s.domNode)==null?void 0:u.querySelector(".react-flow__edgelabel-renderer")};function r3t({children:s}){const u=Iu(Ifn);return u?kM.createPortal(s,u):null}const Nfn=s=>({x:s.transform[0],y:s.transform[1],zoom:s.transform[2]});function Cfn(){return Iu(Nfn,Fd)}var wb;(function(s){s.Lines="lines",s.Dots="dots",s.Cross="cross"})(wb||(wb={}));function Mfn({color:s,dimensions:u,lineWidth:f}){return In.createElement("path",{stroke:s,strokeWidth:f,d:`M${u[0]/2} 0 V${u[1]} M0 ${u[1]/2} H${u[0]}`})}function Tfn({color:s,radius:u}){return In.createElement("circle",{cx:u,cy:u,r:u,fill:s})}const Afn={[wb.Dots]:"#91919a",[wb.Lines]:"#eee",[wb.Cross]:"#e2e2e2"},Pfn={[wb.Dots]:1,[wb.Lines]:1,[wb.Cross]:6},_fn=s=>({transform:s.transform,patternId:`pattern-${s.rfId}`});function u6t({id:s,variant:u=wb.Dots,gap:f=20,size:d,lineWidth:g=1,offset:m=2,color:w,style:S,className:N}){const T=fe.useRef(null),{transform:P,patternId:O}=Iu(_fn,Fd),I=w||Afn[u],C=d||Pfn[u],M=u===wb.Dots,_=u===wb.Cross,F=Array.isArray(f)?f:[f,f],R=[F[0]*P[2]||1,F[1]*P[2]||1],B=C*P[2],G=_?[B,B]:R,z=M?[B/m,B/m]:[G[0]/m,G[1]/m];return In.createElement("svg",{className:jg(["react-flow__background",N]),style:{...S,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:T,"data-testid":"rf__background"},In.createElement("pattern",{id:O+s,x:P[0]%R[0],y:P[1]%R[1],width:R[0],height:R[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${z[0]},-${z[1]})`},M?In.createElement(Tfn,{color:I,radius:B/m}):In.createElement(Mfn,{dimensions:G,color:I,lineWidth:g})),In.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${O+s})`}))}u6t.displayName="Background";var Ofn=fe.memo(u6t);const l6t={},{useDebugValue:Lfn}=In,{useSyncExternalStoreWithSelector:Dfn}=qkt;let s3t=!1;const Rfn=s=>s;function $fn(s,u=Rfn,f){(l6t?"production":void 0)!=="production"&&f&&!s3t&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),s3t=!0);const d=Dfn(s.subscribe,s.getState,s.getServerState||s.getInitialState,u,f);return Lfn(d),d}const o3t=s=>{(l6t?"production":void 0)!=="production"&&typeof s!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const u=typeof s=="function"?zkt(s):s,f=(d,g)=>$fn(u,d,g);return Object.assign(f,u),f},G6e=s=>s?o3t(s):o3t;var a6t=Symbol.for("immer-nothing"),c3t=Symbol.for("immer-draftable"),yg=Symbol.for("immer-state");function uv(s,...u){throw new Error(`[Immer] minified error nr: ${s}. Full error at: https://bit.ly/3cXEKWf`)}var G$=Object.getPrototypeOf;function wM(s){return!!s&&!!s[yg]}function L9(s){var u;return s?f6t(s)||Array.isArray(s)||!!s[c3t]||!!((u=s.constructor)!=null&&u[c3t])||cF(s)||Yee(s):!1}var Ffn=Object.prototype.constructor.toString(),u3t=new WeakMap;function f6t(s){if(!s||typeof s!="object")return!1;const u=Object.getPrototypeOf(s);if(u===null||u===Object.prototype)return!0;const f=Object.hasOwnProperty.call(u,"constructor")&&u.constructor;if(f===Object)return!0;if(typeof f!="function")return!1;let d=u3t.get(f);return d===void 0&&(d=Function.toString.call(f),u3t.set(f,d)),d===Ffn}function hee(s,u,f=!0){Jee(s)===0?(f?Reflect.ownKeys(s):Object.keys(s)).forEach(g=>{u(g,s[g],s)}):s.forEach((d,g)=>u(g,d,s))}function Jee(s){const u=s[yg];return u?u.type_:Array.isArray(s)?1:cF(s)?2:Yee(s)?3:0}function a5e(s,u){return Jee(s)===2?s.has(u):Object.prototype.hasOwnProperty.call(s,u)}function h6t(s,u,f){const d=Jee(s);d===2?s.set(u,f):d===3?s.add(f):s[u]=f}function Bfn(s,u){return s===u?s!==0||1/s===1/u:s!==s&&u!==u}function cF(s){return s instanceof Map}function Yee(s){return s instanceof Set}function b9(s){return s.copy_||s.base_}function f5e(s,u){if(cF(s))return new Map(s);if(Yee(s))return new Set(s);if(Array.isArray(s))return Array.prototype.slice.call(s);const f=f6t(s);if(u===!0||u==="class_only"&&!f){const d=Object.getOwnPropertyDescriptors(s);delete d[yg];let g=Reflect.ownKeys(d);for(let m=0;m1&&Object.defineProperties(s,{set:ZQ,add:ZQ,clear:ZQ,delete:ZQ}),Object.freeze(s),u&&Object.values(s).forEach(f=>W6e(f,!0))),s}function Hfn(){uv(2)}var ZQ={value:Hfn};function Qee(s){return s===null||typeof s!="object"?!0:Object.isFrozen(s)}var Kfn={};function D9(s){const u=Kfn[s];return u||uv(0,s),u}var W$;function d6t(){return W$}function qfn(s,u){return{drafts_:[],parent_:s,immer_:u,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function l3t(s,u){u&&(D9("Patches"),s.patches_=[],s.inversePatches_=[],s.patchListener_=u)}function h5e(s){d5e(s),s.drafts_.forEach(zfn),s.drafts_=null}function d5e(s){s===W$&&(W$=s.parent_)}function a3t(s){return W$=qfn(W$,s)}function zfn(s){const u=s[yg];u.type_===0||u.type_===1?u.revoke_():u.revoked_=!0}function f3t(s,u){u.unfinalizedDrafts_=u.drafts_.length;const f=u.drafts_[0];return s!==void 0&&s!==f?(f[yg].modified_&&(h5e(u),uv(4)),L9(s)&&(s=dee(u,s),u.parent_||pee(u,s)),u.patches_&&D9("Patches").generateReplacementPatches_(f[yg].base_,s,u.patches_,u.inversePatches_)):s=dee(u,f,[]),h5e(u),u.patches_&&u.patchListener_(u.patches_,u.inversePatches_),s!==a6t?s:void 0}function dee(s,u,f){if(Qee(u))return u;const d=s.immer_.shouldUseStrictIteration(),g=u[yg];if(!g)return hee(u,(m,w)=>h3t(s,g,u,m,w,f),d),u;if(g.scope_!==s)return u;if(!g.modified_)return pee(s,g.base_,!0),g.base_;if(!g.finalized_){g.finalized_=!0,g.scope_.unfinalizedDrafts_--;const m=g.copy_;let w=m,S=!1;g.type_===3&&(w=new Set(m),m.clear(),S=!0),hee(w,(N,T)=>h3t(s,g,m,N,T,f,S),d),pee(s,m,!1),f&&s.patches_&&D9("Patches").generatePatches_(g,f,s.patches_,s.inversePatches_)}return g.copy_}function h3t(s,u,f,d,g,m,w){if(g==null||typeof g!="object"&&!w)return;const S=Qee(g);if(!(S&&!w)){if(wM(g)){const N=m&&u&&u.type_!==3&&!a5e(u.assigned_,d)?m.concat(d):void 0,T=dee(s,g,N);if(h6t(f,d,T),wM(T))s.canAutoFreeze_=!1;else return}else w&&f.add(g);if(L9(g)&&!S){if(!s.immer_.autoFreeze_&&s.unfinalizedDrafts_<1||u&&u.base_&&u.base_[d]===g&&S)return;dee(s,g),(!u||!u.scope_.parent_)&&typeof d!="symbol"&&(cF(f)?f.has(d):Object.prototype.propertyIsEnumerable.call(f,d))&&pee(s,g)}}}function pee(s,u,f=!1){!s.parent_&&s.immer_.autoFreeze_&&s.canAutoFreeze_&&W6e(u,f)}function Vfn(s,u){const f=Array.isArray(s),d={type_:f?1:0,scope_:u?u.scope_:d6t(),modified_:!1,finalized_:!1,assigned_:{},parent_:u,base_:s,draft_:null,copy_:null,revoke_:null,isManual_:!1};let g=d,m=X6e;f&&(g=[d],m=X$);const{revoke:w,proxy:S}=Proxy.revocable(g,m);return d.draft_=S,d.revoke_=w,S}var X6e={get(s,u){if(u===yg)return s;const f=b9(s);if(!a5e(f,u))return Ufn(s,f,u);const d=f[u];return s.finalized_||!L9(d)?d:d===S4e(s.base_,u)?(E4e(s),s.copy_[u]=g5e(d,s)):d},has(s,u){return u in b9(s)},ownKeys(s){return Reflect.ownKeys(b9(s))},set(s,u,f){const d=p6t(b9(s),u);if(d!=null&&d.set)return d.set.call(s.draft_,f),!0;if(!s.modified_){const g=S4e(b9(s),u),m=g==null?void 0:g[yg];if(m&&m.base_===f)return s.copy_[u]=f,s.assigned_[u]=!1,!0;if(Bfn(f,g)&&(f!==void 0||a5e(s.base_,u)))return!0;E4e(s),p5e(s)}return s.copy_[u]===f&&(f!==void 0||u in s.copy_)||Number.isNaN(f)&&Number.isNaN(s.copy_[u])||(s.copy_[u]=f,s.assigned_[u]=!0),!0},deleteProperty(s,u){return S4e(s.base_,u)!==void 0||u in s.base_?(s.assigned_[u]=!1,E4e(s),p5e(s)):delete s.assigned_[u],s.copy_&&delete s.copy_[u],!0},getOwnPropertyDescriptor(s,u){const f=b9(s),d=Reflect.getOwnPropertyDescriptor(f,u);return d&&{writable:!0,configurable:s.type_!==1||u!=="length",enumerable:d.enumerable,value:f[u]}},defineProperty(){uv(11)},getPrototypeOf(s){return G$(s.base_)},setPrototypeOf(){uv(12)}},X$={};hee(X6e,(s,u)=>{X$[s]=function(){return arguments[0]=arguments[0][0],u.apply(this,arguments)}});X$.deleteProperty=function(s,u){return X$.set.call(this,s,u,void 0)};X$.set=function(s,u,f){return X6e.set.call(this,s[0],u,f,s[0])};function S4e(s,u){const f=s[yg];return(f?b9(f):s)[u]}function Ufn(s,u,f){var g;const d=p6t(u,f);return d?"value"in d?d.value:(g=d.get)==null?void 0:g.call(s.draft_):void 0}function p6t(s,u){if(!(u in s))return;let f=G$(s);for(;f;){const d=Object.getOwnPropertyDescriptor(f,u);if(d)return d;f=G$(f)}}function p5e(s){s.modified_||(s.modified_=!0,s.parent_&&p5e(s.parent_))}function E4e(s){s.copy_||(s.copy_=f5e(s.base_,s.scope_.immer_.useStrictShallowCopy_))}var Gfn=class{constructor(s){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(u,f,d)=>{if(typeof u=="function"&&typeof f!="function"){const m=f;f=u;const w=this;return function(N=m,...T){return w.produce(N,P=>f.call(this,P,...T))}}typeof f!="function"&&uv(6),d!==void 0&&typeof d!="function"&&uv(7);let g;if(L9(u)){const m=a3t(this),w=g5e(u,void 0);let S=!0;try{g=f(w),S=!1}finally{S?h5e(m):d5e(m)}return l3t(m,d),f3t(g,m)}else if(!u||typeof u!="object"){if(g=f(u),g===void 0&&(g=u),g===a6t&&(g=void 0),this.autoFreeze_&&W6e(g,!0),d){const m=[],w=[];D9("Patches").generateReplacementPatches_(u,g,m,w),d(m,w)}return g}else uv(1,u)},this.produceWithPatches=(u,f)=>{if(typeof u=="function")return(w,...S)=>this.produceWithPatches(w,N=>u(N,...S));let d,g;return[this.produce(u,f,(w,S)=>{d=w,g=S}),d,g]},typeof(s==null?void 0:s.autoFreeze)=="boolean"&&this.setAutoFreeze(s.autoFreeze),typeof(s==null?void 0:s.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(s.useStrictShallowCopy),typeof(s==null?void 0:s.useStrictIteration)=="boolean"&&this.setUseStrictIteration(s.useStrictIteration)}createDraft(s){L9(s)||uv(8),wM(s)&&(s=Wfn(s));const u=a3t(this),f=g5e(s,void 0);return f[yg].isManual_=!0,d5e(u),f}finishDraft(s,u){const f=s&&s[yg];(!f||!f.isManual_)&&uv(9);const{scope_:d}=f;return l3t(d,u),f3t(void 0,d)}setAutoFreeze(s){this.autoFreeze_=s}setUseStrictShallowCopy(s){this.useStrictShallowCopy_=s}setUseStrictIteration(s){this.useStrictIteration_=s}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(s,u){let f;for(f=u.length-1;f>=0;f--){const g=u[f];if(g.path.length===0&&g.op==="replace"){s=g.value;break}}f>-1&&(u=u.slice(f+1));const d=D9("Patches").applyPatches_;return wM(s)?d(s,u):this.produce(s,g=>d(g,u))}};function g5e(s,u){const f=cF(s)?D9("MapSet").proxyMap_(s,u):Yee(s)?D9("MapSet").proxySet_(s,u):Vfn(s,u);return(u?u.scope_:d6t()).drafts_.push(f),f}function Wfn(s){return wM(s)||uv(10,s),g6t(s)}function g6t(s){if(!L9(s)||Qee(s))return s;const u=s[yg];let f,d=!0;if(u){if(!u.modified_)return u.base_;u.finalized_=!0,f=f5e(s,u.scope_.immer_.useStrictShallowCopy_),d=u.scope_.immer_.shouldUseStrictIteration()}else f=f5e(s,!0);return hee(f,(g,m)=>{h6t(f,g,g6t(m))},d),u&&(u.finalized_=!1),f}var Xfn=new Gfn,Jfn=Xfn.produce;const Yfn=s=>(u,f,d)=>(d.setState=(g,m,...w)=>{const S=typeof g=="function"?Jfn(g):g;return u(S,m,...w)},s(d.setState,f,d)),Qfn=Yfn,Zfn=new Set(["system","container","domain","group","blueprint"]);function Jh(s){return!!s&&Zfn.has(s)}const Lr={person:{width:150,height:170},system:{width:360,height:260},container:{width:300,height:200},component:{width:200,height:120},database:{width:190,height:130},webapp:{width:210,height:140},queue:{width:220,height:95},domain:{width:520,height:360},group:{width:520,height:360},adr:{width:180,height:52},"fitness-fn":{width:180,height:52},requirement:{width:200,height:80},blueprint:{width:520,height:360}},U0={person:170,system:180,container:160,component:120,database:130,webapp:140,queue:95,domain:220,group:220,adr:52,"fitness-fn":52,requirement:80,blueprint:220},G0={person:150,system:280,container:240,component:200,database:190,webapp:210,queue:220,domain:360,group:360,adr:160,"fitness-fn":160,requirement:180,blueprint:360},Qh={person:"#08427b",system:"#1168bd",container:"#438dd5",component:"#85bbf0",database:"#438dd5",webapp:"#438dd5",queue:"#438dd5",domain:"#4c1d95",group:"#64748b",adr:"#92400e","fitness-fn":"#5b21b6",requirement:"#0e7490",blueprint:"#1e3a5f"},Zee={person:"#fff",system:"#fff",container:"#fff",component:"#000",database:"#fff",webapp:"#fff",queue:"#fff",domain:"#fff",group:"#fff",adr:"#fff","fitness-fn":"#fff",requirement:"#fff",blueprint:"#fff"},py={person:"Person",system:"Software System",container:"Container",component:"Component",database:"Database",webapp:"Web App",queue:"Queue",domain:"Domain",group:"Group",adr:"ADR","fitness-fn":"Fitness Function",requirement:"Requirement",blueprint:"Blueprint"},pb={person:"M8 2a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5ZM3 12.5C3 10.01 5.24 8 8 8s5 2.01 5 4.5V14H3v-1.5Z",system:"M2 3.5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5v-9ZM4 5h8v1H4V5Zm0 2.5h8v1H4v-1Zm0 2.5h5v1H4V10Z",container:"M1 4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1H1V4Zm0 2.5h14V12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V6.5ZM3 3a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm2 0a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Z",component:"M5 1v2H3a1 1 0 0 0-1 1v2h2v2H2v2h2v2H2v2a1 1 0 0 0 1 1h2v2h2v-2h2v2h2v-2h2a1 1 0 0 0 1-1v-2h-2v-2h2V8h-2V6h2V4a1 1 0 0 0-1-1h-2V1H9v2H7V1H5Z",database:"M8 1C4.7 1 2 2.3 2 4v8c0 1.7 2.7 3 6 3s6-1.3 6-3V4c0-1.7-2.7-3-6-3ZM2 4c0 1.7 2.7 3 6 3s6-1.3 6-3",webapp:"M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm1 2.5V13h10V5.5H3ZM4 3.5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm1.5 0a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm1.5 0a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Z",queue:"M4 3a3 2 0 1 0 0 4h8a3 2 0 1 0 0-4H4Zm-2 5.5a3 2 0 0 0 4 0v-1a3 2 0 0 1-4 0v1Zm10 0a3 2 0 0 0 4 0v-1a3 2 0 0 1-4 0v1Z",domain:"M2 3.5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5v-9Zm1.5 1A.5.5 0 0 0 3 5v6a.5.5 0 0 0 .5.5h9A.5.5 0 0 0 13 11V5a.5.5 0 0 0-.5-.5h-9ZM5 7h2v2H5V7Zm4 0h2v2H9V7Z",group:"M2 3.5C2 2.67 2.67 2 3.5 2H7l1.5 2h4c.83 0 1.5.67 1.5 1.5v7c0 .83-.67 1.5-1.5 1.5h-9C2.67 14 2 13.33 2 12.5v-9Z",adr:"M4.5 1C3.67 1 3 1.67 3 2.5v11c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5V6L9 1H4.5ZM9 2l3 3.5H9V2ZM5 8h6v1H5V8Zm0 2.5h6v1H5v-1Zm0 2.5h3.5v1H5V13Z","fitness-fn":"M8 2a6 6 0 1 0 0 12A6 6 0 0 0 8 2Zm0 1.5a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9ZM8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm0 1a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z",requirement:"M5 1a1 1 0 0 0-1 1H3a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-1a1 1 0 0 0-1-1H5Zm0 1h6v1H5V2ZM4 5.5h1.5v1.5H4V5.5Zm3 .25h5v1H7v-1ZM4 9h1.5v1.5H4V9Zm3 .25h5v1H7v-1Z",blueprint:"M2 2h12v12H2V2Zm1 1v2h2V3H3Zm3 0v2h2V3H6Zm3 0v2h2V3H9Zm3 0v2h1V3h-1ZM3 6v2h2V6H3Zm3 0v2h2V6H6Zm3 0v2h2V6H9Zm3 0v2h1V6h-1ZM3 9v2h2V9H3Zm3 0v2h2V9H6Zm3 0v2h2V9H9Zm3 0v2h1V9h-1ZM3 12v1h2v-1H3Zm3 0v1h2v-1H6Zm3 0v1h2v-1H9Zm3 0v1h1v-1h-1Z"};function iv(){const s={},u={person:["group"],system:["system","group"],container:["system","group"],component:["container","webapp","group"],database:["system","group"],webapp:["system","group"],queue:["system","group"],group:["group"]},f=new Set(["container","component","database","webapp","queue"]),d=["person","system","container","component","database","webapp","queue","group"];for(const w of d){const S=[{key:"description",label:"Description",type:"textarea"}];f.has(w)&&S.push({key:"technology",label:"Technology",type:"text"}),w!=="group"&&S.push({key:"external",label:"External",type:"boolean"}),s[w]={id:w,label:py[w],color:Qh[w],fg:Zee[w],iconPath:pb[w],width:Lr[w].width,height:Lr[w].height,collapsedWidth:G0[w],collapsedHeight:U0[w],allowedParents:u[w],allowedAtRoot:w==="person"||w==="system"||w==="group",builtin:!0,properties:S}}return{id:"c4-builtin",name:"C4 (built-in)",nodeTypes:s,relationTypes:{interacts:{id:"interacts",label:"Interacts",allowedPairs:[{from:"person",to:"system"},{from:"person",to:"container"},{from:"person",to:"webapp"},{from:"system",to:"person"},{from:"system",to:"system"},{from:"system",to:"container"},{from:"system",to:"database"},{from:"system",to:"webapp"},{from:"system",to:"queue"},{from:"container",to:"person"},{from:"container",to:"system"},{from:"container",to:"container"},{from:"container",to:"database"},{from:"container",to:"webapp"},{from:"container",to:"queue"},{from:"webapp",to:"person"},{from:"webapp",to:"system"},{from:"webapp",to:"container"},{from:"webapp",to:"database"},{from:"webapp",to:"webapp"},{from:"webapp",to:"queue"},{from:"queue",to:"container"},{from:"queue",to:"webapp"},{from:"queue",to:"component"},{from:"component",to:"component"},{from:"component",to:"container"},{from:"component",to:"webapp"},{from:"component",to:"database"},{from:"component",to:"queue"}],properties:[{key:"technology",label:"Technology",type:"text"}],builtin:!0}}}}function gee(){const s=iv(),u={...s.nodeTypes.system,allowedParents:["system","domain","group"],allowedAtRoot:!0},d={id:"domain",label:"Domain",color:"#4c1d95",fg:"#fff",iconPath:"M2 3.5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5v-9Zm1.5 1A.5.5 0 0 0 3 5v6a.5.5 0 0 0 .5.5h9A.5.5 0 0 0 13 11V5a.5.5 0 0 0-.5-.5h-9ZM5 7h2v2H5V7Zm4 0h2v2H9V7Z",width:520,height:360,collapsedWidth:360,collapsedHeight:220,allowedParents:["domain","group"],allowedAtRoot:!0,builtin:!0,properties:[{key:"description",label:"Description",type:"textarea"},{key:"vision",label:"Vision",type:"textarea"},{key:"kind",label:"Kind",type:"enum",options:["core","supporting","generic"],default:"core"}]},g={id:"realises",label:"Realises",allowedPairs:[{from:"system",to:"domain"},{from:"container",to:"domain"}],properties:[],builtin:!0},m=[{from:"domain",to:"domain"}],w={id:"depends-on",label:"Depends on",allowedPairs:m,properties:[{key:"description",label:"Description",type:"text"}],builtin:!0},S={id:"partnership",label:"Partnership",allowedPairs:m,properties:[{key:"pattern",label:"Pattern",type:"enum",options:["partnership","shared-kernel","customer-supplier","conformist","anti-corruption-layer","open-host-service","published-language","separate-ways"],default:"partnership"},{key:"description",label:"Description",type:"text"}],builtin:!0};return{id:"c4-ddd-builtin",name:"C4 + DDD Domains",nodeTypes:{...s.nodeTypes,system:u,domain:d},relationTypes:{...s.relationTypes,realises:g,"depends-on":w,partnership:S}}}function R9(){const s=gee(),u=[{key:"status",label:"Status",type:"enum",options:["proposed","accepted","deprecated","superseded"],default:"proposed"},{key:"date",label:"Date",type:"text"},{key:"context",label:"Context",type:"textarea"},{key:"decision",label:"Decision",type:"textarea"},{key:"consequences",label:"Consequences",type:"textarea"},{key:"alternatives",label:"Alternatives considered",type:"textarea"}],f={id:"adr",label:"ADR",color:"#92400e",fg:"#fff",iconPath:pb.adr,width:Lr.adr.width,height:Lr.adr.height,collapsedWidth:G0.adr,collapsedHeight:U0.adr,allowedParents:["system","domain","group"],allowedAtRoot:!0,builtin:!0,properties:u},d=[{key:"description",label:"Description",type:"textarea"},{key:"category",label:"Category",type:"enum",options:["structural","operational","process","holistic"],default:"structural"},{key:"automated",label:"Automated",type:"boolean",default:!1},{key:"trigger",label:"Trigger",type:"enum",options:["on-deploy","continuous","periodic"],default:"on-deploy"},{key:"threshold",label:"Threshold / Success criteria",type:"text"},{key:"status",label:"Status",type:"enum",options:["proposed","active","deprecated"],default:"proposed"}],g={id:"fitness-fn",label:"Fitness Function",color:"#5b21b6",fg:"#fff",iconPath:pb["fitness-fn"],width:Lr["fitness-fn"].width,height:Lr["fitness-fn"].height,collapsedWidth:G0["fitness-fn"],collapsedHeight:U0["fitness-fn"],allowedParents:["system","domain","group"],allowedAtRoot:!0,builtin:!0,properties:d},m=[{key:"ears_type",label:"EARS type",type:"enum",options:["ubiquitous","event-driven","state-driven","unwanted-behaviour","optional","complex"],default:"ubiquitous"},{key:"status",label:"Status",type:"enum",options:["draft","approved","implemented","verified","deprecated"],default:"draft"},{key:"priority",label:"Priority",type:"enum",options:["must","should","could","won't"],default:"must"},{key:"trigger",label:"When (trigger)",type:"text",visibleWhen:{key:"ears_type",values:["event-driven","complex"]}},{key:"precondition",label:"While (precondition)",type:"text",visibleWhen:{key:"ears_type",values:["state-driven","complex"]}},{key:"unwanted_condition",label:"If (unwanted condition)",type:"text",visibleWhen:{key:"ears_type",values:["unwanted-behaviour","complex"]}},{key:"feature",label:"Where (feature)",type:"text",visibleWhen:{key:"ears_type",values:["optional","complex"]}},{key:"action",label:"The system shall (action)",type:"textarea"},{key:"rationale",label:"Rationale",type:"textarea"}],w={id:"requirement",label:"Requirement",color:"#0e7490",fg:"#fff",iconPath:pb.requirement,width:Lr.requirement.width,height:Lr.requirement.height,collapsedWidth:G0.requirement,collapsedHeight:U0.requirement,allowedParents:["system","domain","group"],allowedAtRoot:!0,builtin:!0,properties:m},S=["adr","fitness-fn","requirement"],N=["person","system","domain","container","component","database","webapp","queue"],P={id:"constrains",label:"Constrains",allowedPairs:S.flatMap(G=>N.map(z=>({from:G,to:z}))),properties:[{key:"description",label:"Note",type:"text"}],color:"#dc2626",builtin:!0},O={id:"supersedes",label:"Supersedes",allowedPairs:[{from:"adr",to:"adr"}],properties:[],color:"#f59e0b",builtin:!0},I={id:"implements",label:"Implements",allowedPairs:[{from:"fitness-fn",to:"adr"}],properties:[],color:"#7c3aed",builtin:!0},M={id:"satisfies",label:"Satisfies",allowedPairs:["person","system","domain","container","component","database","webapp","queue"].map(G=>({from:G,to:"requirement"})),properties:[{key:"description",label:"Note",type:"text"}],color:"#0891b2",builtin:!0},_={id:"derives",label:"Derives from",allowedPairs:[{from:"requirement",to:"requirement"}],properties:[],color:"#0d9488",builtin:!0},F={id:"traces-to",label:"Traces to",allowedPairs:[{from:"requirement",to:"adr"},{from:"requirement",to:"fitness-fn"}],properties:[],color:"#06b6d4",builtin:!0},R=[{key:"description",label:"Description",type:"textarea"},{key:"status",label:"Status",type:"enum",options:["draft","reviewed","approved","deprecated"],default:"draft"},{key:"domain",label:"Domain / Context",type:"text"},{key:"rationale",label:"Rationale",type:"textarea"}],B={id:"blueprint",label:"Blueprint",color:"#1e3a5f",fg:"#fff",iconPath:pb.blueprint,width:Lr.blueprint.width,height:Lr.blueprint.height,collapsedWidth:G0.blueprint,collapsedHeight:U0.blueprint,allowedParents:["domain","group"],allowedAtRoot:!0,builtin:!0,hubOnly:!0,properties:R};return{id:"c4-ddd-governance-builtin",name:"C4 + DDD + Governance",nodeTypes:{...s.nodeTypes,adr:f,"fitness-fn":g,requirement:w,blueprint:B},relationTypes:{...s.relationTypes,constrains:P,supersedes:O,implements:I,satisfies:M,derives:_,"traces-to":F}}}function w6t(){return[{id:"c4-builtin",name:"C4",description:"Classic C4 model: Person, System, Container, Component, plus stores and queues.",build:iv},{id:"c4-ddd-builtin",name:"C4 + DDD Domains",description:"C4 extended with strategic DDD: a Domain container that nests recursively (Core / Supporting / Generic) above the technical model.",build:gee},{id:"c4-ddd-governance-builtin",name:"C4 + DDD + Governance",description:"C4 + DDD extended with governance: ADR (Architecture Decision Records), Fitness Functions, and EARS Requirements linked to architecture elements via Constrains, Supersedes, Implements, Satisfies, Derives, and Traces-to relations.",build:R9}]}function ehn(s,u){if(!s.visibleWhen)return!0;const f=String(u[s.visibleWhen.key]??"");return s.visibleWhen.values.includes(f)}function thn(s){return s.charAt(0).toUpperCase()+s.slice(1)}function b6t(s,u){const f=String(s.ears_type??"ubiquitous"),d=(u||"the system").trim(),g=String(s.action??"").trim(),m=String(s.trigger??"").trim(),w=String(s.precondition??"").trim(),S=String(s.unwanted_condition??"").trim(),N=String(s.feature??"").trim(),T=g||"‹action›",P=`${d} shall ${T}`;let O,I=!!g;switch(f){case"event-driven":O=`When ${m||"‹trigger›"}, ${P}.`,I=I&&!!m;break;case"state-driven":O=`While ${w||"‹precondition›"}, ${P}.`,I=I&&!!w;break;case"unwanted-behaviour":O=`If ${S||"‹condition›"}, then ${P}.`,I=I&&!!S;break;case"optional":O=`Where ${N||"‹feature›"}, ${P}.`,I=I&&!!N;break;case"complex":{const C=[];(w||m)&&(w&&C.push(`While ${w}`),m&&C.push(`when ${m}`),S&&C.push(`if ${S}`),N&&C.push(`where ${N}`)),C.length===0&&C.push("‹conditions›"),O=`${C.join(", ")}, ${P}.`,I=I&&(!!w||!!m);break}default:O=`${thn(d)} shall ${T}.`;break}return{sentence:O,complete:I}}function ete(s,u,f){for(const d of Object.values(u))if(d.relationType==="satisfies"&&d.targetId===s){const g=f[d.sourceId];if(g)return g.label}}function $9(s,u,f){if(!s)return!0;const d=Object.values(s.relationTypes);return d.length===0||d.some(g=>g.allowedPairs.length===0)?!0:d.some(g=>g.allowedPairs.some(m=>m.from===u&&m.to===f))}function nhn(s,u,f){if(!s)return;const d=Object.values(s.relationTypes).filter(g=>g.allowedPairs.length>0&&g.allowedPairs.some(m=>m.from===u&&m.to===f));return d.length===1?d[0].id:void 0}function Wh(s,u,f){if(!s)return!0;const d=s.nodeTypes[u];if(!d)return!0;const g=d.allowedParents;return f==null?d.allowedAtRoot!==void 0?d.allowedAtRoot:!g||g.length===0:!!g&&g.includes(f)}function ihn(s,u,f){var g;if(!s)return!0;const d=s.nodeTypes[u];return(g=d==null?void 0:d.cardinality)!=null&&g.max?f0)&&d.push({id:`needs-parent:${N.id}`,severity:"error",message:`${T.label} "${N.label}" must be inside ${P&&P.length?P.join(" or "):"a parent"}.`,nodeId:N.id});for(const O of T.properties??[]){if(!O.required)continue;const I=N[O.key];(I==null||I==="")&&d.push({id:`missing-prop:${N.id}:${O.key}`,severity:"warning",message:`${T.label} "${N.label}" is missing required property "${O.label}".`,nodeId:N.id})}}for(const N of Object.values(f.nodeTypes)){const T=N.cardinality;if(!T)continue;const P=g.filter(O=>O.type===N.id).length;T.min!=null&&PT.max&&d.push({id:`cardinality-max:${N.id}`,severity:"warning",message:`Model has ${P} ${N.label} (maximum ${T.max}).`,nodeTypeId:N.id})}const m=Object.values(f.relationTypes).filter(N=>N.allowedPairs.length>0),w=Object.values(f.relationTypes).some(N=>N.allowedPairs.length===0);if(m.length>0&&!w)for(const N of Object.values(u)){const T=s[N.sourceId],P=s[N.targetId];if(!T||!P)continue;m.some(I=>I.allowedPairs.some(C=>C.from===T.type&&C.to===P.type))||d.push({id:`bad-rel:${N.id}`,severity:"warning",message:`Relation "${T.label}" → "${P.label}" (${T.type}→${P.type}) is not allowed by metamodel.`,relationId:N.id})}return d}function eZ(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var m6t={exports:{}};(function(s,u){(function(f){s.exports=f()})(function(){return function(){function f(d,g,m){function w(T,P){if(!g[T]){if(!d[T]){var O=typeof eZ=="function"&&eZ;if(!P&&O)return O(T,!0);if(S)return S(T,!0);var I=new Error("Cannot find module '"+T+"'");throw I.code="MODULE_NOT_FOUND",I}var C=g[T]={exports:{}};d[T][0].call(C.exports,function(M){var _=d[T][1][M];return w(_||M)},C,C.exports,f,d,g,m)}return g[T].exports}for(var S=typeof eZ=="function"&&eZ,N=0;N0&&arguments[0]!==void 0?arguments[0]:{},I=O.defaultLayoutOptions,C=I===void 0?{}:I,M=O.algorithms,_=M===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:M,F=O.workerFactory,R=O.workerUrl;if(w(this,T),this.defaultLayoutOptions=C,this.initialized=!1,typeof R>"u"&&typeof F>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var B=F;typeof R<"u"&&typeof F>"u"&&(B=function(Q){return new Worker(Q)});var G=B(R);if(typeof G.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new N(G),this.worker.postMessage({cmd:"register",algorithms:_}).then(function(z){return P.initialized=!0}).catch(console.err)}return m(T,[{key:"layout",value:function(O){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},C=I.layoutOptions,M=C===void 0?this.defaultLayoutOptions:C,_=I.logging,F=_===void 0?!1:_,R=I.measureExecutionTime,B=R===void 0?!1:R;return O?this.worker.postMessage({cmd:"layout",graph:O,layoutOptions:M,options:{logging:F,measureExecutionTime:B}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker&&this.worker.terminate()}}]),T}();g.default=S;var N=function(){function T(P){var O=this;if(w(this,T),P===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=P,this.worker.onmessage=function(I){setTimeout(function(){O.receive(O,I)},0)}}return m(T,[{key:"postMessage",value:function(O){var I=this.id||0;this.id=I+1,O.id=I;var C=this;return new Promise(function(M,_){C.resolvers[I]=function(F,R){F?(C.convertGwtStyleError(F),_(F)):M(R)},C.worker.postMessage(O)})}},{key:"receive",value:function(O,I){var C=I.data,M=O.resolvers[C.id];M&&(delete O.resolvers[C.id],C.error?M(C.error):M(null,C.data))}},{key:"terminate",value:function(){this.worker&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(O){if(O){var I=O.__java$exception;I&&(I.cause&&I.cause.backingJsObject&&(O.cause=I.cause.backingJsObject,this.convertGwtStyleError(O.cause)),delete O.__java$exception)}}}]),T}()},{}],2:[function(f,d,g){(function(m){(function(){var w;typeof window<"u"?w=window:typeof m<"u"?w=m:typeof self<"u"&&(w=self);var S;function N(){}function T(){}function P(){}function O(){}function I(){}function C(){}function M(){}function _(){}function F(){}function R(){}function B(){}function G(){}function z(){}function Q(){}function te(){}function ne(){}function Y(){}function oe(){}function Z(){}function re(){}function de(){}function U(){}function se(){}function we(){}function ve(){}function Ke(){}function je(){}function ae(){}function ge(){}function _e(){}function Be(){}function ht(){}function xt(){}function ze(){}function Fe(){}function Ue(){}function Vt(){}function Et(){}function un(){}function Bn(){}function vn(){}function ft(){}function zt(){}function vt(){}function pn(){}function ln(){}function Dt(){}function ji(){}function Hi(){}function Wr(){}function Vo(){}function ni(){}function oi(){}function Hr(){}function Ro(){}function Fs(){}function oa(){}function Nu(){}function Z0(){}function Rt(){}function hi(){}function Ki(){}function pr(){}function ds(){}function Bs(){}function yr(){}function Er(){}function Hs(){}function eu(){}function Cu(){}function bh(){}function tu(){}function Da(){}function Dl(){}function Cc(){}function ed(){}function vb(){}function Ra(){}function $1(){}function F1(){}function wy(){}function by(){}function hF(){}function dF(){}function pF(){}function gF(){}function wF(){}function bF(){}function CM(){}function mF(){}function vF(){}function MM(){}function yF(){}function xF(){}function kF(){}function jF(){}function q9(){}function l6(){}function a6(){}function SF(){}function EF(){}function z9(){}function IF(){}function NF(){}function TM(){}function f6(){}function CF(){}function MF(){}function V9(){}function l8e(){}function a8e(){}function f8e(){}function h8e(){}function d8e(){}function p8e(){}function cte(){}function g8e(){}function w8e(){}function ute(){}function b8e(){}function m8e(){}function v8e(){}function y8e(){}function x8e(){}function k8e(){}function j8e(){}function S8e(){}function E8e(){}function I8e(){}function N8e(){}function C8e(){}function M8e(){}function TF(){}function T8e(){}function A8e(){}function P8e(){}function _8e(){}function O8e(){}function L8e(){}function D8e(){}function R8e(){}function $8e(){}function lte(){}function ate(){}function F8e(){}function B8e(){}function H8e(){}function K8e(){}function q8e(){}function z8e(){}function V8e(){}function U8e(){}function G8e(){}function W8e(){}function X8e(){}function J8e(){}function Y8e(){}function Q8e(){}function Z8e(){}function eje(){}function tje(){}function nje(){}function ije(){}function rje(){}function sje(){}function oje(){}function cje(){}function uje(){}function lje(){}function aje(){}function fje(){}function hje(){}function dje(){}function pje(){}function gje(){}function wje(){}function bje(){}function mje(){}function vje(){}function yje(){}function xje(){}function kje(){}function jje(){}function Sje(){}function Eje(){}function Ije(){}function Nje(){}function Cje(){}function Mje(){}function Tje(){}function Aje(){}function Pje(){}function _je(){}function Oje(){}function Lje(){}function Dje(){}function Rje(){}function $je(){}function Fje(){}function Bje(){}function Hje(){}function Kje(){}function qje(){}function zje(){}function Vje(){}function Uje(){}function Gje(){}function Wje(){}function Xje(){}function Jje(){}function Yje(){}function Qje(){}function Zje(){}function eSe(){}function tSe(){}function nSe(){}function iSe(){}function rSe(){}function sSe(){}function oSe(){}function cSe(){}function uSe(){}function lSe(){}function aSe(){}function fSe(){}function hSe(){}function dSe(){}function pSe(){}function gSe(){}function wSe(){}function bSe(){}function mSe(){}function vSe(){}function ySe(){}function xSe(){}function kSe(){}function jSe(){}function SSe(){}function ESe(){}function ISe(){}function NSe(){}function CSe(){}function MSe(){}function TSe(){}function fte(){}function ASe(){}function PSe(){}function _Se(){}function OSe(){}function LSe(){}function DSe(){}function RSe(){}function $Se(){}function FSe(){}function BSe(){}function HSe(){}function KSe(){}function qSe(){}function zSe(){}function VSe(){}function USe(){}function GSe(){}function WSe(){}function XSe(){}function JSe(){}function YSe(){}function QSe(){}function ZSe(){}function e9e(){}function t9e(){}function n9e(){}function i9e(){}function r9e(){}function s9e(){}function o9e(){}function c9e(){}function u9e(){}function l9e(){}function a9e(){}function f9e(){}function h9e(){}function d9e(){}function p9e(){}function g9e(){}function w9e(){}function b9e(){}function m9e(){}function v9e(){}function y9e(){}function x9e(){}function k9e(){}function j9e(){}function S9e(){}function E9e(){}function I9e(){}function N9e(){}function C9e(){}function M9e(){}function T9e(){}function A9e(){}function P9e(){}function _9e(){}function O9e(){}function L9e(){}function D9e(){}function R9e(){}function $9e(){}function F9e(){}function B9e(){}function H9e(){}function K9e(){}function q9e(){}function z9e(){}function V9e(){}function U9e(){}function G9e(){}function W9e(){}function X9e(){}function hte(){}function J9e(){}function Y9e(){}function Q9e(){}function Z9e(){}function eEe(){}function tEe(){}function nEe(){}function iEe(){}function rEe(){}function sEe(){}function dte(){}function oEe(){}function cEe(){}function uEe(){}function lEe(){}function aEe(){}function fEe(){}function pte(){}function gte(){}function hEe(){}function wte(){}function bte(){}function dEe(){}function pEe(){}function gEe(){}function wEe(){}function bEe(){}function mEe(){}function vEe(){}function yEe(){}function xEe(){}function kEe(){}function jEe(){}function mte(){}function SEe(){}function EEe(){}function IEe(){}function NEe(){}function CEe(){}function MEe(){}function TEe(){}function AEe(){}function PEe(){}function _Ee(){}function OEe(){}function LEe(){}function DEe(){}function REe(){}function $Ee(){}function FEe(){}function BEe(){}function HEe(){}function KEe(){}function qEe(){}function zEe(){}function VEe(){}function UEe(){}function GEe(){}function WEe(){}function XEe(){}function JEe(){}function YEe(){}function QEe(){}function ZEe(){}function e7e(){}function t7e(){}function n7e(){}function i7e(){}function r7e(){}function s7e(){}function o7e(){}function c7e(){}function u7e(){}function l7e(){}function a7e(){}function f7e(){}function h7e(){}function d7e(){}function p7e(){}function g7e(){}function w7e(){}function b7e(){}function m7e(){}function v7e(){}function y7e(){}function x7e(){}function k7e(){}function j7e(){}function S7e(){}function E7e(){}function I7e(){}function N7e(){}function C7e(){}function M7e(){}function T7e(){}function A7e(){}function P7e(){}function _7e(){}function O7e(){}function L7e(){}function D7e(){}function R7e(){}function $7e(){}function F7e(){}function B7e(){}function H7e(){}function K7e(){}function q7e(){}function z7e(){}function V7e(){}function U7e(){}function G7e(){}function W7e(){}function X7e(){}function J7e(){}function Y7e(){}function Q7e(){}function Z7e(){}function eIe(){}function tIe(){}function wjt(){}function nIe(){}function iIe(){}function rIe(){}function sIe(){}function oIe(){}function cIe(){}function uIe(){}function lIe(){}function aIe(){}function fIe(){}function hIe(){}function dIe(){}function pIe(){}function gIe(){}function wIe(){}function bIe(){}function mIe(){}function vIe(){}function yIe(){}function xIe(){}function kIe(){}function jIe(){}function SIe(){}function EIe(){}function IIe(){}function NIe(){}function CIe(){}function AF(){}function PF(){}function MIe(){}function _F(){}function TIe(){}function AIe(){}function PIe(){}function _Ie(){}function OIe(){}function LIe(){}function DIe(){}function RIe(){}function $Ie(){}function FIe(){}function vte(){}function BIe(){}function HIe(){}function KIe(){}function bjt(){}function qIe(){}function zIe(){}function VIe(){}function UIe(){}function GIe(){}function WIe(){}function XIe(){}function ep(){}function JIe(){}function my(){}function yte(){}function YIe(){}function QIe(){}function ZIe(){}function eNe(){}function tNe(){}function nNe(){}function iNe(){}function rNe(){}function sNe(){}function oNe(){}function cNe(){}function uNe(){}function lNe(){}function aNe(){}function fNe(){}function hNe(){}function dNe(){}function pNe(){}function gNe(){}function Qe(){}function wNe(){}function bNe(){}function mNe(){}function vNe(){}function yNe(){}function xNe(){}function kNe(){}function jNe(){}function SNe(){}function ENe(){}function INe(){}function NNe(){}function CNe(){}function OF(){}function MNe(){}function TNe(){}function ANe(){}function AM(){}function PNe(){}function LF(){}function PM(){}function _Ne(){}function xte(){}function ONe(){}function LNe(){}function DNe(){}function RNe(){}function $Ne(){}function FNe(){}function _M(){}function BNe(){}function HNe(){}function OM(){}function KNe(){}function LM(){}function qNe(){}function kte(){}function zNe(){}function DF(){}function jte(){}function VNe(){}function UNe(){}function GNe(){}function WNe(){}function mjt(){}function XNe(){}function JNe(){}function YNe(){}function QNe(){}function ZNe(){}function eCe(){}function tCe(){}function nCe(){}function iCe(){}function rCe(){}function _x(){}function RF(){}function sCe(){}function oCe(){}function cCe(){}function uCe(){}function lCe(){}function aCe(){}function fCe(){}function hCe(){}function dCe(){}function pCe(){}function gCe(){}function wCe(){}function bCe(){}function mCe(){}function vCe(){}function yCe(){}function xCe(){}function kCe(){}function jCe(){}function SCe(){}function ECe(){}function ICe(){}function NCe(){}function CCe(){}function MCe(){}function TCe(){}function ACe(){}function PCe(){}function _Ce(){}function OCe(){}function LCe(){}function DCe(){}function RCe(){}function $Ce(){}function FCe(){}function BCe(){}function HCe(){}function KCe(){}function qCe(){}function zCe(){}function VCe(){}function UCe(){}function GCe(){}function WCe(){}function XCe(){}function JCe(){}function YCe(){}function QCe(){}function ZCe(){}function eMe(){}function tMe(){}function nMe(){}function iMe(){}function rMe(){}function sMe(){}function oMe(){}function cMe(){}function uMe(){}function lMe(){}function aMe(){}function fMe(){}function hMe(){}function dMe(){}function pMe(){}function gMe(){}function wMe(){}function bMe(){}function mMe(){}function vMe(){}function yMe(){}function xMe(){}function kMe(){}function jMe(){}function SMe(){}function EMe(){}function IMe(){}function NMe(){}function CMe(){}function MMe(){}function TMe(){}function AMe(){}function PMe(){}function _Me(){}function OMe(){}function LMe(){}function DMe(){}function RMe(){}function $Me(){}function FMe(){}function BMe(){}function HMe(){}function KMe(){}function qMe(){}function zMe(){}function VMe(){}function UMe(){}function GMe(){}function WMe(){}function XMe(){}function JMe(){}function YMe(){}function Ste(){}function QMe(){}function ZMe(){}function $F(){v6()}function eTe(){oE()}function tTe(){k_()}function nTe(){zq()}function iTe(){z8()}function rTe(){Pae()}function sTe(){ya()}function oTe(){Kle()}function cTe(){U7()}function uTe(){cE()}function lTe(){LE()}function aTe(){DRe()}function fTe(){s3()}function hTe(){aGe()}function dTe(){Hce()}function pTe(){Qze()}function gTe(){Kce()}function wTe(){HGe()}function bTe(){Yze()}function mTe(){q4()}function vTe(){SXe()}function yTe(){jXe()}function xTe(){GVe()}function kTe(){EXe()}function jTe(){l0()}function STe(){lT()}function ETe(){Ahe()}function ITe(){Ge()}function NTe(){IXe()}function CTe(){ZXe()}function MTe(){Zze()}function TTe(){SZe()}function ATe(){eVe()}function PTe(){Bit()}function _Te(){lfe()}function OTe(){pd()}function LTe(){FYe()}function DTe(){Io()}function RTe(){lVe()}function $Te(){r3()}function FTe(){Vfe()}function BTe(){a0()}function HTe(){Ufe()}function KTe(){mf()}function qTe(){Y7()}function zTe(){wV()}function VTe(){Ez()}function $a(){FHe()}function UTe(){uP()}function GTe(){C_()}function Ete(){Un()}function WTe(){zP()}function XTe(){mle()}function Ite(){Eq()}function Nte(){J_()}function JTe(){ihe()}function Cte(e){Ut(e)}function YTe(e){this.a=e}function DM(e){this.a=e}function QTe(e){this.a=e}function ZTe(e){this.a=e}function eAe(e){this.a=e}function tAe(e){this.a=e}function nAe(e){this.a=e}function iAe(e){this.a=e}function Mte(e){this.a=e}function Tte(e){this.a=e}function rAe(e){this.a=e}function sAe(e){this.a=e}function FF(e){this.a=e}function oAe(e){this.a=e}function cAe(e){this.a=e}function BF(e){this.a=e}function HF(e){this.a=e}function uAe(e){this.a=e}function KF(e){this.a=e}function lAe(e){this.a=e}function aAe(e){this.a=e}function fAe(e){this.a=e}function Ate(e){this.b=e}function hAe(e){this.c=e}function dAe(e){this.a=e}function pAe(e){this.a=e}function gAe(e){this.a=e}function wAe(e){this.a=e}function bAe(e){this.a=e}function mAe(e){this.a=e}function vAe(e){this.a=e}function yAe(e){this.a=e}function xAe(e){this.a=e}function kAe(e){this.a=e}function jAe(e){this.a=e}function SAe(e){this.a=e}function EAe(e){this.a=e}function Pte(e){this.a=e}function _te(e){this.a=e}function RM(e){this.a=e}function U9(e){this.a=e}function tp(){this.a=[]}function IAe(e,t){e.a=t}function vjt(e,t){e.a=t}function yjt(e,t){e.b=t}function xjt(e,t){e.b=t}function kjt(e,t){e.b=t}function Ote(e,t){e.j=t}function jjt(e,t){e.g=t}function Sjt(e,t){e.i=t}function Ejt(e,t){e.c=t}function Ijt(e,t){e.c=t}function Njt(e,t){e.d=t}function Cjt(e,t){e.d=t}function np(e,t){e.k=t}function Mjt(e,t){e.c=t}function Lte(e,t){e.c=t}function Dte(e,t){e.a=t}function Tjt(e,t){e.a=t}function Ajt(e,t){e.f=t}function Pjt(e,t){e.a=t}function _jt(e,t){e.b=t}function qF(e,t){e.d=t}function $M(e,t){e.i=t}function Rte(e,t){e.o=t}function Ojt(e,t){e.r=t}function Ljt(e,t){e.a=t}function Djt(e,t){e.b=t}function NAe(e,t){e.e=t}function Rjt(e,t){e.f=t}function $te(e,t){e.g=t}function $jt(e,t){e.e=t}function Fjt(e,t){e.f=t}function Bjt(e,t){e.f=t}function zF(e,t){e.a=t}function VF(e,t){e.b=t}function Hjt(e,t){e.n=t}function Kjt(e,t){e.a=t}function qjt(e,t){e.c=t}function zjt(e,t){e.c=t}function Vjt(e,t){e.c=t}function Ujt(e,t){e.a=t}function Gjt(e,t){e.a=t}function Wjt(e,t){e.d=t}function Xjt(e,t){e.d=t}function Jjt(e,t){e.e=t}function Yjt(e,t){e.e=t}function Qjt(e,t){e.g=t}function Zjt(e,t){e.f=t}function eSt(e,t){e.j=t}function tSt(e,t){e.a=t}function nSt(e,t){e.a=t}function iSt(e,t){e.b=t}function CAe(e){e.b=e.a}function MAe(e){e.c=e.d.d}function Fte(e){this.a=e}function Bte(e){this.a=e}function Hte(e){this.a=e}function ip(e){this.a=e}function rp(e){this.a=e}function G9(e){this.a=e}function TAe(e){this.a=e}function Kte(e){this.a=e}function W9(e){this.a=e}function FM(e){this.a=e}function td(e){this.a=e}function yb(e){this.a=e}function AAe(e){this.a=e}function PAe(e){this.a=e}function UF(e){this.b=e}function Ox(e){this.b=e}function Lx(e){this.b=e}function GF(e){this.a=e}function _Ae(e){this.a=e}function WF(e){this.c=e}function q(e){this.c=e}function OAe(e){this.c=e}function h6(e){this.d=e}function qte(e){this.a=e}function Cn(e){this.a=e}function LAe(e){this.a=e}function zte(e){this.a=e}function Vte(e){this.a=e}function Ute(e){this.a=e}function Gte(e){this.a=e}function Wte(e){this.a=e}function Xte(e){this.a=e}function Dx(e){this.a=e}function DAe(e){this.a=e}function RAe(e){this.a=e}function Rx(e){this.a=e}function $Ae(e){this.a=e}function FAe(e){this.a=e}function BAe(e){this.a=e}function HAe(e){this.a=e}function KAe(e){this.a=e}function qAe(e){this.a=e}function zAe(e){this.a=e}function VAe(e){this.a=e}function UAe(e){this.a=e}function GAe(e){this.a=e}function WAe(e){this.a=e}function XAe(e){this.a=e}function JAe(e){this.a=e}function YAe(e){this.a=e}function QAe(e){this.a=e}function d6(e){this.a=e}function ZAe(e){this.a=e}function ePe(e){this.a=e}function tPe(e){this.a=e}function nPe(e){this.a=e}function BM(e){this.a=e}function iPe(e){this.a=e}function rPe(e){this.a=e}function $x(e){this.a=e}function Jte(e){this.a=e}function sPe(e){this.a=e}function oPe(e){this.a=e}function cPe(e){this.a=e}function uPe(e){this.a=e}function lPe(e){this.a=e}function aPe(e){this.a=e}function Yte(e){this.a=e}function Qte(e){this.a=e}function Zte(e){this.a=e}function p6(e){this.a=e}function HM(e){this.e=e}function Fx(e){this.a=e}function fPe(e){this.a=e}function vy(e){this.a=e}function ene(e){this.a=e}function hPe(e){this.a=e}function dPe(e){this.a=e}function pPe(e){this.a=e}function gPe(e){this.a=e}function wPe(e){this.a=e}function bPe(e){this.a=e}function mPe(e){this.a=e}function vPe(e){this.a=e}function yPe(e){this.a=e}function xPe(e){this.a=e}function kPe(e){this.a=e}function tne(e){this.a=e}function jPe(e){this.a=e}function SPe(e){this.a=e}function EPe(e){this.a=e}function IPe(e){this.a=e}function NPe(e){this.a=e}function CPe(e){this.a=e}function MPe(e){this.a=e}function TPe(e){this.a=e}function APe(e){this.a=e}function PPe(e){this.a=e}function _Pe(e){this.a=e}function OPe(e){this.a=e}function LPe(e){this.a=e}function DPe(e){this.a=e}function RPe(e){this.a=e}function $Pe(e){this.a=e}function FPe(e){this.a=e}function BPe(e){this.a=e}function HPe(e){this.a=e}function KPe(e){this.a=e}function qPe(e){this.a=e}function zPe(e){this.a=e}function VPe(e){this.a=e}function UPe(e){this.a=e}function GPe(e){this.a=e}function WPe(e){this.a=e}function XPe(e){this.a=e}function JPe(e){this.a=e}function YPe(e){this.a=e}function QPe(e){this.a=e}function ZPe(e){this.a=e}function e_e(e){this.a=e}function t_e(e){this.a=e}function n_e(e){this.a=e}function i_e(e){this.a=e}function r_e(e){this.a=e}function s_e(e){this.a=e}function o_e(e){this.a=e}function c_e(e){this.c=e}function u_e(e){this.b=e}function l_e(e){this.a=e}function a_e(e){this.a=e}function f_e(e){this.a=e}function h_e(e){this.a=e}function d_e(e){this.a=e}function p_e(e){this.a=e}function g_e(e){this.a=e}function w_e(e){this.a=e}function b_e(e){this.a=e}function m_e(e){this.a=e}function v_e(e){this.a=e}function y_e(e){this.a=e}function x_e(e){this.a=e}function k_e(e){this.a=e}function j_e(e){this.a=e}function S_e(e){this.a=e}function E_e(e){this.a=e}function I_e(e){this.a=e}function N_e(e){this.a=e}function C_e(e){this.a=e}function M_e(e){this.a=e}function T_e(e){this.a=e}function A_e(e){this.a=e}function P_e(e){this.a=e}function __e(e){this.a=e}function O_e(e){this.a=e}function L_e(e){this.a=e}function nd(e){this.a=e}function gv(e){this.a=e}function D_e(e){this.a=e}function R_e(e){this.a=e}function $_e(e){this.a=e}function F_e(e){this.a=e}function B_e(e){this.a=e}function H_e(e){this.a=e}function K_e(e){this.a=e}function q_e(e){this.a=e}function z_e(e){this.a=e}function V_e(e){this.a=e}function U_e(e){this.a=e}function G_e(e){this.a=e}function W_e(e){this.a=e}function X_e(e){this.a=e}function J_e(e){this.a=e}function Y_e(e){this.a=e}function Q_e(e){this.a=e}function Z_e(e){this.a=e}function eOe(e){this.a=e}function tOe(e){this.a=e}function nOe(e){this.a=e}function iOe(e){this.a=e}function rOe(e){this.a=e}function sOe(e){this.a=e}function oOe(e){this.a=e}function cOe(e){this.a=e}function KM(e){this.a=e}function uOe(e){this.f=e}function lOe(e){this.a=e}function aOe(e){this.a=e}function fOe(e){this.a=e}function hOe(e){this.a=e}function dOe(e){this.a=e}function pOe(e){this.a=e}function gOe(e){this.a=e}function wOe(e){this.a=e}function bOe(e){this.a=e}function mOe(e){this.a=e}function vOe(e){this.a=e}function yOe(e){this.a=e}function xOe(e){this.a=e}function kOe(e){this.a=e}function jOe(e){this.a=e}function SOe(e){this.a=e}function EOe(e){this.a=e}function IOe(e){this.a=e}function NOe(e){this.a=e}function COe(e){this.a=e}function MOe(e){this.a=e}function TOe(e){this.a=e}function AOe(e){this.a=e}function POe(e){this.a=e}function _Oe(e){this.a=e}function OOe(e){this.a=e}function LOe(e){this.a=e}function DOe(e){this.a=e}function XF(e){this.a=e}function nne(e){this.a=e}function mi(e){this.b=e}function ROe(e){this.a=e}function $Oe(e){this.a=e}function FOe(e){this.a=e}function BOe(e){this.a=e}function HOe(e){this.a=e}function KOe(e){this.a=e}function qOe(e){this.a=e}function zOe(e){this.b=e}function VOe(e){this.a=e}function X9(e){this.a=e}function UOe(e){this.a=e}function GOe(e){this.a=e}function ine(e){this.c=e}function qM(e){this.e=e}function zM(e){this.a=e}function VM(e){this.a=e}function JF(e){this.a=e}function WOe(e){this.d=e}function XOe(e){this.a=e}function rne(e){this.a=e}function sne(e){this.a=e}function Ig(e){this.e=e}function rSt(){this.a=0}function hn(){ru(this)}function Re(){aH(this)}function YF(){Pqe(this)}function JOe(){}function Ng(){this.c=fxe}function YOe(e,t){e.b+=t}function sSt(e,t){t.Wb(e)}function oSt(e){return e.a}function cSt(e){return e.a}function uSt(e){return e.a}function lSt(e){return e.a}function aSt(e){return e.a}function V(e){return e.e}function fSt(){return null}function hSt(){return null}function dSt(){zne(),Utn()}function pSt(e){e.b.Of(e.e)}function QOe(e){e.b=new bB}function g6(e,t){e.b=t-e.b}function w6(e,t){e.a=t-e.a}function Tt(e,t){e.push(t)}function ZOe(e,t){e.sort(t)}function eLe(e,t){t.jd(e.a)}function gSt(e,t){jr(t,e)}function wSt(e,t,n){e.Yd(n,t)}function J9(e,t){e.e=t,t.b=e}function one(e){Kf(),this.a=e}function tLe(e){Kf(),this.a=e}function nLe(e){Kf(),this.a=e}function QF(e){Xg(),this.a=e}function iLe(e){g4(),HW.le(e)}function cne(){cne=U,new hn}function sp(){kBe.call(this)}function une(){kBe.call(this)}function lne(){sp.call(this)}function ZF(){sp.call(this)}function rLe(){sp.call(this)}function Y9(){sp.call(this)}function Bc(){sp.call(this)}function yy(){sp.call(this)}function An(){sp.call(this)}function ol(){sp.call(this)}function sLe(){sp.call(this)}function po(){sp.call(this)}function oLe(){sp.call(this)}function cLe(){this.a=this}function UM(){this.Bb|=256}function uLe(){this.b=new gFe}function xb(e,t){e.length=t}function GM(e,t){$e(e.a,t)}function bSt(e,t){Oae(e.c,t)}function mSt(e,t){gr(e.b,t)}function vSt(e,t){w_(e.a,t)}function ySt(e,t){Qq(e.a,t)}function Bx(e,t){ai(e.e,t)}function xy(e){P_(e.c,e.b)}function xSt(e,t){e.kc().Nb(t)}function ane(e){this.a=dFt(e)}function sr(){this.a=new hn}function lLe(){this.a=new hn}function fne(){this.a=new CRe}function WM(){this.a=new Re}function eB(){this.a=new Re}function hne(){this.a=new Re}function Rl(){this.a=new Cu}function op(){this.a=new rGe}function dne(){this.a=new cte}function pne(){this.a=new Jze}function gne(){this.a=new uHe}function aLe(){this.a=new Re}function fLe(){this.a=new Re}function hLe(){this.a=new Re}function wne(){this.a=new Re}function dLe(){this.d=new Re}function pLe(){this.a=new wVe}function gLe(){this.a=new sr}function wLe(){this.a=new hn}function bLe(){this.b=new hn}function mLe(){this.b=new Re}function bne(){this.e=new Re}function vLe(){this.a=new jTe}function yLe(){this.d=new Re}function xLe(){xze.call(this)}function kLe(){xze.call(this)}function jLe(){Re.call(this)}function mne(){lne.call(this)}function vne(){WM.call(this)}function SLe(){ZT.call(this)}function ELe(){wne.call(this)}function b6(){JOe.call(this)}function tB(){b6.call(this)}function ky(){JOe.call(this)}function yne(){ky.call(this)}function ILe(){Sne.call(this)}function NLe(){Sne.call(this)}function CLe(){Sne.call(this)}function MLe(){Ene.call(this)}function m6(){PNe.call(this)}function xne(){PNe.call(this)}function Hc(){Ai.call(this)}function TLe(){VLe.call(this)}function ALe(){VLe.call(this)}function PLe(){hn.call(this)}function _Le(){hn.call(this)}function OLe(){hn.call(this)}function nB(){MXe.call(this)}function LLe(){sr.call(this)}function DLe(){UM.call(this)}function iB(){rre.call(this)}function kne(){hn.call(this)}function rB(){rre.call(this)}function sB(){hn.call(this)}function RLe(){hn.call(this)}function jne(){LM.call(this)}function $Le(){jne.call(this)}function FLe(){LM.call(this)}function BLe(){Ste.call(this)}function Sne(){this.a=new sr}function HLe(){this.a=new hn}function KLe(){this.a=new Re}function Ene(){this.a=new hn}function jy(){this.a=new Ai}function qLe(){this.j=new Re}function zLe(){this.a=new KDe}function VLe(){this.a=new KNe}function Ine(){this.a=new jIe}function v6(){v6=U,_W=new T}function oB(){oB=U,OW=new GLe}function cB(){cB=U,LW=new ULe}function ULe(){BF.call(this,"")}function GLe(){BF.call(this,"")}function WLe(e){QWe.call(this,e)}function XLe(e){QWe.call(this,e)}function Nne(e){Mte.call(this,e)}function Cne(e){bRe.call(this,e)}function kSt(e){bRe.call(this,e)}function jSt(e){Cne.call(this,e)}function SSt(e){Cne.call(this,e)}function ESt(e){Cne.call(this,e)}function JLe(e){FK.call(this,e)}function YLe(e){FK.call(this,e)}function QLe(e){THe.call(this,e)}function ZLe(e){Yne.call(this,e)}function y6(e){sT.call(this,e)}function Mne(e){sT.call(this,e)}function eDe(e){sT.call(this,e)}function Tne(e){Gzt.call(this,e)}function Ane(e){Tne.call(this,e)}function go(e){YKe.call(this,e)}function tDe(e){go.call(this,e)}function Sy(){U9.call(this,{})}function nDe(){nDe=U,Fat=new re}function XM(){XM=U,$W=new QFe}function iDe(){iDe=U,Npe=new N}function Pne(){Pne=U,Cpe=new Q}function JM(){JM=U,Wj=new Y}function uB(e){Qx(),this.a=e}function lB(e){sue(),this.a=e}function Cg(e){GH(),this.f=e}function aB(e){GH(),this.f=e}function rDe(e){$He(),this.a=e}function sDe(e){e.b=null,e.c=0}function ISt(e,t){e.e=t,Bnt(e,t)}function NSt(e,t){e.a=t,OVt(e)}function fB(e,t,n){e.a[t.g]=n}function CSt(e,t,n){XKt(n,e,t)}function MSt(e,t){SIt(t.i,e.n)}function oDe(e,t){WRt(e).Cd(t)}function TSt(e,t){e.a.ec().Mc(t)}function cDe(e,t){return e.g-t.g}function ASt(e,t){return e*e/t}function Xe(e){return Ut(e),e}function pe(e){return Ut(e),e}function Q9(e){return Ut(e),e}function PSt(e){return new RM(e)}function _St(e){return new Lb(e)}function _ne(e){return Ut(e),e}function OSt(e){return Ut(e),e}function YM(e){go.call(this,e)}function Ks(e){go.call(this,e)}function uDe(e){go.call(this,e)}function hB(e){YKe.call(this,e)}function Hx(e){go.call(this,e)}function Ft(e){go.call(this,e)}function qs(e){go.call(this,e)}function lDe(e){go.call(this,e)}function Ey(e){go.call(this,e)}function Bd(e){go.call(this,e)}function Hd(e){go.call(this,e)}function Iy(e){go.call(this,e)}function Df(e){go.call(this,e)}function dB(e){go.call(this,e)}function Ln(e){go.call(this,e)}function nu(e){Ut(e),this.a=e}function One(e){return Ip(e),e}function x6(e){Use(e,e.length)}function k6(e){return e.b==e.c}function kb(e){return!!e&&e.b}function LSt(e){return!!e&&e.k}function DSt(e){return!!e&&e.j}function RSt(e,t,n){e.c.Ef(t,n)}function aDe(e,t){e.be(t),t.ae(e)}function Ny(e){Kf(),this.a=Tn(e)}function pB(){this.a=_n(Tn(bs))}function fDe(){throw V(new An)}function $St(){throw V(new An)}function Lne(){throw V(new An)}function hDe(){throw V(new An)}function FSt(){throw V(new An)}function BSt(){throw V(new An)}function QM(){QM=U,g4()}function Kd(){G9.call(this,"")}function j6(){G9.call(this,"")}function B1(){G9.call(this,"")}function Cy(){G9.call(this,"")}function Dne(e){Ks.call(this,e)}function Rne(e){Ks.call(this,e)}function Rf(e){Ft.call(this,e)}function Kx(e){Lx.call(this,e)}function dDe(e){Kx.call(this,e)}function gB(e){WT.call(this,e)}function wB(e){wre.call(this,e,0)}function bB(){Coe.call(this,12,3)}function W(e,t){return zze(e,t)}function ZM(e,t){return eq(e,t)}function HSt(e,t){return e.a-t.a}function KSt(e,t){return e.a-t.a}function qSt(e,t){return e.a-t.a}function zSt(e,t){return t in e.a}function pDe(e){return e.a?e.b:0}function VSt(e){return e.a?e.b:0}function USt(e,t,n){t.Cd(e.a[n])}function GSt(e,t,n){t.Pe(e.a[n])}function WSt(e,t){e.b=new gs(t)}function XSt(e,t){return e.b=t,e}function gDe(e,t){return e.c=t,e}function wDe(e,t){return e.f=t,e}function JSt(e,t){return e.g=t,e}function $ne(e,t){return e.a=t,e}function Fne(e,t){return e.f=t,e}function YSt(e,t){return e.k=t,e}function Bne(e,t){return e.a=t,e}function QSt(e,t){return e.e=t,e}function Hne(e,t){return e.e=t,e}function ZSt(e,t){return e.f=t,e}function e9t(e,t){e.b=!0,e.d=t}function t9t(e,t){return e.b-t.b}function n9t(e,t){return e.g-t.g}function i9t(e,t){return e?0:t-1}function bDe(e,t){return e?0:t-1}function r9t(e,t){return e?t-1:0}function s9t(e,t){return e.s-t.s}function o9t(e,t){return t.rg(e)}function Mg(e,t){return e.b=t,e}function eT(e,t){return e.a=t,e}function Tg(e,t){return e.c=t,e}function Ag(e,t){return e.d=t,e}function Pg(e,t){return e.e=t,e}function Kne(e,t){return e.f=t,e}function S6(e,t){return e.a=t,e}function qx(e,t){return e.b=t,e}function zx(e,t){return e.c=t,e}function et(e,t){return e.c=t,e}function bt(e,t){return e.b=t,e}function tt(e,t){return e.d=t,e}function nt(e,t){return e.e=t,e}function c9t(e,t){return e.f=t,e}function it(e,t){return e.g=t,e}function rt(e,t){return e.a=t,e}function st(e,t){return e.i=t,e}function ot(e,t){return e.j=t,e}function u9t(e,t){l0(),bo(t,e)}function l9t(e,t,n){EMt(e.a,t,n)}function tT(e){CH.call(this,e)}function mDe(e){CFt.call(this,e)}function vDe(e){Qqe.call(this,e)}function qne(e){Qqe.call(this,e)}function H1(e){sw.call(this,e)}function yDe(e){bK.call(this,e)}function xDe(e){bK.call(this,e)}function kDe(){Qie.call(this,"")}function Kr(){this.a=0,this.b=0}function jDe(){this.b=0,this.a=0}function SDe(e,t){e.b=0,Vb(e,t)}function EDe(e,t){return e.k=t,e}function a9t(e,t){return e.j=t,e}function f9t(e,t){e.c=t,e.b=!0}function IDe(){IDe=U,Qat=kqt()}function K1(){K1=U,Vmt=_Kt()}function NDe(){NDe=U,Or=Vqt()}function zne(){zne=U,L0=T4()}function Vx(){Vx=U,axe=OKt()}function CDe(){CDe=U,Mvt=LKt()}function Vne(){Vne=U,Do=AVt()}function Fa(e){return e.e&&e.e()}function MDe(e){return e.l|e.m<<22}function TDe(e,t){return e.c._b(t)}function ADe(e,t){return CYe(e.b,t)}function mB(e){return e?e.d:null}function h9t(e){return e?e.g:null}function d9t(e){return e?e.i:null}function cp(e){return sd(e),e.o}function wv(e,t){return e.a+=t,e}function vB(e,t){return e.a+=t,e}function qd(e,t){return e.a+=t,e}function _g(e,t){return e.a+=t,e}function Une(e,t){for(;e.Bd(t););}function nT(e){this.a=new My(e)}function PDe(){throw V(new An)}function _De(){throw V(new An)}function ODe(){throw V(new An)}function LDe(){throw V(new An)}function DDe(){throw V(new An)}function RDe(){throw V(new An)}function zd(e){this.a=new JH(e)}function $De(){this.a=new sj(s2e)}function FDe(){this.b=new sj(Sve)}function BDe(){this.a=new sj(M2e)}function HDe(){this.b=new sj(TY)}function KDe(){this.b=new sj(TY)}function iT(e){this.a=0,this.b=e}function Gne(e){mst(),snn(this,e)}function Ux(e){return J1(e),e.a}function Z9(e){return e.b!=e.d.c}function Wne(e,t){return e.d[t.p]}function qDe(e,t){return kXt(e,t)}function Xne(e,t,n){e.splice(t,n)}function bv(e,t){for(;e.Re(t););}function zDe(e){e.c?rit(e):sit(e)}function VDe(){throw V(new An)}function UDe(){throw V(new An)}function GDe(){throw V(new An)}function WDe(){throw V(new An)}function XDe(){throw V(new An)}function JDe(){throw V(new An)}function YDe(){throw V(new An)}function QDe(){throw V(new An)}function ZDe(){throw V(new An)}function eRe(){throw V(new An)}function p9t(){throw V(new po)}function g9t(){throw V(new po)}function eE(e){this.a=new tRe(e)}function tRe(e){vDt(this,e,Yzt())}function tE(e){return!e||Aqe(e)}function nE(e){return _f[e]!=-1}function w9t(){gL!=0&&(gL=0),wL=-1}function nRe(){PW==null&&(PW=[])}function iE(e,t){Av.call(this,e,t)}function Gx(e,t){iE.call(this,e,t)}function iRe(e,t){this.a=e,this.b=t}function rRe(e,t){this.a=e,this.b=t}function sRe(e,t){this.a=e,this.b=t}function oRe(e,t){this.a=e,this.b=t}function cRe(e,t){this.a=e,this.b=t}function uRe(e,t){this.a=e,this.b=t}function lRe(e,t){this.a=e,this.b=t}function Wx(e,t){this.e=e,this.d=t}function Jne(e,t){this.b=e,this.c=t}function aRe(e,t){this.b=e,this.a=t}function fRe(e,t){this.b=e,this.a=t}function hRe(e,t){this.b=e,this.a=t}function dRe(e,t){this.b=e,this.a=t}function pRe(e,t){this.a=e,this.b=t}function yB(e,t){this.a=e,this.b=t}function gRe(e,t){this.a=e,this.f=t}function Og(e,t){this.g=e,this.i=t}function jn(e,t){this.f=e,this.g=t}function wRe(e,t){this.b=e,this.c=t}function bRe(e){ore(e.dc()),this.c=e}function b9t(e,t){this.a=e,this.b=t}function mRe(e,t){this.a=e,this.b=t}function vRe(e){this.a=c(Tn(e),15)}function Yne(e){this.a=c(Tn(e),15)}function yRe(e){this.a=c(Tn(e),85)}function rT(e){this.b=c(Tn(e),85)}function sT(e){this.b=c(Tn(e),51)}function oT(){this.q=new w.Date}function xB(e,t){this.a=e,this.b=t}function xRe(e,t){return bc(e.b,t)}function rE(e,t){return e.b.Hc(t)}function kRe(e,t){return e.b.Ic(t)}function jRe(e,t){return e.b.Qc(t)}function SRe(e,t){return e.b.Hc(t)}function ERe(e,t){return e.c.uc(t)}function IRe(e,t){return fi(e.c,t)}function Ba(e,t){return e.a._b(t)}function NRe(e,t){return e>t&&t0}function NB(e,t){return Fo(e,t)<0}function qRe(e,t){return qH(e.a,t)}function D9t(e,t){Vze.call(this,e,t)}function rie(e){uK(),THe.call(this,e)}function sie(e,t){$Ke(e,e.length,t)}function uE(e,t){hqe(e,e.length,t)}function P6(e,t){return e.a.get(t)}function zRe(e,t){return bc(e.e,t)}function oie(e){return Ut(e),!1}function cie(e){this.a=c(Tn(e),229)}function gT(e){yt.call(this,e,21)}function wT(e,t){jn.call(this,e,t)}function CB(e,t){jn.call(this,e,t)}function VRe(e,t){this.b=e,this.a=t}function bT(e,t){this.d=e,this.e=t}function URe(e,t){this.a=e,this.b=t}function GRe(e,t){this.a=e,this.b=t}function WRe(e,t){this.a=e,this.b=t}function XRe(e,t){this.a=e,this.b=t}function Ay(e,t){this.a=e,this.b=t}function JRe(e,t){this.b=e,this.a=t}function uie(e,t){this.b=e,this.a=t}function lie(e,t){jn.call(this,e,t)}function aie(e,t){jn.call(this,e,t)}function mv(e,t){jn.call(this,e,t)}function MB(e,t){jn.call(this,e,t)}function TB(e,t){jn.call(this,e,t)}function AB(e,t){jn.call(this,e,t)}function mT(e,t){jn.call(this,e,t)}function fie(e,t){this.b=e,this.a=t}function vT(e,t){jn.call(this,e,t)}function hie(e,t){this.b=e,this.a=t}function yT(e,t){jn.call(this,e,t)}function YRe(e,t){this.b=e,this.a=t}function die(e,t){jn.call(this,e,t)}function PB(e,t){jn.call(this,e,t)}function lE(e,t){jn.call(this,e,t)}function _6(e,t,n){e.splice(t,0,n)}function R9t(e,t,n){e.Mb(n)&&t.Cd(n)}function $9t(e,t,n){t.Pe(e.a.Ye(n))}function F9t(e,t,n){t.Dd(e.a.Ze(n))}function B9t(e,t,n){t.Cd(e.a.Kb(n))}function H9t(e,t){return qc(e.c,t)}function K9t(e,t){return qc(e.e,t)}function xT(e,t){jn.call(this,e,t)}function kT(e,t){jn.call(this,e,t)}function O6(e,t){jn.call(this,e,t)}function pie(e,t){jn.call(this,e,t)}function or(e,t){jn.call(this,e,t)}function jT(e,t){jn.call(this,e,t)}function QRe(e,t){this.a=e,this.b=t}function ZRe(e,t){this.a=e,this.b=t}function e$e(e,t){this.a=e,this.b=t}function t$e(e,t){this.a=e,this.b=t}function n$e(e,t){this.a=e,this.b=t}function i$e(e,t){this.a=e,this.b=t}function r$e(e,t){this.b=e,this.a=t}function s$e(e,t){this.b=e,this.a=t}function gie(e,t){this.b=e,this.a=t}function Yx(e,t){this.c=e,this.d=t}function o$e(e,t){this.e=e,this.d=t}function c$e(e,t){this.a=e,this.b=t}function u$e(e,t){this.a=e,this.b=t}function l$e(e,t){this.a=e,this.b=t}function a$e(e,t){this.b=e,this.a=t}function f$e(e,t){this.b=t,this.c=e}function ST(e,t){jn.call(this,e,t)}function aE(e,t){jn.call(this,e,t)}function _B(e,t){jn.call(this,e,t)}function wie(e,t){jn.call(this,e,t)}function L6(e,t){jn.call(this,e,t)}function OB(e,t){jn.call(this,e,t)}function LB(e,t){jn.call(this,e,t)}function fE(e,t){jn.call(this,e,t)}function bie(e,t){jn.call(this,e,t)}function DB(e,t){jn.call(this,e,t)}function D6(e,t){jn.call(this,e,t)}function mie(e,t){jn.call(this,e,t)}function R6(e,t){jn.call(this,e,t)}function $6(e,t){jn.call(this,e,t)}function Sb(e,t){jn.call(this,e,t)}function RB(e,t){jn.call(this,e,t)}function $B(e,t){jn.call(this,e,t)}function vie(e,t){jn.call(this,e,t)}function hE(e,t){jn.call(this,e,t)}function vv(e,t){jn.call(this,e,t)}function FB(e,t){jn.call(this,e,t)}function ET(e,t){jn.call(this,e,t)}function dE(e,t){jn.call(this,e,t)}function Eb(e,t){jn.call(this,e,t)}function IT(e,t){jn.call(this,e,t)}function yie(e,t){jn.call(this,e,t)}function BB(e,t){jn.call(this,e,t)}function HB(e,t){jn.call(this,e,t)}function KB(e,t){jn.call(this,e,t)}function qB(e,t){jn.call(this,e,t)}function zB(e,t){jn.call(this,e,t)}function VB(e,t){jn.call(this,e,t)}function UB(e,t){jn.call(this,e,t)}function h$e(e,t){this.b=e,this.a=t}function xie(e,t){jn.call(this,e,t)}function d$e(e,t){this.a=e,this.b=t}function p$e(e,t){this.a=e,this.b=t}function g$e(e,t){this.a=e,this.b=t}function kie(e,t){jn.call(this,e,t)}function jie(e,t){jn.call(this,e,t)}function w$e(e,t){this.a=e,this.b=t}function q9t(e,t){return r4(),t!=e}function pE(e){return rn(e.a),e.b}function GB(e){return JUt(e,e.c),e}function b$e(){return IDe(),new Qat}function m$e(){rA(),this.a=new Bre}function v$e(){H_(),this.a=new sr}function y$e(){NK(),this.b=new sr}function x$e(e,t){this.b=e,this.d=t}function k$e(e,t){this.a=e,this.b=t}function j$e(e,t){this.a=e,this.b=t}function S$e(e,t){this.a=e,this.b=t}function E$e(e,t){this.b=e,this.a=t}function Sie(e,t){jn.call(this,e,t)}function Eie(e,t){jn.call(this,e,t)}function NT(e,t){jn.call(this,e,t)}function Rg(e,t){jn.call(this,e,t)}function WB(e,t){jn.call(this,e,t)}function CT(e,t){jn.call(this,e,t)}function Iie(e,t){jn.call(this,e,t)}function Nie(e,t){jn.call(this,e,t)}function gE(e,t){jn.call(this,e,t)}function Cie(e,t){jn.call(this,e,t)}function XB(e,t){jn.call(this,e,t)}function MT(e,t){jn.call(this,e,t)}function JB(e,t){jn.call(this,e,t)}function YB(e,t){jn.call(this,e,t)}function QB(e,t){jn.call(this,e,t)}function ZB(e,t){jn.call(this,e,t)}function Mie(e,t){jn.call(this,e,t)}function eH(e,t){jn.call(this,e,t)}function Tie(e,t){jn.call(this,e,t)}function wE(e,t){jn.call(this,e,t)}function tH(e,t){jn.call(this,e,t)}function Aie(e,t){jn.call(this,e,t)}function bE(e,t){jn.call(this,e,t)}function Pie(e,t){jn.call(this,e,t)}function I$e(e,t){this.b=e,this.a=t}function N$e(e,t){this.b=e,this.a=t}function C$e(e,t){this.b=e,this.a=t}function M$e(e,t){this.b=e,this.a=t}function _ie(e,t){this.a=e,this.b=t}function T$e(e,t){this.a=e,this.b=t}function A$e(e,t){this.a=e,this.b=t}function Ae(e,t){this.a=e,this.b=t}function F6(e,t){jn.call(this,e,t)}function mE(e,t){jn.call(this,e,t)}function Py(e,t){jn.call(this,e,t)}function B6(e,t){jn.call(this,e,t)}function vE(e,t){jn.call(this,e,t)}function nH(e,t){jn.call(this,e,t)}function TT(e,t){jn.call(this,e,t)}function H6(e,t){jn.call(this,e,t)}function iH(e,t){jn.call(this,e,t)}function AT(e,t){jn.call(this,e,t)}function yv(e,t){jn.call(this,e,t)}function yE(e,t){jn.call(this,e,t)}function K6(e,t){jn.call(this,e,t)}function q6(e,t){jn.call(this,e,t)}function xE(e,t){jn.call(this,e,t)}function PT(e,t){jn.call(this,e,t)}function xv(e,t){jn.call(this,e,t)}function rH(e,t){jn.call(this,e,t)}function P$e(e,t){jn.call(this,e,t)}function _T(e,t){jn.call(this,e,t)}function _$e(e,t){this.a=e,this.b=t}function O$e(e,t){this.a=e,this.b=t}function L$e(e,t){this.a=e,this.b=t}function D$e(e,t){this.a=e,this.b=t}function R$e(e,t){this.a=e,this.b=t}function $$e(e,t){this.a=e,this.b=t}function xr(e,t){this.a=e,this.b=t}function F$e(e,t){this.a=e,this.b=t}function B$e(e,t){this.a=e,this.b=t}function H$e(e,t){this.a=e,this.b=t}function K$e(e,t){this.a=e,this.b=t}function q$e(e,t){this.a=e,this.b=t}function z$e(e,t){this.a=e,this.b=t}function V$e(e,t){this.b=e,this.a=t}function U$e(e,t){this.b=e,this.a=t}function G$e(e,t){this.b=e,this.a=t}function W$e(e,t){this.b=e,this.a=t}function X$e(e,t){this.a=e,this.b=t}function J$e(e,t){this.a=e,this.b=t}function OT(e,t){jn.call(this,e,t)}function Y$e(e,t){this.a=e,this.b=t}function Q$e(e,t){this.a=e,this.b=t}function _y(e,t){jn.call(this,e,t)}function Z$e(e,t){this.f=e,this.c=t}function Oie(e,t){return qc(e.g,t)}function z9t(e,t){return qc(t.b,e)}function eFe(e,t){return uz(e.a,t)}function V9t(e,t){return-e.b.af(t)}function U9t(e,t){e&&Jn(aC,e,t)}function Lie(e,t){e.i=null,TP(e,t)}function G9t(e,t,n){VZe(t,eV(e,n))}function W9t(e,t,n){VZe(t,eV(e,n))}function X9t(e,t){jWt(e.a,c(t,58))}function tFe(e,t){vLt(e.a,c(t,12))}function LT(e,t){this.a=e,this.b=t}function nFe(e,t){this.a=e,this.b=t}function iFe(e,t){this.a=e,this.b=t}function rFe(e,t){this.a=e,this.b=t}function sFe(e,t){this.a=e,this.b=t}function oFe(e,t){this.d=e,this.b=t}function cFe(e,t){this.e=e,this.a=t}function kE(e,t){this.b=e,this.c=t}function Die(e,t){this.i=e,this.g=t}function Rie(e,t){this.d=e,this.e=t}function J9t(e,t){OLt(new Jt(e),t)}function DT(e){return F7(e.c,e.b)}function Qs(e){return e?e.md():null}function be(e){return e??null}function Dr(e){return typeof e===GV}function Ib(e){return typeof e===x3}function Nb(e){return typeof e===_he}function $g(e,t){return Fo(e,t)==0}function RT(e,t){return Fo(e,t)>=0}function z6(e,t){return Fo(e,t)!=0}function $T(e,t){return YDt(e.Kc(),t)}function V1(e,t){return e.Rd().Xb(t)}function uFe(e){return bu(e),e.d.gc()}function FT(e){return n8(e==null),e}function V6(e,t){return e.a+=""+t,e}function Os(e,t){return e.a+=""+t,e}function U6(e,t){return e.a+=""+t,e}function Yo(e,t){return e.a+=""+t,e}function Hn(e,t){return e.a+=""+t,e}function $ie(e,t){return e.a+=""+t,e}function Y9t(e){return""+(Ut(e),e)}function lFe(e){ru(this),C8(this,e)}function aFe(){Noe(),_se.call(this)}function fFe(e,t){$se.call(this,e,t)}function hFe(e,t){$se.call(this,e,t)}function BT(e,t){$se.call(this,e,t)}function ps(e,t){Ui(e,t,e.c.b,e.c)}function kv(e,t){Ui(e,t,e.a,e.a.a)}function Fie(e){return St(e,0),null}function dFe(){this.b=0,this.a=!1}function pFe(){this.b=0,this.a=!1}function gFe(){this.b=new My(qb(12))}function wFe(){wFe=U,Uft=En(gz())}function bFe(){bFe=U,pdt=En(Mnt())}function mFe(){mFe=U,Rgt=En(oJe())}function Bie(){Bie=U,cne(),Mpe=new hn}function Ha(e){return e.a=0,e.b=0,e}function vFe(e,t){return e.a=t.g+1,e}function sH(e,t){Pb.call(this,e,t)}function pt(e,t){Fi.call(this,e,t)}function jv(e,t){Die.call(this,e,t)}function yFe(e,t){IE.call(this,e,t)}function oH(e,t){D4.call(this,e,t)}function Gn(e,t){dT(),Jn(AR,e,t)}function xFe(e,t){e.q.setTime(mp(t))}function Q9t(e){w.clearTimeout(e)}function Z9t(e){return Tn(e),new G6(e)}function kFe(e,t){return be(e)===be(t)}function jFe(e,t){return e.a.a.a.cc(t)}function cH(e,t){return fl(e.a,0,t)}function Hie(e){return nTt(c(e,74))}function Oy(e){return kr((Ut(e),e))}function eEt(e){return kr((Ut(e),e))}function SFe(e){return wc(e.l,e.m,e.h)}function Kie(e,t){return $o(e.a,t.a)}function tEt(e,t){return aqe(e.a,t.a)}function nEt(e,t){return xi(e.a,t.a)}function $f(e,t){return e.indexOf(t)}function iEt(e,t){return e.j[t.p]==2}function Fg(e,t){return e==t?0:e?1:-1}function HT(e){return e<10?"0"+e:""+e}function oo(e){return typeof e===_he}function rEt(e){return e==Lw||e==km}function sEt(e){return e==Lw||e==xm}function EFe(e,t){return $o(e.g,t.g)}function qie(e){return to(e.b.b,e,0)}function IFe(){pA.call(this,0,0,0,0)}function Ff(){zte.call(this,new Yd)}function zie(e,t){x4(e,0,e.length,t)}function oEt(e,t){return $e(e.a,t),t}function cEt(e,t){return da(),t.a+=e}function uEt(e,t){return da(),t.a+=e}function lEt(e,t){return da(),t.c+=e}function aEt(e,t){return $e(e.c,t),e}function Vie(e,t){return Uu(e.a,t),e}function NFe(e){this.a=b$e(),this.b=e}function CFe(e){this.a=b$e(),this.b=e}function gs(e){this.a=e.a,this.b=e.b}function G6(e){this.a=e,$F.call(this)}function MFe(e){this.a=e,$F.call(this)}function Ly(){al.call(this,0,0,0,0)}function KT(e){return Uu(new ur,e)}function TFe(e){return PA(c(e,123))}function Mu(e){return e.vh()&&e.wh()}function Sv(e){return e!=Tf&&e!=P0}function rd(e){return e==Js||e==so}function Ev(e){return e==Cl||e==Cf}function AFe(e){return e==L2||e==O2}function fEt(e,t){return $o(e.g,t.g)}function PFe(e,t){return new D4(t,e)}function hEt(e,t){return new D4(t,e)}function Uie(e){return _Ct(e.b.Kc(),e.a)}function uH(e,t){z4(e,t),M4(e,e.D)}function lH(e,t,n){kP(e,t),xP(e,n)}function Iv(e,t,n){cw(e,t),ow(e,n)}function cl(e,t,n){vc(e,t),yc(e,n)}function jE(e,t,n){E4(e,t),N4(e,n)}function SE(e,t,n){I4(e,t),C4(e,n)}function _Fe(e,t,n){Cre.call(this,e,t,n)}function Gie(e){Z$e.call(this,e,!0)}function OFe(){wT.call(this,"Tail",3)}function LFe(){wT.call(this,"Head",1)}function U1(e){Xf(),GDt.call(this,e)}function Bg(e){pA.call(this,e,e,e,e)}function aH(e){e.c=ke(Cr,Mt,1,0,5,1)}function Wie(e){return e.b&&MV(e),e.a}function Xie(e){return e.b&&MV(e),e.c}function dEt(e,t){jf||(e.b=t)}function pEt(e,t){return e[e.length]=t}function gEt(e,t){return e[e.length]=t}function wEt(e,t){return zb(t,cf(e))}function bEt(e,t){return zb(t,cf(e))}function mEt(e,t){return NP(oK(e.d),t)}function vEt(e,t){return NP(oK(e.g),t)}function yEt(e,t){return NP(oK(e.j),t)}function qr(e,t){Fi.call(this,e.b,t)}function xEt(e,t){yn(Uo(e.a),nVe(t))}function kEt(e,t){yn(wu(e.a),iVe(t))}function jEt(e,t,n){cl(n,n.i+e,n.j+t)}function DFe(e,t,n){Vi(e.c[t.g],t.g,n)}function SEt(e,t,n){c(e.c,71).Gi(t,n)}function fH(e,t,n){return Vi(e,t,n),n}function RFe(e){mc(e.Sf(),new nPe(e))}function Nv(e){return e!=null?Ei(e):0}function EEt(e){return e==null?0:Ei(e)}function W6(e){ci(),Ig.call(this,e)}function $Fe(e){this.a=e,lse.call(this,e)}function sf(){sf=U,w.Math.log(2)}function ul(){ul=U,zh=(HRe(),Ymt)}function FFe(){FFe=U,VJ=new H8(sQ)}function Pn(){Pn=U,new BFe,new Re}function BFe(){new hn,new hn,new hn}function IEt(){throw V(new Bd(jat))}function NEt(){throw V(new Bd(jat))}function CEt(){throw V(new Bd(Sat))}function MEt(){throw V(new Bd(Sat))}function hH(e){this.a=e,rT.call(this,e)}function dH(e){this.a=e,rT.call(this,e)}function HFe(e,t){Xg(),this.a=e,this.b=t}function TEt(e,t){Tn(t),_v(e).Jc(new R)}function ir(e,t){zH(e.c,e.c.length,t)}function wo(e){return e.at?1:0}function Yie(e,t){return Fo(e,t)>0?e:t}function wc(e,t,n){return{l:e,m:t,h:n}}function AEt(e,t){e.a!=null&&tFe(t,e.a)}function PEt(e){ls(e,null),Fr(e,null)}function _Et(e,t,n){return Jn(e.g,n,t)}function Cv(e,t,n){return yle(t,n,e.c)}function OEt(e,t,n){return Jn(e.k,n,t)}function LEt(e,t,n){return yen(e,t,n),n}function DEt(e,t){return Hu(),t.n.b+=e}function qFe(e){yoe.call(this),this.b=e}function Qie(e){Fre.call(this),this.a=e}function zFe(){wT.call(this,"Range",2)}function qT(e){this.b=e,this.a=new Re}function VFe(e){this.b=new TM,this.a=e}function UFe(e){e.a=new ze,e.c=new ze}function GFe(e){e.a=new hn,e.d=new hn}function WFe(e){CK(e,null),MK(e,null)}function XFe(e,t){return ken(e.a,t,null)}function REt(e,t){return Jn(e.a,t.a,t)}function Xr(e){return new Ae(e.a,e.b)}function Zie(e){return new Ae(e.c,e.d)}function $Et(e){return new Ae(e.c,e.d)}function X6(e,t){return OZt(e.c,e.b,t)}function ce(e,t){return e!=null&&vz(e,t)}function pH(e,t){return NRt(e.Kc(),t)!=-1}function zT(e){return e.Ob()?e.Pb():null}function FEt(e){this.b=(jt(),new WF(e))}function ere(e){this.a=e,hn.call(this)}function JFe(){IE.call(this,null,null)}function YFe(){YT.call(this,null,null)}function QFe(){jn.call(this,"INSTANCE",0)}function ZFe(){Zle(),this.a=new sj(Jge)}function eBe(e){return Uf(e,0,e.length)}function BEt(e,t){return new mBe(e.Kc(),t)}function tre(e,t){return e.a.Bc(t)!=null}function tBe(e,t){mn(e),e.Gc(c(t,15))}function HEt(e,t,n){e.c.bd(t,c(n,136))}function KEt(e,t,n){e.c.Ui(t,c(n,136))}function nBe(e,t){e.c&&(kse(t),Cze(t))}function qEt(e,t){e.q.setHours(t),aj(e,t)}function zEt(e,t){qg(t,e.a.a.a,e.a.a.b)}function VEt(e,t,n,i){Vi(e.a[t.g],n.g,i)}function gH(e,t,n){return e.a[t.g][n.g]}function UEt(e,t){return e.e[t.c.p][t.p]}function GEt(e,t){return e.c[t.c.p][t.p]}function of(e,t){return e.a[t.c.p][t.p]}function WEt(e,t){return e.j[t.p]=sWt(t)}function wH(e,t){return e.a.Bc(t)!=null}function XEt(e,t){return pe(ye(t.a))<=e}function JEt(e,t){return pe(ye(t.a))>=e}function YEt(e,t){return sce(e.f,t.Pg())}function Dy(e,t){return e.a*t.a+e.b*t.b}function QEt(e,t){return e.a0?t/(e*e):t*100}function j7t(e,t){return e>0?t*t/e:t*t*100}function Cb(e,t){return c(df(e.a,t),34)}function S7t(e,t){return l0(),mt(e,t.e,t)}function E7t(e,t,n){return aT(),n.Mg(e,t)}function I7t(e){return pd(),e.e.a+e.f.a/2}function N7t(e,t,n){return pd(),n.e.a-e*t}function C7t(e){return pd(),e.e.b+e.f.b/2}function M7t(e,t,n){return pd(),n.e.b-e*t}function PBe(e){e.d=new MBe(e),e.e=new hn}function _Be(){this.a=new tw,this.b=new tw}function OBe(e){this.c=e,this.a=1,this.b=1}function LBe(e){VV(),QOe(this),this.Ff(e)}function T7t(e,t,n){uP(),e.pf(t)&&n.Cd(e)}function A7t(e,t,n){return $e(t,UYe(e,n))}function qg(e,t,n){return e.a+=t,e.b+=n,e}function P7t(e,t,n){return e.a*=t,e.b*=n,e}function vre(e,t){return e.a=t.a,e.b=t.b,e}function QT(e){return e.a=-e.a,e.b=-e.b,e}function Z6(e,t,n){return e.a-=t,e.b-=n,e}function DBe(e){Ai.call(this),S8(this,e)}function RBe(){jn.call(this,"GROW_TREE",0)}function $Be(){jn.call(this,"POLYOMINO",0)}function Au(e,t,n){Uc.call(this,e,t,n,2)}function _7t(e,t,n){F8(Uo(e.a),t,nVe(n))}function FBe(e,t){A6(),IE.call(this,e,t)}function yre(e,t){Vd(),YT.call(this,e,t)}function BBe(e,t){Vd(),yre.call(this,e,t)}function HBe(e,t){Vd(),YT.call(this,e,t)}function O7t(e,t){return e.c.Fc(c(t,136))}function L7t(e,t,n){F8(wu(e.a),t,iVe(n))}function KBe(e){this.c=e,vc(e,0),yc(e,0)}function kH(e,t){ul(),bA.call(this,e,t)}function qBe(e,t){ul(),kH.call(this,e,t)}function xre(e,t){ul(),kH.call(this,e,t)}function kre(e,t){ul(),bA.call(this,e,t)}function zBe(e,t){ul(),xre.call(this,e,t)}function VBe(e,t){ul(),kre.call(this,e,t)}function UBe(e,t){ul(),bA.call(this,e,t)}function D7t(e,t,n){return t.zl(e.e,e.c,n)}function R7t(e,t,n){return t.Al(e.e,e.c,n)}function jre(e,t,n){return Z_(h7(e,t),n)}function jH(e,t){return r0(e.e,c(t,54))}function $7t(e){return e==null?null:ltn(e)}function F7t(e){return e==null?null:nVt(e)}function B7t(e){return e==null?null:uo(e)}function H7t(e){return e==null?null:uo(e)}function We(e){return n8(e==null||Ib(e)),e}function ye(e){return n8(e==null||Nb(e)),e}function _n(e){return n8(e==null||Dr(e)),e}function sd(e){e.o==null&&OGt(e)}function Sre(e){if(!e)throw V(new Y9)}function K7t(e){if(!e)throw V(new ZF)}function rn(e){if(!e)throw V(new po)}function Mb(e){if(!e)throw V(new Bc)}function GBe(e){if(!e)throw V(new ol)}function n4(){n4=U,hC=new TLe,new ALe}function Pv(){Pv=U,$2=new mi("root")}function Ere(){MXe.call(this),this.Bb|=xs}function q7t(e,t){this.d=e,MAe(this),this.b=t}function Ire(e,t){JK.call(this,e),this.a=t}function Nre(e,t){JK.call(this,e),this.a=t}function Cre(e,t,n){rP.call(this,e,t,n,null)}function WBe(e,t,n){rP.call(this,e,t,n,null)}function ME(e,t){this.c=e,Wx.call(this,e,t)}function e8(e,t){this.a=e,ME.call(this,e,t)}function Mre(e){this.q=new w.Date(mp(e))}function XBe(e){return e>8?0:e+1}function JBe(e,t){jf||$e(e.a,t)}function z7t(e,t){return cE(),L4(t.d.i,e)}function V7t(e,t){return s3(),new Cit(t,e)}function U7t(e,t,n){return e.Ne(t,n)<=0?n:t}function G7t(e,t,n){return e.Ne(t,n)<=0?t:n}function W7t(e,t){return c(df(e.b,t),143)}function X7t(e,t){return c(df(e.c,t),233)}function SH(e){return c(Je(e.a,e.b),294)}function YBe(e){return new Ae(e.c,e.d+e.a)}function QBe(e){return Ut(e),e?1231:1237}function ZBe(e){return Hu(),AFe(c(e,203))}function Tb(){Tb=U,Sge=lt((Lu(),og))}function J7t(e,t){t.a?eGt(e,t):wH(e.a,t.b)}function TE(e,t,n){++e.j,e.tj(),XK(e,t,n)}function eHe(e,t,n){++e.j,e.qj(t,e.Zi(t,n))}function tHe(e,t,n){var i;i=e.fd(t),i.Rb(n)}function Tre(e,t,n){return n=Xu(e,t,6,n),n}function Are(e,t,n){return n=Xu(e,t,3,n),n}function Pre(e,t,n){return n=Xu(e,t,9,n),n}function Hf(e,t){return GE(t,nde),e.f=t,e}function _re(e,t){return(t&ui)%e.d.length}function nHe(e,t,n){return hhe(e.c,e.b,t,n)}function iHe(e,t){this.c=e,sw.call(this,t)}function rHe(e,t){this.a=e,zOe.call(this,t)}function AE(e,t){this.a=e,zOe.call(this,t)}function Fi(e,t){mi.call(this,e),this.a=t}function Ore(e,t){ine.call(this,e),this.a=t}function EH(e,t){ine.call(this,e),this.a=t}function Y7t(e){ple.call(this,0,0),this.f=e}function sHe(e,t,n){return e.a+=Uf(t,0,n),e}function PE(e){return!e.a&&(e.a=new Z),e.a}function Lre(e,t){var n;return n=e.e,e.e=t,n}function Dre(e,t){var n;return n=t,!!e.Fe(n)}function Q7t(e,t){return _t(),e==t?0:e?1:-1}function Ab(e,t){e.a.bd(e.b,t),++e.b,e.c=-1}function _E(e){e.b?_E(e.b):e.f.c.zc(e.e,e.d)}function oHe(e){ru(e.e),e.d.b=e.d,e.d.a=e.d}function Z7t(e,t,n){up(),IAe(e,t.Ve(e.a,n))}function Rre(e,t,n){return Uy(e,c(t,22),n)}function ha(e,t){return ZM(new Array(t),e)}function eIt(e){return Mn(W1(e,32))^Mn(e)}function IH(e){return String.fromCharCode(e)}function tIt(e){return e==null?null:e.message}function nIt(e,t,n){return e.apply(t,n)}function iIt(e,t){var n;n=e[EU],n.call(e,t)}function rIt(e,t){var n;n=e[EU],n.call(e,t)}function sIt(e,t){return cE(),!L4(t.d.i,e)}function $re(e,t,n,i){pA.call(this,e,t,n,i)}function cHe(){ZT.call(this),this.a=new Kr}function Fre(){this.n=new Kr,this.o=new Kr}function uHe(){this.b=new Kr,this.c=new Re}function lHe(){this.a=new Re,this.b=new Re}function aHe(){this.a=new cte,this.b=new uLe}function Bre(){this.b=new Yd,this.a=new Yd}function fHe(){this.b=new sr,this.a=new sr}function hHe(){this.b=new hn,this.a=new hn}function dHe(){this.b=new FDe,this.a=new h7e}function pHe(){this.a=new STe,this.b=new iEe}function gHe(){this.a=new Re,this.d=new Re}function ZT(){this.n=new ky,this.i=new Ly}function wHe(e){this.a=(Vu(e,am),new ac(e))}function bHe(e){this.a=(Vu(e,am),new ac(e))}function oIt(e){return e<100?null:new H1(e)}function cIt(e,t){return e.n.a=(Ut(t),t+10)}function uIt(e,t){return e.n.a=(Ut(t),t+10)}function lIt(e,t){return t==e||rk(D_(t),e)}function mHe(e,t){return Jn(e.a,t,"")==null}function aIt(e,t){var n;return n=t.qi(e.a),n}function li(e,t){return e.a+=t.a,e.b+=t.b,e}function Ir(e,t){return e.a-=t.a,e.b-=t.b,e}function fIt(e){return xb(e.j.c,0),e.a=-1,e}function Hre(e,t,n){return n=Xu(e,t,11,n),n}function hIt(e,t,n){n!=null&&CP(t,Tz(e,n))}function dIt(e,t,n){n!=null&&MP(t,Tz(e,n))}function Fy(e,t,n,i){Ie.call(this,e,t,n,i)}function Kre(e,t,n,i){Ie.call(this,e,t,n,i)}function vHe(e,t,n,i){Kre.call(this,e,t,n,i)}function yHe(e,t,n,i){SA.call(this,e,t,n,i)}function NH(e,t,n,i){SA.call(this,e,t,n,i)}function qre(e,t,n,i){SA.call(this,e,t,n,i)}function xHe(e,t,n,i){NH.call(this,e,t,n,i)}function zre(e,t,n,i){NH.call(this,e,t,n,i)}function It(e,t,n,i){qre.call(this,e,t,n,i)}function kHe(e,t,n,i){zre.call(this,e,t,n,i)}function jHe(e,t,n,i){Kse.call(this,e,t,n,i)}function Pb(e,t){Ks.call(this,Fj+e+Hp+t)}function Vre(e,t){return e.jk().wi().ri(e,t)}function Ure(e,t){return e.jk().wi().ti(e,t)}function SHe(e,t){return Ut(e),be(e)===be(t)}function wt(e,t){return Ut(e),be(e)===be(t)}function pIt(e,t){return e.b.Bd(new GRe(e,t))}function gIt(e,t){return e.b.Bd(new WRe(e,t))}function EHe(e,t){return e.b.Bd(new XRe(e,t))}function wIt(e,t){return e.e=c(e.d.Kb(t),159)}function Gre(e,t,n){return e.lastIndexOf(t,n)}function bIt(e,t,n){return xi(e[t.a],e[n.a])}function mIt(e,t){return Ne(t,(Ge(),SN),e)}function vIt(e,t){return $o(t.a.d.p,e.a.d.p)}function yIt(e,t){return $o(e.a.d.p,t.a.d.p)}function xIt(e,t){return xi(e.c-e.s,t.c-t.s)}function kIt(e,t){return xi(e.b.e.a,t.b.e.a)}function jIt(e,t){return xi(e.c.e.a,t.c.e.a)}function IHe(e){return e.c?to(e.c.a,e,0):-1}function By(e){return e==sg||e==Kh||e==uc}function Wre(e,t){this.c=e,eK.call(this,e,t)}function NHe(e,t,n){this.a=e,wre.call(this,t,n)}function CHe(e){this.c=e,BT.call(this,jI,0)}function MHe(e,t,n){this.c=t,this.b=n,this.a=e}function OE(e){r4(),this.d=e,this.a=new Tv}function THe(e){Kf(),this.a=(jt(),new Kx(e))}function SIt(e,t){rd(e.f)?IGt(e,t):izt(e,t)}function AHe(e,t){RCt.call(this,e,e.length,t)}function EIt(e,t){jf||t&&(e.d=t)}function PHe(e,t){return ce(t,15)&&uit(e.c,t)}function IIt(e,t,n){return c(e.c,71).Wk(t,n)}function eA(e,t,n){return c(e.c,71).Xk(t,n)}function NIt(e,t,n){return D7t(e,c(t,343),n)}function Xre(e,t,n){return R7t(e,c(t,343),n)}function CIt(e,t,n){return ZZe(e,c(t,343),n)}function _He(e,t,n){return wzt(e,c(t,343),n)}function t8(e,t){return t==null?null:Wb(e.b,t)}function Jre(e){return Nb(e)?(Ut(e),e):e.ue()}function tA(e){return!isNaN(e)&&!isFinite(e)}function CH(e){UFe(this),Bu(this),Gr(this,e)}function iu(e){aH(this),hse(this.c,0,e.Pc())}function ll(e,t,n){this.a=e,this.b=t,this.c=n}function OHe(e,t,n){this.a=e,this.b=t,this.c=n}function LHe(e,t,n){this.d=e,this.b=n,this.a=t}function DHe(e){this.a=e,id(),Oo(Date.now())}function RHe(e){_u(e.a),fce(e.c,e.b),e.b=null}function MH(){MH=U,Ype=new Fe,Zat=new Ue}function $He(){$He=U,nvt=ke(Cr,Mt,1,0,5,1)}function FHe(){FHe=U,yvt=ke(Cr,Mt,1,0,5,1)}function Yre(){Yre=U,xvt=ke(Cr,Mt,1,0,5,1)}function Kf(){Kf=U,new one((jt(),jt(),vs))}function MIt(e){return k4(),Sn((VGe(),nft),e)}function TIt(e){return cu(),Sn((LGe(),uft),e)}function AIt(e){return u_(),Sn((yUe(),pft),e)}function PIt(e){return gP(),Sn((xUe(),gft),e)}function _It(e){return z_(),Sn((yJe(),wft),e)}function OIt(e){return Ga(),Sn((_Ge(),vft),e)}function LIt(e){return ou(),Sn((PGe(),xft),e)}function DIt(e){return Pc(),Sn((OGe(),jft),e)}function RIt(e){return rO(),Sn((wFe(),Uft),e)}function $It(e){return fw(),Sn((GGe(),Wft),e)}function FIt(e){return f3(),Sn((XGe(),Jft),e)}function BIt(e){return U8(),Sn((WGe(),Zft),e)}function HIt(e){return uT(),Sn((UVe(),eht),e)}function KIt(e){return wP(),Sn((kUe(),bht),e)}function qIt(e){return k8(),Sn((DGe(),qht),e)}function zIt(e){return ss(),Sn((TWe(),Ght),e)}function VIt(e){return $4(),Sn((YGe(),Qht),e)}function UIt(e){return Cp(),Sn((JGe(),rdt),e)}function Qre(e,t){if(!e)throw V(new Ft(t))}function i4(e){if(!e)throw V(new qs(Ohe))}function TH(e,t){if(e!=t)throw V(new ol)}function BHe(e,t,n){this.a=e,this.b=t,this.c=n}function Zre(e,t,n){this.a=e,this.b=t,this.c=n}function HHe(e,t,n){this.a=e,this.b=t,this.c=n}function nA(e,t,n){this.b=e,this.a=t,this.c=n}function ese(e,t,n){this.b=e,this.c=t,this.a=n}function tse(e,t,n){this.a=e,this.b=t,this.c=n}function iA(e,t,n){this.e=t,this.b=e,this.d=n}function KHe(e,t,n){this.b=e,this.a=t,this.c=n}function GIt(e,t,n){return up(),e.a.Yd(t,n),t}function AH(e){var t;return t=new bh,t.e=e,t}function nse(e){var t;return t=new dLe,t.b=e,t}function LE(){LE=U,OL=new Pje,LL=new _je}function rA(){rA=U,vdt=new oSe,mdt=new cSe}function da(){da=U,Sdt=new g9e,Edt=new w9e}function WIt(e){return lw(),Sn((dGe(),Ldt),e)}function XIt(e){return hs(),Sn((bFe(),pdt),e)}function JIt(e){return HP(),Sn((ZGe(),bdt),e)}function YIt(e){return gf(),Sn((QGe(),Cdt),e)}function QIt(e){return Zb(),Sn((AWe(),Tdt),e)}function ZIt(e){return K_(),Sn((sJe(),Ddt),e)}function eNt(e){return w3(),Sn((nXe(),Rdt),e)}function tNt(e){return cP(),Sn((MUe(),$dt),e)}function nNt(e){return E8(),Sn((fGe(),Fdt),e)}function iNt(e){return SP(),Sn((hGe(),Bdt),e)}function rNt(e){return c1(),Sn((PWe(),Hdt),e)}function sNt(e){return b7(),Sn((EUe(),Kdt),e)}function oNt(e){return ok(),Sn((sXe(),Wdt),e)}function cNt(e){return Cs(),Sn((DJe(),Xdt),e)}function uNt(e){return R4(),Sn((gGe(),Jdt),e)}function lNt(e){return dd(),Sn((wGe(),Qdt),e)}function aNt(e){return JA(),Sn((SUe(),Zdt),e)}function fNt(e){return J7(),Sn((rXe(),Gdt),e)}function hNt(e){return Ep(),Sn((pGe(),zdt),e)}function dNt(e){return M_(),Sn((iXe(),Vdt),e)}function pNt(e){return a7(),Sn((IUe(),Udt),e)}function gNt(e){return yl(),Sn((OWe(),e1t),e)}function wNt(e){return h1(),Sn((bJe(),Spt),e)}function bNt(e){return L8(),Sn((bGe(),Ept),e)}function mNt(e){return Yb(),Sn((eWe(),Ipt),e)}function vNt(e){return V8(),Sn((_We(),Npt),e)}function yNt(e){return ql(),Sn((RJe(),Cpt),e)}function xNt(e){return Gf(),Sn((tWe(),Mpt),e)}function kNt(e){return g7(),Sn((NUe(),Tpt),e)}function jNt(e){return Ns(),Sn((yGe(),Ppt),e)}function SNt(e){return $P(),Sn((mGe(),_pt),e)}function ENt(e){return P8(),Sn((vGe(),Opt),e)}function INt(e){return V4(),Sn((xGe(),Lpt),e)}function NNt(e){return jP(),Sn((kGe(),Dpt),e)}function CNt(e){return KP(),Sn((jGe(),Rpt),e)}function MNt(e){return uw(),Sn((AGe(),Zpt),e)}function TNt(e){return v8(),Sn((CUe(),rgt),e)}function ANt(e){return zf(),Sn((PUe(),fgt),e)}function PNt(e){return uf(),Sn((_Ue(),dgt),e)}function _Nt(e){return za(),Sn((OUe(),Cgt),e)}function ONt(e){return nw(),Sn((LUe(),Lgt),e)}function LNt(e){return g3(),Sn((uWe(),Dgt),e)}function DNt(e){return uj(),Sn((mFe(),Rgt),e)}function RNt(e){return _8(),Sn((SGe(),$gt),e)}function $Nt(e){return O8(),Sn((cWe(),cwt),e)}function FNt(e){return GA(),Sn((TUe(),uwt),e)}function BNt(e){return AP(),Sn((AUe(),dwt),e)}function HNt(e){return E_(),Sn((LWe(),gwt),e)}function KNt(e){return A7(),Sn((EGe(),bwt),e)}function qNt(e){return lP(),Sn((DUe(),wwt),e)}function zNt(e){return m_(),Sn((oWe(),Rwt),e)}function VNt(e){return RP(),Sn((IGe(),$wt),e)}function UNt(e){return i_(),Sn((NGe(),Fwt),e)}function GNt(e){return p_(),Sn((CGe(),Hwt),e)}function WNt(e){return YP(),Sn((MGe(),zwt),e)}function XNt(e){return tP(),Sn((RUe(),fbt),e)}function JNt(e){return P4(),Sn((jUe(),ddt),e)}function YNt(e){return Kt(),Sn((oXe(),udt),e)}function QNt(e){return aP(),Sn((TGe(),hbt),e)}function ZNt(e){return Nq(),Sn(($Ue(),dbt),e)}function eCt(e){return rj(),Sn((DWe(),gbt),e)}function tCt(e){return fT(),Sn((eUe(),bbt),e)}function nCt(e){return R7(),Sn(($Ge(),wbt),e)}function iCt(e){return hT(),Sn((tUe(),vbt),e)}function rCt(e){return s7(),Sn((FUe(),ybt),e)}function sCt(e){return Q7(),Sn((RWe(),xbt),e)}function oCt(e){return C6(),Sn((nUe(),Rbt),e)}function cCt(e){return N7(),Sn((BUe(),$bt),e)}function uCt(e){return Xa(),Sn((FWe(),zbt),e)}function lCt(e){return f1(),Sn((iJe(),Ubt),e)}function aCt(e){return Eh(),Sn((cXe(),Gbt),e)}function fCt(e){return Tp(),Sn((uXe(),Zbt),e)}function hCt(e){return ar(),Sn(($We(),mmt),e)}function dCt(e){return pf(),Sn((FGe(),vmt),e)}function pCt(e){return bd(),Sn((lWe(),ymt),e)}function gCt(e){return N_(),Sn((lXe(),xmt),e)}function wCt(e){return wd(),Sn((RGe(),jmt),e)}function bCt(e){return Gu(),Sn((aWe(),Emt),e)}function mCt(e){return im(),Sn((vJe(),Imt),e)}function vCt(e){return zv(),Sn((BWe(),Nmt),e)}function yCt(e){return Br(),Sn((aXe(),Cmt),e)}function xCt(e){return uu(),Sn((fXe(),Mmt),e)}function kCt(e){return qe(),Sn((HWe(),Tmt),e)}function jCt(e){return Lu(),Sn((fWe(),Lmt),e)}function SCt(e){return vu(),Sn((mJe(),Dmt),e)}function ECt(e){return u3(),Sn((BGe(),Rmt),e)}function ICt(e,t){return Ut(e),e+(Ut(t),t)}function NCt(e){return PH(),Sn((HUe(),$mt),e)}function CCt(e){return ZP(),Sn((hWe(),Fmt),e)}function MCt(e){return qP(),Sn((dWe(),Kmt),e)}function r4(){r4=U,kve=(qe(),qt),BD=Xt}function PH(){PH=U,F3e=new mKe,B3e=new iqe}function TCt(e){return!e.e&&(e.e=new Re),e.e}function _H(e,t){this.c=e,this.a=t,this.b=t-e}function qHe(e,t,n){this.a=e,this.b=t,this.c=n}function OH(e,t,n){this.a=e,this.b=t,this.c=n}function ise(e,t,n){this.a=e,this.b=t,this.c=n}function rse(e,t,n){this.a=e,this.b=t,this.c=n}function zHe(e,t,n){this.a=e,this.b=t,this.c=n}function VHe(e,t,n){this.a=e,this.b=t,this.c=n}function Gd(e,t,n){this.e=e,this.a=t,this.c=n}function UHe(e,t,n){ul(),koe.call(this,e,t,n)}function LH(e,t,n){ul(),soe.call(this,e,t,n)}function sse(e,t,n){ul(),soe.call(this,e,t,n)}function ose(e,t,n){ul(),soe.call(this,e,t,n)}function GHe(e,t,n){ul(),LH.call(this,e,t,n)}function cse(e,t,n){ul(),LH.call(this,e,t,n)}function WHe(e,t,n){ul(),cse.call(this,e,t,n)}function XHe(e,t,n){ul(),sse.call(this,e,t,n)}function JHe(e,t,n){ul(),ose.call(this,e,t,n)}function DH(e){pA.call(this,e.d,e.c,e.a,e.b)}function use(e){pA.call(this,e.d,e.c,e.a,e.b)}function lse(e){this.d=e,MAe(this),this.b=MMt(e.d)}function ACt(e){return uk(),Sn((rJe(),tvt),e)}function DE(e,t){return Tn(e),Tn(t),new rRe(e,t)}function Hy(e,t){return Tn(e),Tn(t),new lKe(e,t)}function PCt(e,t){return Tn(e),Tn(t),new aKe(e,t)}function _Ct(e,t){return Tn(e),Tn(t),new dRe(e,t)}function RH(e){return rn(e.b!=0),gl(e,e.a.a)}function OCt(e){return rn(e.b!=0),gl(e,e.c.b)}function LCt(e){return!e.c&&(e.c=new _x),e.c}function s4(e){var t;return t=new Re,cq(t,e),t}function DCt(e){var t;return t=new sr,cq(t,e),t}function YHe(e){var t;return t=new fne,yq(t,e),t}function RE(e){var t;return t=new Ai,yq(t,e),t}function c(e,t){return n8(e==null||vz(e,t)),e}function RCt(e,t,n){JKe.call(this,t,n),this.a=e}function QHe(e,t){this.c=e,this.b=t,this.a=!1}function ZHe(){this.a=";,;",this.b="",this.c=""}function eKe(e,t,n){this.b=e,fFe.call(this,t,n)}function ase(e,t,n){this.c=e,bT.call(this,t,n)}function fse(e,t,n){Yx.call(this,e,t),this.b=n}function hse(e,t,n){rfe(n,0,e,t,n.length,!1)}function vh(e,t,n,i,r){e.b=t,e.c=n,e.d=i,e.a=r}function dse(e,t,n,i,r){e.d=t,e.c=n,e.a=i,e.b=r}function $Ct(e,t){t&&(e.b=t,e.a=(J1(t),t.a))}function $E(e,t){if(!e)throw V(new Ft(t))}function Ky(e,t){if(!e)throw V(new qs(t))}function pse(e,t){if(!e)throw V(new uDe(t))}function FCt(e,t){return lT(),$o(e.d.p,t.d.p)}function BCt(e,t){return pd(),xi(e.e.b,t.e.b)}function HCt(e,t){return pd(),xi(e.e.a,t.e.a)}function KCt(e,t){return $o(gKe(e.d),gKe(t.d))}function sA(e,t){return t&&MA(e,t.d)?t:null}function qCt(e,t){return t==(qe(),qt)?e.c:e.d}function gse(e){return t0(KMt(oo(e)?Bl(e):e))}function zCt(e){return new Ae(e.c+e.b,e.d+e.a)}function tKe(e){return e!=null&&!rz(e,ZS,e9)}function VCt(e,t){return(_Ye(e)<<4|_Ye(t))&fr}function nKe(e,t,n,i,r){e.c=t,e.d=n,e.b=i,e.a=r}function wse(e){var t,n;t=e.b,n=e.c,e.b=n,e.c=t}function bse(e){var t,n;n=e.d,t=e.a,e.d=t,e.a=n}function UCt(e,t){var n;return n=e.c,Xce(e,t),n}function mse(e,t){return t<0?e.g=-1:e.g=t,e}function oA(e,t){return eDt(e),e.a*=t,e.b*=t,e}function iKe(e,t,n){YWe.call(this,t,n),this.d=e}function FE(e,t,n){Rie.call(this,e,t),this.c=n}function cA(e,t,n){Rie.call(this,e,t),this.c=n}function vse(e){Yre(),LM.call(this),this.ci(e)}function rKe(){v4(),dTt.call(this,(q1(),ta))}function sKe(e){return ci(),new yh(0,e)}function oKe(){oKe=U,yQ=(jt(),new GF(jW))}function uA(){uA=U,new Tle((cB(),LW),(oB(),OW))}function cKe(){cKe=U,Rpe=ke(es,Oe,17,256,0,1)}function uKe(){this.b=pe(ye(Ve((ya(),pX))))}function $H(e){this.b=e,this.a=ap(this.b.a).Od()}function lKe(e,t){this.b=e,this.a=t,$F.call(this)}function aKe(e,t){this.a=e,this.b=t,$F.call(this)}function fKe(e,t,n){this.a=e,jv.call(this,t,n)}function hKe(e,t,n){this.a=e,jv.call(this,t,n)}function o4(e,t,n){var i;i=new Lb(n),Ua(e,t,i)}function yse(e,t,n){var i;return i=e[t],e[t]=n,i}function lA(e){var t;return t=e.slice(),eq(t,e)}function aA(e){var t;return t=e.n,e.a.b+t.d+t.a}function dKe(e){var t;return t=e.n,e.e.b+t.d+t.a}function xse(e){var t;return t=e.n,e.e.a+t.b+t.c}function kse(e){e.a.b=e.b,e.b.a=e.a,e.a=e.b=null}function $n(e,t){return Ui(e,t,e.c.b,e.c),!0}function GCt(e){return e.a?e.a:hK(e)}function WCt(e){return Jy(),Ih(e)==Oi(c0(e))}function XCt(e){return Jy(),c0(e)==Oi(Ih(e))}function zg(e,t){return J8(e,new Yx(t.a,t.b))}function JCt(e,t){return AA(),Nz(e,t),new Lqe(e,t)}function YCt(e,t){return e.c=t)throw V(new mne)}function _b(e,t){return L7(e,(Ut(t),new DAe(t)))}function zy(e,t){return L7(e,(Ut(t),new RAe(t)))}function QKe(e,t,n){return jnn(e,c(t,12),c(n,12))}function ZKe(e){return Gc(),c(e,12).g.c.length!=0}function eqe(e){return Gc(),c(e,12).e.c.length!=0}function LMt(e,t){return s3(),xi(t.a.o.a,e.a.o.a)}function DMt(e,t){t.Bb&Lo&&!e.a.o&&(e.a.o=t)}function RMt(e,t){t.Ug("General 'Rotator",1),Yen(e)}function $Mt(e,t,n){t.qf(n,pe(ye(Yt(e.b,n)))*e.a)}function tqe(e,t,n){return e2(),_4(e,t)&&_4(e,n)}function o8(e){return uu(),!e.Hc(Ad)&&!e.Hc(_0)}function FMt(e){return e.e?lce(e.e):null}function c8(e){return oo(e)?""+e:cit(e)}function Hse(e){var t;for(t=e;t.f;)t=t.f;return t}function BMt(e,t,n){return Vi(t,0,Nse(t[0],n[0])),t}function Wd(e,t,n,i){var r;r=e.i,r.i=t,r.a=n,r.b=i}function Ie(e,t,n,i){cr.call(this,e,t,n),this.b=i}function Pr(e,t,n,i,r){QK.call(this,e,t,n,i,r,-1)}function u8(e,t,n,i,r){c7.call(this,e,t,n,i,r,-1)}function SA(e,t,n,i){FE.call(this,e,t,n),this.b=i}function nqe(e){Z$e.call(this,e,!1),this.a=!1}function iqe(){P$e.call(this,"LOOKAHEAD_LAYOUT",1)}function rqe(e){this.b=e,Ry.call(this,e),lBe(this)}function sqe(e){this.b=e,NE.call(this,e),aBe(this)}function Ob(e,t,n){this.a=e,Fy.call(this,t,n,5,6)}function Kse(e,t,n,i){this.b=e,cr.call(this,t,n,i)}function oqe(e,t){this.b=e,hAe.call(this,e.b),this.a=t}function cqe(e){this.a=zQe(e.a),this.b=new iu(e.b)}function qse(e,t){Xg(),b9t.call(this,e,GP(new nu(t)))}function EA(e,t){return ci(),new roe(e,t,0)}function YH(e,t){return ci(),new roe(6,e,t)}function Jr(e,t){for(Ut(t);e.Ob();)t.Cd(e.Pb())}function bc(e,t){return Dr(t)?yK(e,t):!!Is(e.f,t)}function QH(e,t){return t.Vh()?r0(e.b,c(t,54)):t}function HMt(e,t){return wt(e.substr(0,t.length),t)}function xh(e){return new Qt(new are(e.a.length,e.a))}function IA(e){return new Ae(e.c+e.b/2,e.d+e.a/2)}function KMt(e){return wc(~e.l&yu,~e.m&yu,~e.h&Sd)}function ZH(e){return typeof e===vI||typeof e===WV}function ru(e){e.f=new NFe(e),e.i=new CFe(e),++e.g}function uqe(e){if(!e)throw V(new po);return e.d}function Vy(e){var t;return t=A8(e),rn(t!=null),t}function qMt(e){var t;return t=sFt(e),rn(t!=null),t}function u4(e,t){var n;return n=e.a.gc(),rce(t,n),n-t}function gr(e,t){var n;return n=e.a.zc(t,e),n==null}function HE(e,t){return e.a.zc(t,(_t(),v0))==null}function zse(e){return new gt(null,WMt(e,e.length))}function Vse(e,t,n){return Art(e,c(t,42),c(n,176))}function Uy(e,t,n){return ba(e.a,t),yse(e.b,t.g,n)}function zMt(e,t,n){c4(n,e.a.c.length),dl(e.a,n,t)}function me(e,t,n,i){oYe(t,n,e.length),VMt(e,t,n,i)}function VMt(e,t,n,i){var r;for(r=t;r0?w.Math.log(e/t):-100}function aqe(e,t){return Fo(e,t)<0?-1:Fo(e,t)>0?1:0}function KE(e,t){tBe(e,ce(t,160)?t:c(t,2036).Rl())}function Xse(e,t){if(e==null)throw V(new Ey(t))}function WMt(e,t){return JLt(t,e.length),new bKe(e,t)}function Jse(e,t){return t?Gr(e,t):!1}function XMt(){return XM(),J(W(Pat,1),Ce,549,0,[$W])}function a8(e){return e.e==0?e:new hp(-e.e,e.d,e.a)}function JMt(e,t){return xi(e.c.c+e.c.b,t.c.c+t.c.b)}function qE(e,t){Ui(e.d,t,e.b.b,e.b),++e.a,e.c=null}function fqe(e,t){return e.c?fqe(e.c,t):$e(e.b,t),e}function YMt(e,t,n){var i;return i=Kb(e,t),DK(e,t,n),i}function hqe(e,t,n){var i;for(i=0;i=e.g}function Vi(e,t,n){return K7t(n==null||DYt(e,n)),e[t]=n}function toe(e,t){return Bt(t,e.length+1),e.substr(t)}function lK(e,t){for(Ut(t);e.c=e?new Qne:yDt(e-1)}function Yr(e){return!e.a&&e.c?e.c.b:e.a}function ooe(e){return ce(e,616)?e:new Aze(e)}function J1(e){e.c?J1(e.c):(s0(e),e.d=!0)}function d8(e){e.c?e.c.$e():(e.d=!0,$Wt(e))}function Pqe(e){e.b=!1,e.c=!1,e.d=!1,e.a=!1}function _qe(e){var t,n;return t=e.c.i.c,n=e.d.i.c,t==n}function wTt(e,t){var n;n=e.Ih(t),n>=0?e.ki(n):Xae(e,t)}function Oqe(e,t){e.c<0||e.b.b0;)e=e<<1|(e<0?1:0);return e}function Kqe(e,t){var n;return n=new Qo(e),Tt(t.c,n),n}function qqe(e,t){e.u.Hc((uu(),Ad))&&xUt(e,t),FOt(e,t)}function _o(e,t){return be(e)===be(t)||e!=null&&fi(e,t)}function Ls(e,t){return qH(e.a,t)?e.b[c(t,22).g]:null}function MTt(){return uT(),J(W(Nge,1),Ce,489,0,[cX])}function TTt(){return fT(),J(W(tye,1),Ce,490,0,[AY])}function ATt(){return hT(),J(W(mbt,1),Ce,558,0,[PY])}function PTt(){return C6(),J(W(kye,1),Ce,539,0,[KN])}function PA(e){return!e.n&&(e.n=new Ie($s,e,1,7)),e.n}function fK(e){return!e.c&&(e.c=new Ie(du,e,9,9)),e.c}function aoe(e){return!e.c&&(e.c=new It(cn,e,5,8)),e.c}function _Tt(e){return!e.b&&(e.b=new It(cn,e,4,7)),e.b}function zE(e){return e.j.c.length=0,hoe(e.c),fIt(e.a),e}function d4(e){return e.e==Kk&&Yjt(e,NBt(e.g,e.b)),e.e}function VE(e){return e.f==Kk&&Zjt(e,mKt(e.g,e.b)),e.f}function Yn(e,t,n,i){return hJe(e,t,n,!1),WP(e,i),e}function zqe(e,t){this.b=e,eK.call(this,e,t),lBe(this)}function Vqe(e,t){this.b=e,Wre.call(this,e,t),aBe(this)}function p8(e){this.d=e,this.a=this.d.b,this.b=this.d.c}function foe(e,t){this.b=e,this.c=t,this.a=new Ty(this.b)}function rs(e,t){return Bt(t,e.length),e.charCodeAt(t)}function OTt(e,t){Que(e,pe(gd(t,"x")),pe(gd(t,"y")))}function LTt(e,t){Que(e,pe(gd(t,"x")),pe(gd(t,"y")))}function di(e,t){return s0(e),new gt(e,new kce(t,e.a))}function Zs(e,t){return s0(e),new gt(e,new cce(t,e.a))}function Db(e,t){return s0(e),new Ire(e,new eGe(t,e.a))}function _A(e,t){return s0(e),new Nre(e,new tGe(t,e.a))}function DTt(e,t){return new gze(c(Tn(e),50),c(Tn(t),50))}function RTt(e,t){return xi(e.d.c+e.d.b/2,t.d.c+t.d.b/2)}function Uqe(e,t,n){n.a?yc(e,t.b-e.f/2):vc(e,t.a-e.g/2)}function $Tt(e,t){return xi(e.g.c+e.g.b/2,t.g.c+t.g.b/2)}function FTt(e,t){return tie(),xi((Ut(e),e),(Ut(t),t))}function BTt(e){return e!=null&&rE(PR,e.toLowerCase())}function hoe(e){var t;for(t=e.Kc();t.Ob();)t.Pb(),t.Qb()}function _v(e){var t;return t=e.b,!t&&(e.b=t=new rAe(e)),t}function hK(e){var t;return t=SDt(e),t||null}function Gqe(e,t){var n,i;return n=e/t,i=kr(n),n>i&&++i,i}function HTt(e,t,n){var i;i=c(e.d.Kb(n),159),i&&i.Nb(t)}function KTt(e,t,n){zQt(e.a,n),xRt(n),fGt(e.b,n),aZt(t,n)}function OA(e,t,n,i){this.a=e,this.c=t,this.b=n,this.d=i}function doe(e,t,n,i){this.c=e,this.b=t,this.a=n,this.d=i}function Wqe(e,t,n,i){this.c=e,this.b=t,this.d=n,this.a=i}function al(e,t,n,i){this.c=e,this.d=t,this.b=n,this.a=i}function Xqe(e,t,n,i){this.a=e,this.d=t,this.c=n,this.b=i}function dK(e,t,n,i){this.a=e,this.e=t,this.d=n,this.c=i}function Jqe(e,t,n,i){this.a=e,this.c=t,this.d=n,this.b=i}function pK(e,t,n){this.a=Bhe,this.d=e,this.b=t,this.c=n}function Wy(e,t,n,i){jn.call(this,e,t),this.a=n,this.b=i}function Yqe(e,t){this.d=(Ut(e),e),this.a=16449,this.c=t}function Qqe(e){this.a=new Re,this.e=ke(kn,Oe,53,e,0,2)}function qTt(e){e.Ug("No crossing minimization",1),e.Vg()}function Zqe(){go.call(this,"There is no more element.")}function eze(e,t,n,i){this.a=e,this.b=t,this.c=n,this.d=i}function tze(e,t,n,i){this.a=e,this.b=t,this.c=n,this.d=i}function pp(e,t,n,i){this.e=e,this.a=t,this.c=n,this.d=i}function nze(e,t,n,i){this.a=e,this.c=t,this.d=n,this.b=i}function ize(e,t,n,i){ul(),nGe.call(this,t,n,i),this.a=e}function rze(e,t,n,i){ul(),nGe.call(this,t,n,i),this.a=e}function gK(e,t,n){var i,r;return i=Ihe(e),r=t.ti(n,i),r}function od(e){var t,n;return n=(t=new Ng,t),S4(n,e),n}function wK(e){var t,n;return n=(t=new Ng,t),Mae(n,e),n}function zTt(e,t){var n;return n=Yt(e.f,t),uue(t,n),null}function sze(e){return!e.b&&(e.b=new Ie(tr,e,12,3)),e.b}function oze(e){return n8(e==null||ZH(e)&&e.Tm!==de),e}function LA(e){return e.n&&(e.e!==lot&&e.je(),e.j=null),e}function p4(e){if(bu(e.d),e.d.d!=e.c)throw V(new ol)}function poe(e){return rn(e.b0&&$Ze(this)}function cze(e,t){this.a=e,q7t.call(this,e,c(e.d,15).fd(t))}function VTt(e,t){return xi(zc(e)*Pu(e),zc(t)*Pu(t))}function UTt(e,t){return xi(zc(e)*Pu(e),zc(t)*Pu(t))}function GTt(e){return mw(e)&&Xe(We(Me(e,(Ge(),Xp))))}function WTt(e,t){return mt(e,c(D(t,(Ge(),u5)),17),t)}function XTt(e,t){return c(D(e,(Pe(),z3)),15).Fc(t),t}function goe(e,t){return e.b=t.b,e.c=t.c,e.d=t.d,e.a=t.a,e}function uze(e,t,n,i){this.b=e,this.c=i,BT.call(this,t,n)}function JTt(e,t,n){e.i=0,e.e=0,t!=n&&VJe(e,t,n)}function YTt(e,t,n){e.i=0,e.e=0,t!=n&&UJe(e,t,n)}function QTt(e,t,n){return N6(),EFt(c(Yt(e.e,t),529),n)}function Xy(e){var t;return t=e.f,t||(e.f=new Wx(e,e.c))}function lze(e,t){return qv(e.j,t.s,t.c)+qv(t.e,e.s,e.c)}function aze(e,t){e.e&&!e.e.a&&(YOe(e.e,t),aze(e.e,t))}function fze(e,t){e.d&&!e.d.a&&(YOe(e.d,t),fze(e.d,t))}function ZTt(e,t){return-xi(zc(e)*Pu(e),zc(t)*Pu(t))}function eAt(e){return c(e.ld(),149).Pg()+":"+uo(e.md())}function hze(){Xz(this,new Nte),this.wb=(X1(),Ot),Vx()}function dze(e){this.b=new Re,wr(this.b,this.b),this.a=e}function woe(e,t){new Ai,this.a=new Hc,this.b=e,this.c=t}function Zg(){Zg=U,Xpe=new _e,UW=new _e,Jpe=new Be}function jt(){jt=U,vs=new ve,Lh=new je,yL=new ae}function boe(){boe=U,fft=new Bs,dft=new Pse,hft=new yr}function Jy(){Jy=U,CL=new Re,fX=new hn,aX=new Re}function DA(e,t){if(e==null)throw V(new Ey(t));return e}function RA(e){return!e.a&&(e.a=new Ie(ti,e,10,11)),e.a}function wi(e){return!e.q&&(e.q=new Ie(ea,e,11,10)),e.q}function Se(e){return!e.s&&(e.s=new Ie($c,e,21,17)),e.s}function tAt(e){return Tn(e),eZe(new Qt(en(e.a.Kc(),new M)))}function nAt(e,t){return Ou(e),Ou(t),cDe(c(e,22),c(t,22))}function gp(e,t,n){var i,r;i=Jre(n),r=new RM(i),Ua(e,t,r)}function mK(e,t,n,i,r,o){c7.call(this,e,t,n,i,r,o?-2:-1)}function pze(e,t,n,i){Rie.call(this,t,n),this.b=e,this.a=i}function gze(e,t){jSt.call(this,new JH(e)),this.a=e,this.b=t}function moe(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function iAt(e){da();var t;t=c(e.g,10),t.n.a=e.d.c+t.d.b}function g4(){g4=U;var e,t;t=!aBt(),e=new ne,HW=t?new te:e}function vK(e){return jt(),ce(e,59)?new gB(e):new WT(e)}function $A(e){return ce(e,16)?new i8(c(e,16)):DCt(e.Kc())}function rAt(e){return new hBe(e,e.e.Rd().gc()*e.c.Rd().gc())}function sAt(e){return new dBe(e,e.e.Rd().gc()*e.c.Rd().gc())}function voe(e){return e&&e.hashCode?e.hashCode():Kg(e)}function yK(e,t){return t==null?!!Is(e.f,null):xMt(e.i,t)}function oAt(e,t){var n;return n=tre(e.a,t),n&&(t.d=null),n}function wze(e,t,n){return e.f?e.f.ef(t,n):!1}function UE(e,t,n,i){Vi(e.c[t.g],n.g,i),Vi(e.c[n.g],t.g,i)}function xK(e,t,n,i){Vi(e.c[t.g],t.g,n),Vi(e.b[t.g],t.g,i)}function cAt(e,t,n){return pe(ye(n.a))<=e&&pe(ye(n.b))>=t}function bze(e,t){this.g=e,this.d=J(W(Rh,1),p1,10,0,[t])}function mze(e){this.c=e,this.b=new zd(c(Tn(new Er),50))}function vze(e){this.c=e,this.b=new zd(c(Tn(new E8e),50))}function yze(e){this.b=e,this.a=new zd(c(Tn(new NF),50))}function xze(){this.b=new sr,this.d=new Ai,this.e=new vne}function yoe(){this.c=new Kr,this.d=new Kr,this.e=new Kr}function ew(){this.a=new Hc,this.b=(Vu(3,am),new ac(3))}function Xd(e,t){this.e=e,this.a=Cr,this.b=jit(t),this.c=t}function FA(e){this.c=e.c,this.d=e.d,this.b=e.b,this.a=e.a}function kze(e,t,n,i,r,o){this.a=e,dq.call(this,t,n,i,r,o)}function jze(e,t,n,i,r,o){this.a=e,dq.call(this,t,n,i,r,o)}function Y1(e,t,n,i,r,o,a){return new $K(e.e,t,n,i,r,o,a)}function uAt(e,t,n){return n>=0&&wt(e.substr(n,t.length),t)}function Sze(e,t){return ce(t,149)&&wt(e.b,c(t,149).Pg())}function lAt(e,t){return e.a?t.Gh().Kc():c(t.Gh(),71).Ii()}function Eze(e,t){var n;return n=e.b.Qc(t),vUe(n,e.b.gc()),n}function GE(e,t){if(e==null)throw V(new Ey(t));return e}function eo(e){return e.u||(gu(e),e.u=new rHe(e,e)),e.u}function kK(e){this.a=(jt(),ce(e,59)?new gB(e):new WT(e))}function Tc(e){var t;return t=c($t(e,16),29),t||e.ii()}function BA(e,t){var n;return n=cp(e.Rm),t==null?n:n+": "+t}function fl(e,t,n){return Ur(t,n,e.length),e.substr(t,n-t)}function Ize(e,t){ZT.call(this),Ace(this),this.a=e,this.c=t}function aAt(e){e&&BA(e,e.ie())}function fAt(e){QM(),w.setTimeout(function(){throw e},0)}function hAt(){return u_(),J(W(rge,1),Ce,436,0,[eX,ige])}function dAt(){return gP(),J(W(oge,1),Ce,435,0,[sge,tX])}function pAt(){return wP(),J(W(Oge,1),Ce,432,0,[hX,ML])}function gAt(){return P4(),J(W(hdt,1),Ce,517,0,[dN,IX])}function wAt(){return JA(),J(W(bbe,1),Ce,429,0,[nJ,wbe])}function bAt(){return b7(),J(W(tbe,1),Ce,428,0,[sD,ebe])}function mAt(){return cP(),J(W(Gwe,1),Ce,431,0,[Uwe,HX])}function vAt(){return g7(),J(W(lve,1),Ce,430,0,[RJ,$J])}function yAt(){return v8(),J(W(igt,1),Ce,531,0,[jS,kS])}function xAt(){return AP(),J(W(s2e,1),Ce,501,0,[XD,F2])}function kAt(){return zf(),J(W(agt,1),Ce,523,0,[Xw,x1])}function jAt(){return uf(),J(W(hgt,1),Ce,522,0,[eg,If])}function SAt(){return za(),J(W(Ngt,1),Ce,528,0,[$m,I0])}function EAt(){return a7(),J(W(rbe,1),Ce,488,0,[ibe,cD])}function IAt(){return tP(),J(W(W2e,1),Ce,491,0,[CY,G2e])}function NAt(){return Nq(),J(W(eye,1),Ce,492,0,[Q2e,Z2e])}function CAt(){return GA(),J(W(r2e,1),Ce,433,0,[oY,i2e])}function MAt(){return lP(),J(W(c2e,1),Ce,434,0,[o2e,hY])}function TAt(){return nw(),J(W(Ogt,1),Ce,465,0,[N0,D2])}function AAt(){return s7(),J(W(nye,1),Ce,438,0,[_Y,oR])}function PAt(){return N7(),J(W(Sye,1),Ce,437,0,[uR,jye])}function _At(){return PH(),J(W(jR,1),Ce,347,0,[F3e,B3e])}function HA(e,t,n,i){return n>=0?e.Uh(t,n,i):e.Ch(null,n,i)}function WE(e){return e.b.b==0?e.a.sf():RH(e.b)}function OAt(e){if(e.p!=5)throw V(new Bc);return Mn(e.f)}function LAt(e){if(e.p!=5)throw V(new Bc);return Mn(e.k)}function xoe(e){return be(e.a)===be((Eq(),bQ))&&_Zt(e),e.a}function DAt(e,t){e.b=t,e.c>0&&e.b>0&&(e.g=gA(e.c,e.b,e.a))}function RAt(e,t){e.c=t,e.c>0&&e.b>0&&(e.g=gA(e.c,e.b,e.a))}function Nze(e,t){Ljt(this,new Ae(e.a,e.b)),Djt(this,RE(t))}function tw(){SSt.call(this,new My(qb(12))),ore(!0),this.a=2}function jK(e,t,n){ci(),Ig.call(this,e),this.b=t,this.a=n}function koe(e,t,n){ul(),qM.call(this,t),this.a=e,this.b=n}function Cze(e){var t;t=e.c.d.b,e.b=t,e.a=e.c.d,t.a=e.c.d.b=e}function $At(e){return e.b==0?null:(rn(e.b!=0),gl(e,e.a.a))}function Zo(e,t){return t==null?Qs(Is(e.f,null)):P6(e.i,t)}function Mze(e,t,n,i,r){return new Yz(e,(k4(),JW),t,n,i,r)}function KA(e,t){return wUe(t),uDt(e,ke(kn,qn,28,t,15,1),t)}function qA(e,t){return DA(e,"set1"),DA(t,"set2"),new mRe(e,t)}function FAt(e,t){var n=BW[e.charCodeAt(0)];return n??e}function Tze(e,t){var n,i;return n=t,i=new Et,sst(e,n,i),i.d}function SK(e,t,n,i){var r;r=new cHe,t.a[n.g]=r,Uy(e.b,i,r)}function BAt(e,t){var n;return n=sDt(e.f,t),li(QT(n),e.f.d)}function XE(e){var t;wDt(e.a),RFe(e.a),t=new BM(e.a),ule(t)}function HAt(e,t){dit(e,!0),mc(e.e.Rf(),new ese(e,!0,t))}function KAt(e,t){return Jy(),e==Oi(Ih(t))||e==Oi(c0(t))}function qAt(e,t){return pd(),c(D(t,(Io(),ah)),17).a==e}function kr(e){return Math.max(Math.min(e,ui),-2147483648)|0}function Aze(e){this.a=c(Tn(e),277),this.b=(jt(),new dre(e))}function Pze(e,t,n){this.i=new Re,this.b=e,this.g=t,this.a=n}function joe(e,t,n){this.a=new Re,this.e=e,this.f=t,this.c=n}function zA(e,t,n){this.c=new Re,this.e=e,this.f=t,this.b=n}function _ze(e){ZT.call(this),Ace(this),this.a=e,this.c=!0}function zAt(e){function t(){}return t.prototype=e||{},new t}function VAt(e){if(e.Ae())return null;var t=e.n;return pL[t]}function JE(e){return e.Db>>16!=3?null:c(e.Cb,27)}function cf(e){return e.Db>>16!=9?null:c(e.Cb,27)}function Oze(e){return e.Db>>16!=6?null:c(e.Cb,74)}function nw(){nw=U,N0=new Eie(I3,0),D2=new Eie(N3,1)}function zf(){zf=U,Xw=new kie(N3,0),x1=new kie(I3,1)}function uf(){uf=U,eg=new jie(OU,0),If=new jie("UP",1)}function Lze(){Lze=U,_at=En((XM(),J(W(Pat,1),Ce,549,0,[$W])))}function Dze(e){var t;return t=new nT(qb(e.length)),xue(t,e),t}function Rze(e,t){return e.b+=t.b,e.c+=t.c,e.d+=t.d,e.a+=t.a,e}function UAt(e,t){return jJe(e,t)?(vXe(e),!0):!1}function cd(e,t){if(t==null)throw V(new yy);return hBt(e,t)}function YE(e,t){var n;n=e.q.getHours(),e.q.setDate(t),aj(e,n)}function Soe(e,t,n){var i;i=e.Ih(t),i>=0?e.bi(i,n):kfe(e,t,n)}function $ze(e,t){var n;return n=e.Ih(t),n>=0?e.Wh(n):iV(e,t)}function Fze(e,t){var n;for(Tn(t),n=e.a;n;n=n.c)t.Yd(n.g,n.i)}function EK(e,t,n){var i;i=qJe(e,t,n),e.b=new _P(i.c.length)}function Ov(e,t,n){VA(),e&&Jn(pQ,e,t),e&&Jn(aC,e,n)}function GAt(e,t){return rA(),_t(),c(t.a,17).a0}function Eoe(e){var t;return t=e.d,t=e.bj(e.f),yn(e,t),t.Ob()}function Bze(e,t){var n;return n=new Mse(t),het(n,e),new iu(n)}function JAt(e){if(e.p!=0)throw V(new Bc);return z6(e.f,0)}function YAt(e){if(e.p!=0)throw V(new Bc);return z6(e.k,0)}function Hze(e){return e.Db>>16!=7?null:c(e.Cb,241)}function w4(e){return e.Db>>16!=6?null:c(e.Cb,241)}function Kze(e){return e.Db>>16!=7?null:c(e.Cb,167)}function Oi(e){return e.Db>>16!=11?null:c(e.Cb,27)}function Rb(e){return e.Db>>16!=17?null:c(e.Cb,29)}function qze(e){return e.Db>>16!=3?null:c(e.Cb,155)}function Ioe(e){var t;return s0(e),t=new sr,di(e,new XAe(t))}function zze(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.ve(t))}function QAt(e,t){var n;n=e.q.getHours(),e.q.setMonth(t),aj(e,n)}function Vze(e,t){UT(this),this.f=t,this.g=e,LA(this),this.je()}function Uze(e,t){this.a=e,this.c=Xr(this.a),this.b=new FA(t)}function Gze(e,t,n){this.a=t,this.c=e,this.b=(Tn(n),new iu(n))}function Wze(e,t,n){this.a=t,this.c=e,this.b=(Tn(n),new iu(n))}function Xze(e){this.a=e,this.b=ke(egt,Oe,2043,e.e.length,0,2)}function Jze(){this.a=new Ff,this.e=new sr,this.g=0,this.i=0}function VA(){VA=U,pQ=new hn,aC=new hn,U9t(Yat,new FNe)}function Yze(){Yze=U,$pt=Vc(new ur,(ss(),ro),(hs(),pN))}function Noe(){Noe=U,Fpt=Vc(new ur,(ss(),ro),(hs(),pN))}function Qze(){Qze=U,Hpt=Vc(new ur,(ss(),ro),(hs(),pN))}function Zze(){Zze=U,sgt=Kn(new ur,(ss(),ro),(hs(),tS))}function Hu(){Hu=U,ugt=Kn(new ur,(ss(),ro),(hs(),tS))}function eVe(){eVe=U,lgt=Kn(new ur,(ss(),ro),(hs(),tS))}function NK(){NK=U,pgt=Kn(new ur,(ss(),ro),(hs(),tS))}function g8(e,t,n,i,r,o){return new hd(e.e,t,e.Lj(),n,i,r,o)}function zs(e,t,n){return t==null?dc(e.f,null,n):hw(e.i,t,n)}function ls(e,t){e.c&&Ac(e.c.g,e),e.c=t,e.c&&$e(e.c.g,e)}function zr(e,t){e.c&&Ac(e.c.a,e),e.c=t,e.c&&$e(e.c.a,e)}function bo(e,t){e.i&&Ac(e.i.j,e),e.i=t,e.i&&$e(e.i.j,e)}function Fr(e,t){e.d&&Ac(e.d.e,e),e.d=t,e.d&&$e(e.d.e,e)}function CK(e,t){e.a&&Ac(e.a.k,e),e.a=t,e.a&&$e(e.a.k,e)}function MK(e,t){e.b&&Ac(e.b.f,e),e.b=t,e.b&&$e(e.b.f,e)}function tVe(e,t){aTt(e,e.b,e.c),c(e.b.b,68),t&&c(t.b,68).b}function ZAt(e,t){return xi(c(e.c,65).c.e.b,c(t.c,65).c.e.b)}function ePt(e,t){return xi(c(e.c,65).c.e.a,c(t.c,65).c.e.a)}function tPt(e){return Vq(),_t(),c(e.a,86).d.e!=0}function UA(e,t){ce(e.Cb,184)&&(c(e.Cb,184).tb=null),fc(e,t)}function TK(e,t){ce(e.Cb,90)&&nm(gu(c(e.Cb,90)),4),fc(e,t)}function nPt(e,t){Zue(e,t),ce(e.Cb,90)&&nm(gu(c(e.Cb,90)),2)}function iPt(e,t){var n,i;n=t.c,i=n!=null,i&&Gy(e,new Lb(t.c))}function nVe(e){var t,n;return n=(Vx(),t=new Ng,t),S4(n,e),n}function iVe(e){var t,n;return n=(Vx(),t=new Ng,t),S4(n,e),n}function rVe(e){for(var t;;)if(t=e.Pb(),!e.Ob())return t}function rPt(e,t,n){return $e(e.a,(AA(),Nz(t,n),new Og(t,n))),e}function ec(e,t){return Ss(),sq(t)?new fA(t,e):new kE(t,e)}function QE(e){return Xf(),Fo(e,0)>=0?o0(e):a8(o0(e1(e)))}function sPt(e){var t;return t=c(lA(e.b),9),new ll(e.a,t,e.c)}function sVe(e,t){var n;return n=c(Wb(Xy(e.a),t),16),n?n.gc():0}function oVe(e,t,n){var i;AYe(t,n,e.c.length),i=n-t,Xne(e.c,t,i)}function Jd(e,t,n){AYe(t,n,e.gc()),this.c=e,this.a=t,this.b=n-t}function Yy(e){this.c=new Ai,this.b=e.b,this.d=e.c,this.a=e.a}function AK(e){this.a=w.Math.cos(e),this.b=w.Math.sin(e)}function wp(e,t,n,i){this.c=e,this.d=i,CK(this,t),MK(this,n)}function Coe(e,t){kSt.call(this,new My(qb(e))),Vu(t,iot),this.a=t}function cVe(e,t,n){return new Yz(e,(k4(),XW),null,!1,t,n)}function uVe(e,t,n){return new Yz(e,(k4(),YW),t,n,null,!1)}function oPt(){return cu(),J(W(Ws,1),Ce,108,0,[nge,ao,vm])}function cPt(){return Pc(),J(W(kft,1),Ce,472,0,[Qa,x0,ja])}function uPt(){return ou(),J(W(yft,1),Ce,471,0,[ch,y0,ka])}function lPt(){return Ga(),J(W(ym,1),Ce,237,0,[Mo,pc,To])}function aPt(){return k8(),J(W(Xge,1),Ce,391,0,[wX,gX,bX])}function fPt(){return lw(),J(W(PX,1),Ce,372,0,[Rw,k0,Dw])}function hPt(){return E8(),J(W(Xwe,1),Ce,322,0,[iS,bN,Wwe])}function dPt(){return SP(),J(W(Ywe,1),Ce,351,0,[Jwe,rD,KX])}function pPt(){return Ep(),J(W(qdt,1),Ce,460,0,[VX,n5,S2])}function gPt(){return R4(),J(W(tJ,1),Ce,299,0,[ZX,eJ,mN])}function wPt(){return dd(),J(W(Ydt,1),Ce,311,0,[vN,I2,H3])}function bPt(){return L8(),J(W(Zme,1),Ce,390,0,[TJ,Qme,LD])}function mPt(){return Ns(),J(W(Apt,1),Ce,463,0,[vS,au,gc])}function vPt(){return $P(),J(W(hve,1),Ce,387,0,[ave,FJ,fve])}function yPt(){return P8(),J(W(dve,1),Ce,349,0,[HJ,BJ,TN])}function xPt(){return V4(),J(W(gve,1),Ce,350,0,[KJ,pve,yS])}function kPt(){return jP(),J(W(mve,1),Ce,352,0,[bve,qJ,wve])}function jPt(){return KP(),J(W(vve,1),Ce,388,0,[zJ,g5,Rm])}function SPt(){return uw(),J(W(Qpt,1),Ce,464,0,[AN,xS,FD])}function lf(e){return vo(J(W(Ar,1),Oe,8,0,[e.i.n,e.n,e.a]))}function EPt(){return _8(),J(W(Dve,1),Ce,392,0,[Lve,GJ,_N])}function lVe(){lVe=U,lwt=Vc(new ur,(g3(),ES),(uj(),Ive))}function GA(){GA=U,oY=new Iie("DFS",0),i2e=new Iie("BFS",1)}function aVe(e,t,n){var i;i=new GEe,i.b=t,i.a=n,++t.b,$e(e.d,i)}function IPt(e,t,n){var i;i=new gs(n.d),li(i,e),Que(t,i.a,i.b)}function NPt(e,t){iBe(e,Mn(Nr(Ug(t,24),uO)),Mn(Nr(t,uO)))}function $b(e,t){if(e<0||e>t)throw V(new Ks(Xhe+e+Jhe+t))}function St(e,t){if(e<0||e>=t)throw V(new Ks(Xhe+e+Jhe+t))}function Bt(e,t){if(e<0||e>=t)throw V(new Dne(Xhe+e+Jhe+t))}function yt(e,t){this.b=(Ut(e),e),this.a=t&fm?t:t|64|Yf}function Moe(e){var t;return s0(e),t=(Zg(),Zg(),UW),vP(e,t)}function CPt(e,t,n){var i;return i=dj(e,t,!1),i.b<=t&&i.a<=n}function MPt(){return aP(),J(W(Y2e,1),Ce,439,0,[MY,J2e,X2e])}function TPt(){return YP(),J(W(P2e,1),Ce,394,0,[A2e,SY,T2e])}function APt(){return i_(),J(W(M2e,1),Ce,445,0,[$N,ZD,mY])}function PPt(){return p_(),J(W(Bwt,1),Ce,456,0,[vY,xY,yY])}function _Pt(){return A7(),J(W(a2e,1),Ce,393,0,[JD,u2e,l2e])}function OPt(){return RP(),J(W(C2e,1),Ce,300,0,[bY,N2e,I2e])}function LPt(){return wd(),J(W(A3e,1),Ce,346,0,[wR,E1,zS])}function DPt(){return R7(),J(W(TY,1),Ce,444,0,[iR,rR,sR])}function RPt(){return pf(),J(W(v3e,1),Ce,278,0,[k5,Km,j5])}function $Pt(){return u3(),J(W($3e,1),Ce,280,0,[R3e,zm,kR])}function iw(e){return Tn(e),ce(e,16)?new iu(c(e,16)):s4(e.Kc())}function Toe(e,t){return e&&e.equals?e.equals(t):be(e)===be(t)}function Nr(e,t){return t0(TMt(oo(e)?Bl(e):e,oo(t)?Bl(t):t))}function qa(e,t){return t0(AMt(oo(e)?Bl(e):e,oo(t)?Bl(t):t))}function PK(e,t){return t0(PMt(oo(e)?Bl(e):e,oo(t)?Bl(t):t))}function FPt(e,t){var n;return n=(Ut(e),e).g,Sre(!!n),Ut(t),n(t)}function fVe(e,t){var n,i;return i=u4(e,t),n=e.a.fd(i),new wRe(e,n)}function BPt(e){return e.Db>>16!=6?null:c(oV(e),241)}function HPt(e){if(e.p!=2)throw V(new Bc);return Mn(e.f)&fr}function KPt(e){if(e.p!=2)throw V(new Bc);return Mn(e.k)&fr}function K(e){return rn(e.ai?1:0}function gVe(e,t){var n,i;return n=tq(t),i=n,c(Yt(e.c,i),17).a}function _K(e,t,n){var i;i=e.d[t.p],e.d[t.p]=e.d[n.p],e.d[n.p]=i}function ZPt(e,t,n){var i;e.n&&t&&n&&(i=new TNe,$e(e.e,i))}function OK(e,t){if(gr(e.a,t),t.d)throw V(new go(Iot));t.d=e}function _oe(e,t){this.a=new Re,this.d=new Re,this.f=e,this.c=t}function wVe(){this.c=new ZFe,this.a=new sGe,this.b=new bLe,LRe()}function bVe(){o3(),this.b=new hn,this.a=new hn,this.c=new Re}function mVe(e,t,n){this.d=e,this.j=t,this.e=n,this.o=-1,this.p=3}function vVe(e,t,n){this.d=e,this.k=t,this.f=n,this.o=-1,this.p=5}function yVe(e,t,n,i,r,o){_ce.call(this,e,t,n,i,r),o&&(this.o=-2)}function xVe(e,t,n,i,r,o){Oce.call(this,e,t,n,i,r),o&&(this.o=-2)}function kVe(e,t,n,i,r,o){Yoe.call(this,e,t,n,i,r),o&&(this.o=-2)}function jVe(e,t,n,i,r,o){Rce.call(this,e,t,n,i,r),o&&(this.o=-2)}function SVe(e,t,n,i,r,o){Qoe.call(this,e,t,n,i,r),o&&(this.o=-2)}function EVe(e,t,n,i,r,o){Lce.call(this,e,t,n,i,r),o&&(this.o=-2)}function IVe(e,t,n,i,r,o){Dce.call(this,e,t,n,i,r),o&&(this.o=-2)}function NVe(e,t,n,i,r,o){Zoe.call(this,e,t,n,i,r),o&&(this.o=-2)}function CVe(e,t,n,i){qM.call(this,n),this.b=e,this.c=t,this.d=i}function MVe(e,t){this.f=e,this.a=(v4(),LR),this.c=LR,this.b=t}function TVe(e,t){this.g=e,this.d=(v4(),DR),this.a=DR,this.b=t}function Ooe(e,t){!e.c&&(e.c=new Xi(e,0)),Q_(e.c,(vi(),n9),t)}function e_t(e,t){return DGt(e,t,ce(t,102)&&(c(t,19).Bb&xs)!=0)}function t_t(e,t){return aqe(Oo(e.q.getTime()),Oo(t.q.getTime()))}function AVe(e){return BH(e.e.Rd().gc()*e.c.Rd().gc(),16,new tAe(e))}function n_t(e){return!!e.u&&Uo(e.u.a).i!=0&&!(e.n&&jz(e.n))}function i_t(e){return!!e.a&&wu(e.a.a).i!=0&&!(e.b&&Sz(e.b))}function Loe(e,t){return t==0?!!e.o&&e.o.f!=0:bz(e,t)}function r_t(e,t,n){var i;return i=c(e.Zb().xc(t),16),!!i&&i.Hc(n)}function PVe(e,t,n){var i;return i=c(e.Zb().xc(t),16),!!i&&i.Mc(n)}function _Ve(e,t){var n;return n=1-t,e.a[n]=PP(e.a[n],n),PP(e,t)}function OVe(e,t){var n,i;return i=Nr(e,Ms),n=pa(t,32),qa(n,i)}function LVe(e,t,n){var i;i=(Tn(e),new iu(e)),oKt(new Gze(i,t,n))}function ZE(e,t,n){var i;i=(Tn(e),new iu(e)),cKt(new Wze(i,t,n))}function So(e,t,n,i,r,o){return hJe(e,t,n,o),zue(e,i),Vue(e,r),e}function DVe(e,t,n,i){return e.a+=""+fl(t==null?Oc:uo(t),n,i),e}function Vr(e,t){this.a=e,h6.call(this,e),$b(t,e.gc()),this.b=t}function RVe(e){this.a=ke(Cr,Mt,1,bue(w.Math.max(8,e))<<1,5,1)}function e7(e){return c(wf(e,ke(Rh,p1,10,e.c.length,0,1)),199)}function Vf(e){return c(wf(e,ke(SX,YU,18,e.c.length,0,1)),483)}function $Ve(e){return e.a?e.e.length==0?e.a.a:e.a.a+(""+e.e):e.c}function w8(e){for(;e.d>0&&e.a[--e.d]==0;);e.a[e.d++]==0&&(e.e=0)}function FVe(e){return rn(e.b.b!=e.d.a),e.c=e.b=e.b.b,--e.a,e.c.c}function s_t(e,t,n){e.a=t,e.c=n,e.b.a.$b(),Bu(e.d),xb(e.e.a.c,0)}function BVe(e,t){var n;e.e=new Ine,n=rm(t),ir(n,e.c),nit(e,n,0)}function lr(e,t,n,i){var r;r=new yte,r.a=t,r.b=n,r.c=i,$n(e.a,r)}function Le(e,t,n,i){var r;r=new yte,r.a=t,r.b=n,r.c=i,$n(e.b,r)}function HVe(e,t,n){if(e<0||tn)throw V(new Ks(mVt(e,t,n)))}function t7(e,t){if(e<0||e>=t)throw V(new Ks(XVt(e,t)));return e}function o_t(e){if(!("stack"in e))try{throw e}catch{}return e}function Lv(e){return N6(),ce(e.g,10)?c(e.g,10):null}function c_t(e){return _v(e).dc()?!1:(TEt(e,new B),!0)}function mp(e){var t;return oo(e)?(t=e,t==-0?0:t):kLt(e)}function KVe(e,t){return ce(t,44)?Mz(e.a,c(t,44)):!1}function qVe(e,t){return ce(t,44)?Mz(e.a,c(t,44)):!1}function zVe(e,t){return ce(t,44)?Mz(e.a,c(t,44)):!1}function Doe(e){var t;return J1(e),t=new ht,bv(e.a,new UAe(t)),t}function Roe(){var e,t,n;return t=(n=(e=new Ng,e),n),$e(yxe,t),t}function WA(e){var t;return J1(e),t=new xt,bv(e.a,new GAe(t)),t}function u_t(e,t){return e.a<=e.b?(t.Dd(e.a++),!0):!1}function VVe(e){kq.call(this,e,(k4(),WW),null,!1,null,!1)}function UVe(){UVe=U,eht=En((uT(),J(W(Nge,1),Ce,489,0,[cX])))}function GVe(){GVe=U,xve=Fqe(De(1),De(4)),yve=Fqe(De(1),De(2))}function l_t(e,t){return new OH(t,Z6(Xr(t.e),e,e),(_t(),!0))}function XA(e){return new ac((Vu(e,QV),bP(as(as(5,e),e/10|0))))}function a_t(e){return BH(e.e.Rd().gc()*e.c.Rd().gc(),273,new eAe(e))}function WVe(e){return c(wf(e,ke(ldt,rct,12,e.c.length,0,1)),2042)}function f_t(e){return Hu(),!ys(e)&&!(!ys(e)&&e.c.i.c==e.d.i.c)}function h_t(e,t){return r3(),c(D(t,(Io(),R2)),17).a>=e.gc()}function b8(e,t){Wtn(t,e),wse(e.d),wse(c(D(e,(Ge(),CD)),214))}function LK(e,t){Xtn(t,e),bse(e.d),bse(c(D(e,(Ge(),CD)),214))}function d_t(e,t,n){e.d&&Ac(e.d.e,e),e.d=t,e.d&&Vg(e.d.e,n,e)}function p_t(e,t,n){return n.f.c.length>0?Vse(e.a,t,n):Vse(e.b,t,n)}function g_t(e,t,n){var i;i=PBt();try{return nIt(e,t,n)}finally{cOt(i)}}function rw(e,t){var n,i;return n=cd(e,t),i=null,n&&(i=n.pe()),i}function m8(e,t){var n,i;return n=cd(e,t),i=null,n&&(i=n.se()),i}function b4(e,t){var n,i;return n=Kb(e,t),i=null,n&&(i=n.se()),i}function ud(e,t){var n,i;return n=cd(e,t),i=null,n&&(i=Dae(n)),i}function w_t(e,t,n){var i;return i=Z4(n),G_(e.g,i,t),G_(e.i,t,n),t}function $oe(e,t,n){this.d=new s_e(this),this.e=e,this.i=t,this.f=n}function XVe(e,t,n,i){this.e=null,this.c=e,this.d=t,this.a=n,this.b=i}function JVe(e,t,n,i){GFe(this),this.c=e,this.e=t,this.f=n,this.b=i}function Foe(e,t,n,i){this.d=e,this.n=t,this.g=n,this.o=i,this.p=-1}function YVe(e,t,n,i){return ce(n,59)?new NBe(e,t,n,i):new Fse(e,t,n,i)}function m4(e){return ce(e,16)?c(e,16).dc():!e.Kc().Ob()}function QVe(e){if(e.e.g!=e.b)throw V(new ol);return!!e.c&&e.d>0}function dn(e){return rn(e.b!=e.d.c),e.c=e.b,e.b=e.b.a,++e.a,e.c.c}function Boe(e,t){Ut(t),Vi(e.a,e.c,t),e.c=e.c+1&e.a.length-1,yZe(e)}function Q1(e,t){Ut(t),e.b=e.b-1&e.a.length-1,Vi(e.a,e.b,t),yZe(e)}function ZVe(e){var t;t=e.Gh(),this.a=ce(t,71)?c(t,71).Ii():t.Kc()}function b_t(e){return new yt(nDt(c(e.a.md(),16).gc(),e.a.ld()),16)}function eUe(){eUe=U,bbt=En((fT(),J(W(tye,1),Ce,490,0,[AY])))}function tUe(){tUe=U,vbt=En((hT(),J(W(mbt,1),Ce,558,0,[PY])))}function nUe(){nUe=U,Rbt=En((C6(),J(W(kye,1),Ce,539,0,[KN])))}function m_t(){return Cp(),J(W(Zge,1),Ce,389,0,[jm,Qge,kX,jX])}function v_t(){return k4(),J(W(xL,1),Ce,304,0,[WW,XW,JW,YW])}function y_t(){return f3(),J(W(Xft,1),Ce,332,0,[oN,sN,cN,uN])}function x_t(){return U8(),J(W(Qft,1),Ce,406,0,[lN,EL,IL,aN])}function k_t(){return fw(),J(W(Gft,1),Ce,417,0,[rN,iN,sX,oX])}function j_t(){return $4(),J(W(Yht,1),Ce,416,0,[Lw,km,xm,v2])}function S_t(){return gf(),J(W(Ndt,1),Ce,421,0,[B3,Xk,Jk,AX])}function E_t(){return HP(),J(W(wdt,1),Ce,371,0,[TX,QL,ZL,gN])}function I_t(){return Yb(),J(W(PJ,1),Ce,203,0,[DD,AJ,L2,O2])}function N_t(){return Gf(),J(W(uve,1),Ce,284,0,[y1,cve,LJ,DJ])}function C_t(e){var t;return e.j==(qe(),fn)&&(t=ztt(e),qc(t,Xt))}function M_t(e,t){var n;n=t.a,ls(n,t.c.d),Fr(n,t.d.d),Ub(n.a,e.n)}function Hoe(e,t){var n;return n=c(df(e.b,t),67),!n&&(n=new Ai),n}function Zy(e){return N6(),ce(e.g,154)?c(e.g,154):null}function T_t(e){e.a=null,e.e=null,xb(e.b.c,0),xb(e.f.c,0),e.c=null}function JA(){JA=U,nJ=new vie(Nk,0),wbe=new vie("TOP_LEFT",1)}function v8(){v8=U,jS=new xie("UPPER",0),kS=new xie("LOWER",1)}function A_t(e,t){return Dy(new Ae(t.e.a+t.f.a/2,t.e.b+t.f.b/2),e)}function iUe(e,t){return c(Tu(_b(c(pi(e.k,t),15).Oc(),x2)),113)}function rUe(e,t){return c(Tu(zy(c(pi(e.k,t),15).Oc(),x2)),113)}function P_t(){return g3(),J(W(Sve,1),Ce,405,0,[qD,SS,ES,IS])}function __t(){return O8(),J(W(n2e,1),Ce,353,0,[sY,WD,rY,iY])}function O_t(){return m_(),J(W(E2e,1),Ce,354,0,[wY,j2e,S2e,k2e])}function L_t(){return Lu(),J(W(XS,1),Ce,386,0,[rC,og,iC,qm])}function D_t(){return Gu(),J(W(Smt,1),Ce,291,0,[eC,Bh,T0,ZN])}function R_t(){return bd(),J(W(sQ,1),Ce,223,0,[rQ,QN,S5,tx])}function $_t(){return ZP(),J(W(z3e,1),Ce,320,0,[uQ,H3e,q3e,K3e])}function F_t(){return qP(),J(W(Hmt,1),Ce,415,0,[lQ,U3e,V3e,G3e])}function B_t(e){return VA(),bc(pQ,e)?c(Yt(pQ,e),341).Qg():null}function hl(e,t,n){return t<0?iV(e,n):c(n,69).wk().Bk(e,e.hi(),t)}function H_t(e,t,n){var i;return i=Z4(n),G_(e.j,i,t),Jn(e.k,t,n),t}function K_t(e,t,n){var i;return i=Z4(n),G_(e.d,i,t),Jn(e.e,t,n),t}function sUe(e){var t,n;return t=(K1(),n=new LF,n),e&&R_(t,e),t}function Koe(e){var t;return t=e.aj(e.i),e.i>0&&Wo(e.g,0,t,0,e.i),t}function oUe(e,t){var n;for(n=e.j.c.length;n>24}function z_t(e){if(e.p!=1)throw V(new Bc);return Mn(e.k)<<24>>24}function V_t(e){if(e.p!=7)throw V(new Bc);return Mn(e.k)<<16>>16}function U_t(e){if(e.p!=7)throw V(new Bc);return Mn(e.f)<<16>>16}function Dv(e,t){return t.e==0||e.e==0?Jj:(fk(),hV(e,t))}function lUe(e,t){return be(t)===be(e)?"(this Map)":t==null?Oc:uo(t)}function G_t(e,t,n){return XH(ye(Qs(Is(e.f,t))),ye(Qs(Is(e.f,n))))}function W_t(e,t,n){var i;i=c(Yt(e.g,n),60),$e(e.a.c,new xr(t,i))}function aUe(e,t,n){e.i=0,e.e=0,t!=n&&(UJe(e,t,n),VJe(e,t,n))}function X_t(e,t,n,i,r){var o;o=JGt(r,n,i),$e(t,KVt(r,o)),_zt(e,r,t)}function qoe(e,t,n,i,r){this.i=e,this.a=t,this.e=n,this.j=i,this.f=r}function fUe(e,t){yoe.call(this),this.a=e,this.b=t,$e(this.a.b,this)}function hUe(e){this.b=new hn,this.c=new hn,this.d=new hn,this.a=e}function dUe(e,t){var n;return n=new Cy,e.Gd(n),n.a+="..",t.Hd(n),n.a}function pUe(e,t){var n;for(n=t;n;)qg(e,n.i,n.j),n=Oi(n);return e}function gUe(e,t,n){var i;return i=Z4(n),Jn(e.b,i,t),Jn(e.c,t,n),t}function ld(e){var t;for(t=0;e.Ob();)e.Pb(),t=as(t,1);return bP(t)}function jh(e,t){Ss();var n;return n=c(e,69).vk(),Xzt(n,t),n.xl(t)}function J_t(e,t,n){if(n){var i=n.oe();e.a[t]=i(n)}else delete e.a[t]}function zoe(e,t){var n;n=e.q.getHours(),e.q.setFullYear(t+d0),aj(e,n)}function Y_t(e,t){return c(t==null?Qs(Is(e.f,null)):P6(e.i,t),288)}function Voe(e,t){return e==(Kt(),er)&&t==er?4:e==er||t==er?8:32}function YA(e,t,n){return X_(e,t,n,ce(t,102)&&(c(t,19).Bb&xs)!=0)}function Q_t(e,t,n){return gk(e,t,n,ce(t,102)&&(c(t,19).Bb&xs)!=0)}function Z_t(e,t,n){return qGt(e,t,n,ce(t,102)&&(c(t,19).Bb&xs)!=0)}function Uoe(e){e.b!=e.c&&(e.a=ke(Cr,Mt,1,8,5,1),e.b=0,e.c=0)}function y8(e){return rn(e.a=0&&e.a[n]===t[n];n--);return n<0}function QA(e){var t;return e?new Mse(e):(t=new Ff,yq(t,e),t)}function oOt(e,t){var n,i;i=!1;do n=LJe(e,t),i=i|n;while(n);return i}function cOt(e){e&&_Lt((Pne(),Cpe)),--gL,e&&wL!=-1&&(Q9t(wL),wL=-1)}function ZA(e){yae(),iBe(this,Mn(Nr(Ug(e,24),uO)),Mn(Nr(e,uO)))}function yUe(){yUe=U,pft=En((u_(),J(W(rge,1),Ce,436,0,[eX,ige])))}function xUe(){xUe=U,gft=En((gP(),J(W(oge,1),Ce,435,0,[sge,tX])))}function kUe(){kUe=U,bht=En((wP(),J(W(Oge,1),Ce,432,0,[hX,ML])))}function jUe(){jUe=U,ddt=En((P4(),J(W(hdt,1),Ce,517,0,[dN,IX])))}function SUe(){SUe=U,Zdt=En((JA(),J(W(bbe,1),Ce,429,0,[nJ,wbe])))}function EUe(){EUe=U,Kdt=En((b7(),J(W(tbe,1),Ce,428,0,[sD,ebe])))}function IUe(){IUe=U,Udt=En((a7(),J(W(rbe,1),Ce,488,0,[ibe,cD])))}function NUe(){NUe=U,Tpt=En((g7(),J(W(lve,1),Ce,430,0,[RJ,$J])))}function CUe(){CUe=U,rgt=En((v8(),J(W(igt,1),Ce,531,0,[jS,kS])))}function MUe(){MUe=U,$dt=En((cP(),J(W(Gwe,1),Ce,431,0,[Uwe,HX])))}function TUe(){TUe=U,uwt=En((GA(),J(W(r2e,1),Ce,433,0,[oY,i2e])))}function AUe(){AUe=U,dwt=En((AP(),J(W(s2e,1),Ce,501,0,[XD,F2])))}function PUe(){PUe=U,fgt=En((zf(),J(W(agt,1),Ce,523,0,[Xw,x1])))}function _Ue(){_Ue=U,dgt=En((uf(),J(W(hgt,1),Ce,522,0,[eg,If])))}function OUe(){OUe=U,Cgt=En((za(),J(W(Ngt,1),Ce,528,0,[$m,I0])))}function LUe(){LUe=U,Lgt=En((nw(),J(W(Ogt,1),Ce,465,0,[N0,D2])))}function DUe(){DUe=U,wwt=En((lP(),J(W(c2e,1),Ce,434,0,[o2e,hY])))}function RUe(){RUe=U,fbt=En((tP(),J(W(W2e,1),Ce,491,0,[CY,G2e])))}function $Ue(){$Ue=U,dbt=En((Nq(),J(W(eye,1),Ce,492,0,[Q2e,Z2e])))}function FUe(){FUe=U,ybt=En((s7(),J(W(nye,1),Ce,438,0,[_Y,oR])))}function BUe(){BUe=U,$bt=En((N7(),J(W(Sye,1),Ce,437,0,[uR,jye])))}function HUe(){HUe=U,$mt=En((PH(),J(W(jR,1),Ce,347,0,[F3e,B3e])))}function uOt(){return ar(),J(W(KS,1),Ce,88,0,[Mf,so,Js,Cf,Cl])}function lOt(){return qe(),J(W(ks,1),Ho,64,0,[ko,Ht,Xt,fn,qt])}function aOt(e,t,n){return c(t==null?dc(e.f,null,n):hw(e.i,t,n),288)}function fOt(e){return(e.k==(Kt(),er)||e.k==rr)&&Ni(e,(Pe(),cS))}function BK(e){return e.c&&e.d?Poe(e.c)+"->"+Poe(e.d):"e_"+Kg(e)}function Qr(e,t){var n,i;for(Ut(t),i=e.Kc();i.Ob();)n=i.Pb(),t.Cd(n)}function hOt(e,t){var n;n=new Sy,gp(n,"x",t.a),gp(n,"y",t.b),Gy(e,n)}function dOt(e,t){var n;n=new Sy,gp(n,"x",t.a),gp(n,"y",t.b),Gy(e,n)}function KUe(e,t){var n;for(n=t;n;)qg(e,-n.i,-n.j),n=Oi(n);return e}function Woe(e,t){var n,i;for(n=t,i=0;n>0;)i+=e.a[n],n-=n&-n;return i}function dl(e,t,n){var i;return i=(St(t,e.c.length),e.c[t]),e.c[t]=n,i}function Xoe(e,t,n){e.a.c.length=0,$Zt(e,t,n),e.a.c.length==0||fYt(e,t)}function n7(e){e.i=0,uE(e.b,null),uE(e.c,null),e.a=null,e.e=null,++e.g}function eP(){eP=U,jf=!0,rft=!1,sft=!1,cft=!1,oft=!1}function HK(e){eP(),!jf&&(this.c=e,this.e=!0,this.a=new Re)}function qUe(e,t){this.c=0,this.b=t,hFe.call(this,e,17493),this.a=this.c}function zUe(e){Wst(),QOe(this),this.a=new Ai,Cue(this,e),$n(this.a,e)}function VUe(){aH(this),this.b=new Ae(Li,Li),this.a=new Ae(br,br)}function tP(){tP=U,CY=new Mie(Ede,0),G2e=new Mie("TARGET_WIDTH",1)}function Rv(e,t){return(s0(e),Ux(new gt(e,new kce(t,e.a)))).Bd(R3)}function pOt(){return ss(),J(W(Jge,1),Ce,367,0,[Sa,Dh,Xo,sc,ro])}function gOt(){return Zb(),J(W(Mdt,1),Ce,375,0,[wN,nD,iD,tD,eD])}function wOt(){return c1(),J(W(Zwe,1),Ce,348,0,[qX,Qwe,zX,t5,e5])}function bOt(){return V8(),J(W(tve,1),Ce,323,0,[eve,_J,OJ,bS,mS])}function mOt(){return yl(),J(W(Tbe,1),Ce,171,0,[jN,lS,S0,aS,Cm])}function vOt(){return E_(),J(W(pwt,1),Ce,368,0,[aY,cY,fY,uY,lY])}function yOt(){return rj(),J(W(pbt,1),Ce,373,0,[B2,J3,LS,OS,HN])}function xOt(){return Q7(),J(W(oye,1),Ce,324,0,[iye,OY,sye,LY,rye])}function kOt(){return Xa(),J(W(Fh,1),Ce,170,0,[Ct,Sr,fh,tg,j1])}function jOt(){return zv(),J(W(US,1),Ce,256,0,[A0,tC,P3e,VS,_3e])}function SOt(e){return QM(),function(){return g_t(e,this,arguments)}}function ys(e){return!e.c||!e.d?!1:!!e.c.i&&e.c.i==e.d.i}function Joe(e,t){return ce(t,143)?wt(e.c,c(t,143).c):!1}function gu(e){return e.t||(e.t=new KOe(e),F8(new rDe(e),0,e.t)),e.t}function UUe(e){this.b=e,Jt.call(this,e),this.a=c($t(this.b.a,4),129)}function GUe(e){this.b=e,$y.call(this,e),this.a=c($t(this.b.a,4),129)}function ga(e,t,n,i,r){iGe.call(this,t,i,r),this.c=e,this.b=n}function Yoe(e,t,n,i,r){mVe.call(this,t,i,r),this.c=e,this.a=n}function Qoe(e,t,n,i,r){vVe.call(this,t,i,r),this.c=e,this.a=n}function Zoe(e,t,n,i,r){iGe.call(this,t,i,r),this.c=e,this.a=n}function KK(e,t){var n;return n=c(df(e.d,t),23),n||c(df(e.e,t),23)}function WUe(e,t){var n,i;return n=t.ld(),i=e.Fe(n),!!i&&_o(i.e,t.md())}function XUe(e,t){var n;return n=t.ld(),new Og(n,e.e.pc(n,c(t.md(),16)))}function EOt(e,t){var n;return n=e.a.get(t),n??ke(Cr,Mt,1,0,5,1)}function JUe(e){var t;return t=e.length,wt(Wt.substr(Wt.length-t,t),e)}function on(e){if(bn(e))return e.c=e.a,e.a.Pb();throw V(new po)}function ece(e,t){return t==0||e.e==0?e:t>0?Hnt(e,t):lQe(e,-t)}function e3(e,t){return t==0||e.e==0?e:t>0?lQe(e,t):Hnt(e,-t)}function tce(e){D9t.call(this,e==null?Oc:uo(e),ce(e,82)?c(e,82):null)}function YUe(e){var t;return e.c||(t=e.r,ce(t,90)&&(e.c=c(t,29))),e.c}function qK(e){var t;return t=new ew,no(t,e),Ne(t,(Ge(),Xs),null),t}function QUe(e){var t,n;return t=e.c.i,n=e.d.i,t.k==(Kt(),rr)&&n.k==rr}function zK(e){var t,n,i;return t=e&yu,n=e>>22&yu,i=e<0?Sd:0,wc(t,n,i)}function IOt(e){var t,n,i,r;for(n=e,i=0,r=n.length;i=0?e.Lh(i,n,!0):vw(e,t,n)}function COt(e,t,n){return xi(Dy(tk(e),Xr(t.b)),Dy(tk(e),Xr(n.b)))}function MOt(e,t,n){return xi(Dy(tk(e),Xr(t.e)),Dy(tk(e),Xr(n.e)))}function TOt(e,t){return w.Math.min(Z1(t.a,e.d.d.c),Z1(t.b,e.d.d.c))}function i7(e,t){e._i(e.i+1),J6(e,e.i,e.Zi(e.i,t)),e.Mi(e.i++,t),e.Ni()}function x8(e){var t,n;++e.j,t=e.g,n=e.i,e.g=null,e.i=0,e.Oi(n,t),e.Ni()}function ZUe(e,t,n){var i;i=new ere(e.a),C8(i,e.a.a),dc(i.f,t,n),e.a.a=i}function nce(e,t,n,i){var r;for(r=0;rt)throw V(new Ks(Vae(e,t,"index")));return e}function Qd(e,t){var n;return n=(St(t,e.c.length),e.c[t]),Xne(e.c,t,1),n}function sce(e,t){var n,i;return n=(Ut(e),e),i=(Ut(t),t),n==i?0:nt.p?-1:0}function cGe(e){var t;return e.a||(t=e.r,ce(t,156)&&(e.a=c(t,156))),e.a}function DOt(e,t,n){var i;return++e.e,--e.f,i=c(e.d[t].gd(n),136),i.md()}function ROt(e){var t,n;return t=e.ld(),n=c(e.md(),16),DE(n.Nc(),new iAe(t))}function uGe(e,t){return bc(e.a,t)?(t3(e.a,t),!0):!1}function n3(e,t,n){return t7(t,e.e.Rd().gc()),t7(n,e.c.Rd().gc()),e.a[t][n]}function iP(e,t,n){this.a=e,this.b=t,this.c=n,$e(e.t,this),$e(t.i,this)}function rP(e,t,n,i){this.f=e,this.e=t,this.d=n,this.b=i,this.c=i?i.d:null}function r7(){this.b=new Ai,this.a=new Ai,this.b=new Ai,this.a=new Ai}function v4(){v4=U;var e,t;LR=(Vx(),t=new UM,t),DR=(e=new nB,e)}function $Ot(e){var t;return s0(e),t=new eKe(e,e.a.e,e.a.d|4),new Ire(e,t)}function lGe(e){var t;for(J1(e),t=0;e.a.Bd(new Rt);)t=as(t,1);return t}function sP(e,t){return Ut(t),e.c=0,"Initial capacity must not be negative")}function oP(){oP=U,DS=new mi("org.eclipse.elk.labels.labelManager")}function aGe(){aGe=U,Hwe=new Fi("separateLayerConnections",(HP(),TX))}function za(){za=U,$m=new Sie("REGULAR",0),I0=new Sie("CRITICAL",1)}function s7(){s7=U,_Y=new Aie("FIXED",0),oR=new Aie("CENTER_NODE",1)}function cP(){cP=U,Uwe=new wie("QUADRATIC",0),HX=new wie("SCANLINE",1)}function fGe(){fGe=U,Fdt=En((E8(),J(W(Xwe,1),Ce,322,0,[iS,bN,Wwe])))}function hGe(){hGe=U,Bdt=En((SP(),J(W(Ywe,1),Ce,351,0,[Jwe,rD,KX])))}function dGe(){dGe=U,Ldt=En((lw(),J(W(PX,1),Ce,372,0,[Rw,k0,Dw])))}function pGe(){pGe=U,zdt=En((Ep(),J(W(qdt,1),Ce,460,0,[VX,n5,S2])))}function gGe(){gGe=U,Jdt=En((R4(),J(W(tJ,1),Ce,299,0,[ZX,eJ,mN])))}function wGe(){wGe=U,Qdt=En((dd(),J(W(Ydt,1),Ce,311,0,[vN,I2,H3])))}function bGe(){bGe=U,Ept=En((L8(),J(W(Zme,1),Ce,390,0,[TJ,Qme,LD])))}function mGe(){mGe=U,_pt=En(($P(),J(W(hve,1),Ce,387,0,[ave,FJ,fve])))}function vGe(){vGe=U,Opt=En((P8(),J(W(dve,1),Ce,349,0,[HJ,BJ,TN])))}function yGe(){yGe=U,Ppt=En((Ns(),J(W(Apt,1),Ce,463,0,[vS,au,gc])))}function xGe(){xGe=U,Lpt=En((V4(),J(W(gve,1),Ce,350,0,[KJ,pve,yS])))}function kGe(){kGe=U,Dpt=En((jP(),J(W(mve,1),Ce,352,0,[bve,qJ,wve])))}function jGe(){jGe=U,Rpt=En((KP(),J(W(vve,1),Ce,388,0,[zJ,g5,Rm])))}function SGe(){SGe=U,$gt=En((_8(),J(W(Dve,1),Ce,392,0,[Lve,GJ,_N])))}function EGe(){EGe=U,bwt=En((A7(),J(W(a2e,1),Ce,393,0,[JD,u2e,l2e])))}function IGe(){IGe=U,$wt=En((RP(),J(W(C2e,1),Ce,300,0,[bY,N2e,I2e])))}function NGe(){NGe=U,Fwt=En((i_(),J(W(M2e,1),Ce,445,0,[$N,ZD,mY])))}function CGe(){CGe=U,Hwt=En((p_(),J(W(Bwt,1),Ce,456,0,[vY,xY,yY])))}function MGe(){MGe=U,zwt=En((YP(),J(W(P2e,1),Ce,394,0,[A2e,SY,T2e])))}function TGe(){TGe=U,hbt=En((aP(),J(W(Y2e,1),Ce,439,0,[MY,J2e,X2e])))}function AGe(){AGe=U,Zpt=En((uw(),J(W(Qpt,1),Ce,464,0,[AN,xS,FD])))}function PGe(){PGe=U,xft=En((ou(),J(W(yft,1),Ce,471,0,[ch,y0,ka])))}function _Ge(){_Ge=U,vft=En((Ga(),J(W(ym,1),Ce,237,0,[Mo,pc,To])))}function OGe(){OGe=U,jft=En((Pc(),J(W(kft,1),Ce,472,0,[Qa,x0,ja])))}function LGe(){LGe=U,uft=En((cu(),J(W(Ws,1),Ce,108,0,[nge,ao,vm])))}function DGe(){DGe=U,qht=En((k8(),J(W(Xge,1),Ce,391,0,[wX,gX,bX])))}function RGe(){RGe=U,jmt=En((wd(),J(W(A3e,1),Ce,346,0,[wR,E1,zS])))}function $Ge(){$Ge=U,wbt=En((R7(),J(W(TY,1),Ce,444,0,[iR,rR,sR])))}function FGe(){FGe=U,vmt=En((pf(),J(W(v3e,1),Ce,278,0,[k5,Km,j5])))}function BGe(){BGe=U,Rmt=En((u3(),J(W($3e,1),Ce,280,0,[R3e,zm,kR])))}function hf(e,t){return!e.o&&(e.o=new Uc((Bo(),qh),I1,e,0)),uz(e.o,t)}function FOt(e,t){var n;e.C&&(n=c(Ls(e.b,t),127).n,n.d=e.C.d,n.a=e.C.a)}function ace(e){var t,n,i,r;r=e.d,t=e.a,n=e.b,i=e.c,e.d=n,e.a=i,e.b=r,e.c=t}function BOt(e){return!e.g&&(e.g=new OM),!e.g.b&&(e.g.b=new $Oe(e)),e.g.b}function o7(e){return!e.g&&(e.g=new OM),!e.g.c&&(e.g.c=new HOe(e)),e.g.c}function HOt(e){return!e.g&&(e.g=new OM),!e.g.d&&(e.g.d=new FOe(e)),e.g.d}function KOt(e){return!e.g&&(e.g=new OM),!e.g.a&&(e.g.a=new BOe(e)),e.g.a}function qOt(e,t,n,i){return n&&(i=n.Rh(t,$i(n.Dh(),e.c.uk()),null,i)),i}function zOt(e,t,n,i){return n&&(i=n.Th(t,$i(n.Dh(),e.c.uk()),null,i)),i}function WK(e,t,n,i){var r;return r=ke(kn,qn,28,t+1,15,1),WYt(r,e,t,n,i),r}function ke(e,t,n,i,r,o){var a;return a=fZe(r,i),r!=10&&J(W(e,o),t,n,r,a),a}function VOt(e,t,n){var i,r;for(r=new D4(t,e),i=0;in||t=0?e.Lh(n,!0,!0):vw(e,t,!0)}function uLt(e,t,n){var i;return i=qJe(e,t,n),e.b=new _P(i.c.length),_fe(e,i)}function lLt(e){if(e.b<=0)throw V(new po);return--e.b,e.a-=e.c.c,De(e.a)}function aLt(e){var t;if(!e.a)throw V(new Zqe);return t=e.a,e.a=Oi(e.a),t}function fLt(e){for(;!e.a;)if(!EHe(e.c,new WAe(e)))return!1;return!0}function i3(e){var t;return Tn(e),ce(e,204)?(t=c(e,204),t):new fAe(e)}function hLt(e){uP(),c(e.of((Un(),Hm)),181).Fc((uu(),nC)),e.qf(tQ,null)}function uP(){uP=U,Hbt=new GIe,qbt=new WIe,Kbt=e$t((Un(),tQ),Hbt,M0,qbt)}function lP(){lP=U,o2e=new Cie("LEAF_NUMBER",0),hY=new Cie("NODE_SIZE",1)}function ZK(e){e.a=ke(kn,qn,28,e.b+1,15,1),e.c=ke(kn,qn,28,e.b,15,1),e.d=0}function dLt(e,t){e.a.Ne(t.d,e.b)>0&&($e(e.c,new fse(t.c,t.d,e.d)),e.b=t.d)}function yce(e,t){if(e.g==null||t>=e.i)throw V(new sH(t,e.i));return e.g[t]}function zGe(e,t,n){if(K4(e,n),n!=null&&!e.fk(n))throw V(new ZF);return n}function eq(e,t){return w7(t)!=10&&J(Ou(t),t.Sm,t.__elementTypeId$,w7(t),e),e}function x4(e,t,n,i){var r;i=(Zg(),i||Xpe),r=e.slice(t,n),Uae(r,e,t,n,-t,i)}function pl(e,t,n,i,r){return t<0?vw(e,n,i):c(n,69).wk().yk(e,e.hi(),t,i,r)}function pLt(e,t){return xi(pe(ye(D(e,(Pe(),Bw)))),pe(ye(D(t,Bw))))}function VGe(){VGe=U,nft=En((k4(),J(W(xL,1),Ce,304,0,[WW,XW,JW,YW])))}function k4(){k4=U,WW=new wT("All",0),XW=new LFe,JW=new zFe,YW=new OFe}function ou(){ou=U,ch=new TB(I3,0),y0=new TB(Nk,1),ka=new TB(N3,2)}function UGe(){UGe=U,J_(),Cxe=Li,zvt=br,Mxe=new W9(Li),Vvt=new W9(br)}function GGe(){GGe=U,Wft=En((fw(),J(W(Gft,1),Ce,417,0,[rN,iN,sX,oX])))}function WGe(){WGe=U,Zft=En((U8(),J(W(Qft,1),Ce,406,0,[lN,EL,IL,aN])))}function XGe(){XGe=U,Jft=En((f3(),J(W(Xft,1),Ce,332,0,[oN,sN,cN,uN])))}function JGe(){JGe=U,rdt=En((Cp(),J(W(Zge,1),Ce,389,0,[jm,Qge,kX,jX])))}function YGe(){YGe=U,Qht=En(($4(),J(W(Yht,1),Ce,416,0,[Lw,km,xm,v2])))}function QGe(){QGe=U,Cdt=En((gf(),J(W(Ndt,1),Ce,421,0,[B3,Xk,Jk,AX])))}function ZGe(){ZGe=U,bdt=En((HP(),J(W(wdt,1),Ce,371,0,[TX,QL,ZL,gN])))}function eWe(){eWe=U,Ipt=En((Yb(),J(W(PJ,1),Ce,203,0,[DD,AJ,L2,O2])))}function tWe(){tWe=U,Mpt=En((Gf(),J(W(uve,1),Ce,284,0,[y1,cve,LJ,DJ])))}function a7(){a7=U,ibe=new mie(nh,0),cD=new mie("IMPROVE_STRAIGHTNESS",1)}function nWe(e,t){var n,i;return i=t/e.c.Rd().gc()|0,n=t%e.c.Rd().gc(),n3(e,i,n)}function iWe(e){var t;if(e.nl())for(t=e.i-1;t>=0;--t)le(e,t);return Koe(e)}function xce(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[0];)n=t;return n}function rWe(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[1];)n=t;return n}function gLt(e){return ce(e,180)?""+c(e,180).a:e==null?null:uo(e)}function wLt(e){return ce(e,180)?""+c(e,180).a:e==null?null:uo(e)}function sWe(e,t){if(t.a)throw V(new go(Iot));gr(e.a,t),t.a=e,!e.j&&(e.j=t)}function kce(e,t){BT.call(this,t.zd(),t.yd()&-16449),Ut(e),this.a=e,this.c=t}function bLt(e,t){return new OH(t,qg(Xr(t.e),t.f.a+e,t.f.b+e),(_t(),!1))}function mLt(e,t){return r4(),$e(e,new xr(t,De(t.e.c.length+t.g.c.length)))}function vLt(e,t){return r4(),$e(e,new xr(t,De(t.e.c.length+t.g.c.length)))}function oWe(){oWe=U,Rwt=En((m_(),J(W(E2e,1),Ce,354,0,[wY,j2e,S2e,k2e])))}function cWe(){cWe=U,cwt=En((O8(),J(W(n2e,1),Ce,353,0,[sY,WD,rY,iY])))}function uWe(){uWe=U,Dgt=En((g3(),J(W(Sve,1),Ce,405,0,[qD,SS,ES,IS])))}function lWe(){lWe=U,ymt=En((bd(),J(W(sQ,1),Ce,223,0,[rQ,QN,S5,tx])))}function aWe(){aWe=U,Emt=En((Gu(),J(W(Smt,1),Ce,291,0,[eC,Bh,T0,ZN])))}function fWe(){fWe=U,Lmt=En((Lu(),J(W(XS,1),Ce,386,0,[rC,og,iC,qm])))}function hWe(){hWe=U,Fmt=En((ZP(),J(W(z3e,1),Ce,320,0,[uQ,H3e,q3e,K3e])))}function dWe(){dWe=U,Kmt=En((qP(),J(W(Hmt,1),Ce,415,0,[lQ,U3e,V3e,G3e])))}function aP(){aP=U,MY=new eH(zct,0),J2e=new eH(z1e,1),X2e=new eH(nh,2)}function Hb(e,t,n,i,r){return Ut(e),Ut(t),Ut(n),Ut(i),Ut(r),new Gse(e,t,i)}function pWe(e,t){var n;return n=c(t3(e.e,t),400),n?(kse(n),n.e):null}function Ac(e,t){var n;return n=to(e,t,0),n==-1?!1:(Qd(e,n),!0)}function gWe(e,t,n){var i;return J1(e),i=new Nu,i.a=t,e.a.Nb(new JRe(i,n)),i.a}function yLt(e){var t;return J1(e),t=ke($r,Rs,28,0,15,1),bv(e.a,new VAe(t)),t}function jce(e){var t;if(!wq(e))throw V(new po);return e.e=1,t=e.d,e.d=null,t}function e1(e){var t;return oo(e)&&(t=0-e,!isNaN(t))?t:t0(B4(e))}function to(e,t,n){for(;n=0?h_(e,n,!0,!0):vw(e,t,!0)}function Ece(e){var t;return t=yp($t(e,32)),t==null&&(xc(e),t=yp($t(e,32))),t}function Ice(e){var t;return e.Oh()||(t=sn(e.Dh())-e.ji(),e.$h().Mk(t)),e.zh()}function xWe(e,t){Ege=new f6,Yft=t,Qj=e,c(Qj.b,68),dce(Qj,Ege,null),$rt(Qj)}function k8(){k8=U,wX=new PB("XY",0),gX=new PB("X",1),bX=new PB("Y",2)}function Pc(){Pc=U,Qa=new AB("TOP",0),x0=new AB(Nk,1),ja=new AB(ide,2)}function dd(){dd=U,vN=new $B(nh,0),I2=new $B("TOP",1),H3=new $B(ide,2)}function g7(){g7=U,RJ=new yie("INPUT_ORDER",0),$J=new yie("PORT_DEGREE",1)}function j4(){j4=U,Tpe=wc(yu,yu,524287),Bat=wc(0,0,II),Ape=zK(1),zK(2),Ppe=zK(0)}function sq(e){var t;return e.d!=e.r&&(t=Kl(e),e.e=!!t&&t.lk()==Blt,e.d=t),e.e}function oq(e,t,n){var i;return i=e.g[t],J6(e,t,e.Zi(t,n)),e.Ri(t,n,i),e.Ni(),i}function pP(e,t){var n;return n=e.dd(t),n>=0?(e.gd(n),!0):!1}function cq(e,t){var n;for(Tn(e),Tn(t),n=!1;t.Ob();)n=n|e.Fc(t.Pb());return n}function df(e,t){var n;return n=c(Yt(e.e,t),400),n?(nBe(e,n),n.e):null}function kWe(e){var t,n;return t=e/60|0,n=e%60,n==0?""+t:""+t+":"+(""+n)}function Kb(e,t){var n=e.a[t],i=(_q(),KW)[typeof n];return i?i(n):Lue(typeof n)}function mo(e,t){var n,i;return s0(e),i=new cce(t,e.a),n=new CHe(i),new gt(e,n)}function uq(e){var t;return t=e.b.c.length==0?null:Je(e.b,0),t!=null&&mq(e,0),t}function SLt(e,t){var n,i,r;r=t.c.i,n=c(Yt(e.f,r),60),i=n.d.c-n.e.c,rue(t.a,i,0)}function Nce(e,t){var n;for(++e.d,++e.c[t],n=t+1;n=0;)++t[0]}function ELt(e,t){vc(e,t==null||tA((Ut(t),t))||isNaN((Ut(t),t))?0:(Ut(t),t))}function ILt(e,t){yc(e,t==null||tA((Ut(t),t))||isNaN((Ut(t),t))?0:(Ut(t),t))}function NLt(e,t){cw(e,t==null||tA((Ut(t),t))||isNaN((Ut(t),t))?0:(Ut(t),t))}function CLt(e,t){ow(e,t==null||tA((Ut(t),t))||isNaN((Ut(t),t))?0:(Ut(t),t))}function MLt(e,t,n){return Dy(new Ae(n.e.a+n.f.a/2,n.e.b+n.f.b/2),e)==(Ut(t),t)}function TLt(e,t){return ce(t,102)&&c(t,19).Bb&xs?new oH(t,e):new D4(t,e)}function ALt(e,t){return ce(t,102)&&c(t,19).Bb&xs?new oH(t,e):new D4(t,e)}function w7(e){return e.__elementTypeCategory$==null?10:e.__elementTypeCategory$}function EWe(e,t){return t==(MH(),MH(),Zat)?e.toLocaleLowerCase():e.toLowerCase()}function IWe(e){if(!e.e)throw V(new po);return e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function Cce(e){if(!e.c)throw V(new po);return e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function NWe(e){var t;for(++e.a,t=e.c.a.length;e.ae.a[i]&&(i=n);return i}function CWe(e){var t;return t=c(D(e,(Pe(),$w)),313),t?t.a==e:!1}function MWe(e){var t;return t=c(D(e,(Pe(),$w)),313),t?t.i==e:!1}function TWe(){TWe=U,Ght=En((ss(),J(W(Jge,1),Ce,367,0,[Sa,Dh,Xo,sc,ro])))}function AWe(){AWe=U,Tdt=En((Zb(),J(W(Mdt,1),Ce,375,0,[wN,nD,iD,tD,eD])))}function PWe(){PWe=U,Hdt=En((c1(),J(W(Zwe,1),Ce,348,0,[qX,Qwe,zX,t5,e5])))}function _We(){_We=U,Npt=En((V8(),J(W(tve,1),Ce,323,0,[eve,_J,OJ,bS,mS])))}function OWe(){OWe=U,e1t=En((yl(),J(W(Tbe,1),Ce,171,0,[jN,lS,S0,aS,Cm])))}function LWe(){LWe=U,gwt=En((E_(),J(W(pwt,1),Ce,368,0,[aY,cY,fY,uY,lY])))}function DWe(){DWe=U,gbt=En((rj(),J(W(pbt,1),Ce,373,0,[B2,J3,LS,OS,HN])))}function RWe(){RWe=U,xbt=En((Q7(),J(W(oye,1),Ce,324,0,[iye,OY,sye,LY,rye])))}function $We(){$We=U,mmt=En((ar(),J(W(KS,1),Ce,88,0,[Mf,so,Js,Cf,Cl])))}function FWe(){FWe=U,zbt=En((Xa(),J(W(Fh,1),Ce,170,0,[Ct,Sr,fh,tg,j1])))}function BWe(){BWe=U,Nmt=En((zv(),J(W(US,1),Ce,256,0,[A0,tC,P3e,VS,_3e])))}function HWe(){HWe=U,Tmt=En((qe(),J(W(ks,1),Ho,64,0,[ko,Ht,Xt,fn,qt])))}function gP(){gP=U,sge=new aie("BY_SIZE",0),tX=new aie("BY_SIZE_AND_SHAPE",1)}function wP(){wP=U,hX=new die("EADES",0),ML=new die("FRUCHTERMAN_REINGOLD",1)}function b7(){b7=U,sD=new bie("READING_DIRECTION",0),ebe=new bie("ROTATION",1)}function j8(){j8=U,tdt=new C8e,ndt=new A8e,Zht=new P8e,edt=new T8e,idt=new _8e}function KWe(e){this.b=new Re,this.a=new Re,this.c=new Re,this.d=new Re,this.e=e}function qWe(e){this.g=e,this.f=new Re,this.a=w.Math.min(this.g.c.c,this.g.d.c)}function zWe(e,t,n){ZT.call(this),Ace(this),this.a=e,this.c=n,this.b=t.d,this.f=t.e}function RLt(e,t,n){var i,r;for(r=new q(n);r.a=0&&t0?t-1:t,EDe(a9t(pXe(mse(new jy,n),e.n),e.j),e.k)}function Us(e){var t,n;n=(t=new iB,t),yn((!e.q&&(e.q=new Ie(ea,e,11,10)),e.q),n)}function Mce(e){return(e.i&2?"interface ":e.i&1?"":"class ")+(sd(e),e.o)}function bP(e){return Fo(e,ui)>0?ui:Fo(e,os)<0?os:Mn(e)}function qb(e){return e<3?(Vu(e,cot),e+1):e=-.01&&e.a<=yf&&(e.a=0),e.b>=-.01&&e.b<=yf&&(e.b=0),e}function $v(e){e2();var t,n;for(n=G1e,t=0;tn&&(n=e[t]);return n}function WWe(e,t){var n;if(n=cI(e.Dh(),t),!n)throw V(new Ft(b0+t+tW));return n}function zb(e,t){var n;for(n=e;Oi(n);)if(n=Oi(n),n==t)return!0;return!1}function WLt(e,t){var n,i,r;for(i=t.a.ld(),n=c(t.a.md(),16).gc(),r=0;re||e>t)throw V(new Rne("fromIndex: 0, toIndex: "+e+Vhe+t))}function sw(e){if(e<0)throw V(new Ft("Illegal Capacity: "+e));this.g=this.aj(e)}function Tce(e,t){return sf(),wa(h0),w.Math.abs(e-t)<=h0||e==t||isNaN(e)&&isNaN(t)}function fq(e,t){var n,i,r,o;for(i=e.d,r=0,o=i.length;r0&&(e.a/=t,e.b/=t),e}function qu(e){var t;return e.w?e.w:(t=BPt(e),t&&!t.Vh()&&(e.w=t),t)}function S4(e,t){var n,i;i=e.a,n=z$t(e,t,null),i!=t&&!e.e&&(n=mk(e,t,n)),n&&n.oj()}function ZWe(e,t,n){var i,r;i=t;do r=pe(e.p[i.p])+n,e.p[i.p]=r,i=e.a[i.p];while(i!=t)}function eXe(e,t,n){var i=function(){return e.apply(i,arguments)};return t.apply(i,n),i}function tDt(e){var t;return e==null?null:(t=c(e,195),dzt(t,t.length))}function le(e,t){if(e.g==null||t>=e.i)throw V(new sH(t,e.i));return e.Wi(t,e.g[t])}function nDt(e,t){jt();var n,i;for(i=new Re,n=0;n=14&&t<=16))),e}function Sn(e,t){var n;return Ut(t),n=e[":"+t],$E(!!n,"Enum constant undefined: "+t),n}function gn(e,t,n,i,r,o){var a;return a=cK(e,t),gXe(n,a),a.i=r?8:0,a.f=i,a.e=r,a.g=o,a}function _ce(e,t,n,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=e,this.a=n}function Oce(e,t,n,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=e,this.a=n}function Lce(e,t,n,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=e,this.a=n}function Dce(e,t,n,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=e,this.a=n}function Rce(e,t,n,i,r){this.d=t,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=e,this.a=n}function wXe(e,t){var n,i,r,o;for(i=t,r=0,o=i.length;r=0))throw V(new Ft("tolerance ("+e+") must be >= 0"));return e}function mXe(e,t){var n;return ce(t,44)?e.c.Mc(t):(n=uz(e,t),r_(e,t),n)}function Ds(e,t,n){return Np(e,t),fc(e,n),t1(e,0),Vb(e,1),o1(e,!0),s1(e,!0),e}function v7(e,t){var n;if(n=e.gc(),t<0||t>n)throw V(new Pb(t,n));return new Wre(e,t)}function EP(e,t){e.b=w.Math.max(e.b,t.d),e.e+=t.r+(e.a.c.length==0?0:e.c),$e(e.a,t)}function vXe(e){Mb(e.c>=0),wBt(e.d,e.c)<0&&(e.a=e.a-1&e.d.a.length-1,e.b=e.d.c),e.c=-1}function IP(e){var t,n;for(n=e.c.Cc().Kc();n.Ob();)t=c(n.Pb(),16),t.$b();e.c.$b(),e.d=0}function hDt(e){var t,n,i,r;for(n=e.a,i=0,r=n.length;i=0}function zce(e,t){e.r>0&&e.c0&&e.g!=0&&zce(e.i,t/e.r*e.i.d))}function Vce(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,1,n,e.c))}function pq(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,4,n,e.c))}function A4(e,t){var n;n=e.k,e.k=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,2,n,e.k))}function gq(e,t){var n;n=e.D,e.D=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,2,n,e.D))}function CP(e,t){var n;n=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,8,n,e.f))}function MP(e,t){var n;n=e.i,e.i=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,7,n,e.i))}function Uce(e,t){var n;n=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,8,n,e.a))}function Gce(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,0,n,e.b))}function Wce(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,0,n,e.b))}function Xce(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,1,n,e.c))}function Jce(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,1,n,e.d))}function vDt(e,t,n){var i;e.b=t,e.a=n,i=(e.a&512)==512?new BLe:new Ste,e.c=_Xt(i,e.b,e.a)}function AXe(e,t){return kd(e.e,t)?(Ss(),sq(t)?new fA(t,e):new kE(t,e)):new sFe(t,e)}function yDt(e){var t,n;return 0>e?new Qne:(t=e+1,n=new qUe(t,e),new Nre(null,n))}function xDt(e,t){jt();var n;return n=new My(1),Dr(e)?zs(n,e,t):dc(n.f,e,t),new WF(n)}function kDt(e,t){var n,i;return n=e.c,i=t.e[e.p],i>0?c(Je(n.a,i-1),10):null}function jDt(e,t){var n,i;return n=e.o+e.p,i=t.o+t.p,nt?(t<<=1,t>0?t:bj):t}function wq(e){switch(cre(e.e!=3),e.e){case 2:return!1;case 0:return!0}return POt(e)}function _Xe(e,t){var n;return ce(t,8)?(n=c(t,8),e.a==n.a&&e.b==n.b):!1}function EDt(e,t){var n;n=new f6,c(t.b,68),c(t.b,68),c(t.b,68),mc(t.a,new rse(e,n,t))}function OXe(e,t){var n,i;for(i=t.vc().Kc();i.Ob();)n=c(i.Pb(),44),W7(e,n.ld(),n.md())}function Yce(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,11,n,e.d))}function TP(e,t){var n;n=e.j,e.j=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,13,n,e.j))}function Qce(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,21,n,e.b))}function IDt(e,t){(eP(),jf?null:t.c).length==0&&JBe(t,new vn),zs(e.a,jf?null:t.c,t)}function NDt(e,t){t.Ug("Hierarchical port constraint processing",1),VBt(e),fnn(e),t.Vg()}function lw(){lw=U,Rw=new _B("START",0),k0=new _B("MIDDLE",1),Dw=new _B("END",2)}function AP(){AP=U,XD=new Nie("P1_NODE_PLACEMENT",0),F2=new Nie("P2_EDGE_ROUTING",1)}function e0(){e0=U,F3=new mi(wde),PL=new mi(Yot),eS=new mi(Qot),fN=new mi(Zot)}function aw(e){var t;return TH(e.f.g,e.d),rn(e.b),e.c=e.a,t=c(e.a.Pb(),44),e.b=fue(e),t}function Zce(e){var t;return e.b==null?(Vd(),Vd(),dC):(t=e.ul()?e.tl():e.sl(),t)}function LXe(e,t){var n;return n=t==null?-1:to(e.b,t,0),n<0?!1:(mq(e,n),!0)}function ba(e,t){var n;return Ut(t),n=t.g,e.b[n]?!1:(Vi(e.b,n,t),++e.c,!0)}function PP(e,t){var n,i;return n=1-t,i=e.a[n],e.a[n]=i.a[t],i.a[t]=e,e.b=!0,i.b=!1,i}function CDt(e,t){var n,i;for(i=t.Kc();i.Ob();)n=c(i.Pb(),272),e.b=!0,gr(e.e,n),n.b=e}function MDt(e,t){var n,i;return n=c(D(e,(Ge(),Om)),8),i=c(D(t,Om),8),xi(n.b,i.b)}function bq(e,t,n){var i,r,o;return o=t>>5,r=t&31,i=Nr(W1(e.n[n][o],Mn(pa(r,1))),3),i}function DXe(e,t,n){var i,r,o;for(o=e.a.length-1,r=e.b,i=0;i0?1:0:(!e.c&&(e.c=QE(Oo(e.f))),e.c).e}function VXe(e,t){t?e.B==null&&(e.B=e.D,e.D=null):e.B!=null&&(e.D=e.B,e.B=null)}function _Dt(e,t){return $4(),e==Lw&&t==km||e==km&&t==Lw||e==v2&&t==xm||e==xm&&t==v2}function ODt(e,t){return $4(),e==Lw&&t==xm||e==Lw&&t==v2||e==km&&t==v2||e==km&&t==xm}function UXe(e,t){return sf(),wa(yf),w.Math.abs(0-t)<=yf||t==0||isNaN(0)&&isNaN(t)?0:e/t}function GXe(e,t){return pe(ye(Tu(L7(Zs(new gt(null,new yt(e.c.b,16)),new e_e(e)),t))))}function iue(e,t){return pe(ye(Tu(L7(Zs(new gt(null,new yt(e.c.b,16)),new ZPe(e)),t))))}function LDt(){return Cs(),J(W(QX,1),Ce,259,0,[lD,Nl,sS,aD,s5,E2,oS,i5,r5,fD])}function DDt(){return ql(),J(W(ove,1),Ce,243,0,[RD,CN,MN,ive,rve,nve,sve,$D,Ww,Dm])}function RDt(e,t){var n;t.Ug("General Compactor",1),n=KFt(c(Me(e,(a0(),pY)),393)),n.Cg(e)}function $Dt(e,t){var n,i;return n=c(Me(e,(a0(),YD)),17),i=c(Me(t,YD),17),$o(n.a,i.a)}function rue(e,t,n){var i,r;for(r=wn(e,0);r.b!=r.d.c;)i=c(dn(r),8),i.a+=t,i.b+=n;return e}function I8(e,t,n){var i;for(i=e.b[n&e.f];i;i=i.b)if(n==i.a&&qf(t,i.g))return i;return null}function N8(e,t,n){var i;for(i=e.c[n&e.f];i;i=i.d)if(n==i.f&&qf(t,i.i))return i;return null}function FDt(e,t,n){var i,r,o;for(i=0,r=0;r>>31;i!=0&&(e[n]=i)}function kq(e,t,n,i,r,o){var a;this.c=e,a=new Re,Rle(e,a,t,e.b,n,i,r,o),this.a=new Vr(a,0)}function WXe(){this.c=new iT(0),this.b=new iT(U1e),this.d=new iT(Rct),this.a=new iT(zU)}function wl(e,t,n,i,r,o,a){jn.call(this,e,t),this.d=n,this.e=i,this.c=r,this.b=o,this.a=af(a)}function Qi(e,t,n,i,r,o,a,h,p,b,v,y,E){return ttt(e,t,n,i,r,o,a,h,p,b,v,y,E),tz(e,!1),e}function BDt(e){return e.b.c.i.k==(Kt(),rr)?c(D(e.b.c.i,(Pe(),gi)),12):e.b.c}function XXe(e){return e.b.d.i.k==(Kt(),rr)?c(D(e.b.d.i,(Pe(),gi)),12):e.b.d}function HDt(e){var t;return t=WA(e),$g(t.a,0)?(cT(),cT(),eft):(cT(),new TBe(t.b))}function jq(e){var t;return t=Doe(e),$g(t.a,0)?(jb(),jb(),GW):(jb(),new yH(t.b))}function Sq(e){var t;return t=Doe(e),$g(t.a,0)?(jb(),jb(),GW):(jb(),new yH(t.c))}function JXe(e){switch(e.g){case 2:return qe(),qt;case 4:return qe(),Xt;default:return e}}function YXe(e){switch(e.g){case 1:return qe(),fn;case 3:return qe(),Ht;default:return e}}function QXe(e){switch(e.g){case 0:return new OIe;case 1:return new LIe;default:return null}}function s3(){s3=U,MX=new Fi("edgelabelcenterednessanalysis.includelabel",(_t(),v0))}function sue(){sue=U,Ypt=Wf(vFe(Kn(Kn(new ur,(ss(),Xo),(hs(),zL)),sc,FL),ro),qL)}function ZXe(){ZXe=U,tgt=Wf(vFe(Kn(Kn(new ur,(ss(),Xo),(hs(),zL)),sc,FL),ro),qL)}function Eq(){Eq=U,t9=new LLe,bQ=J(W($c,1),g2,179,0,[]),kvt=J(W(ea,1),fpe,62,0,[])}function P4(){P4=U,dN=new pie("TO_INTERNAL_LTR",0),IX=new pie("TO_INPUT_DIRECTION",1)}function Gc(){Gc=U,swe=new F8e,iwe=new B8e,rwe=new H8e,nwe=new K8e,owe=new q8e,cwe=new z8e}function KDt(e,t){t.Ug(pct,1),ule(I9t(new BM((I6(),new dK(e,!1,!1,new lte))))),t.Vg()}function qDt(e,t,n){n.Ug("DFS Treeifying phase",1),oBt(e,t),rXt(e,t),e.a=null,e.b=null,n.Vg()}function y7(e,t){return _t(),Dr(e)?sce(e,_n(t)):Nb(e)?XH(e,ye(t)):Ib(e)?_Mt(e,We(t)):e.Fd(t)}function C8(e,t){var n,i;for(Ut(t),i=t.vc().Kc();i.Ob();)n=c(i.Pb(),44),e.zc(n.ld(),n.md())}function zDt(e,t,n){var i;for(i=n.Kc();i.Ob();)if(!YA(e,t,i.Pb()))return!1;return!0}function VDt(e,t,n,i,r){var o;return n&&(o=$i(t.Dh(),e.c),r=n.Rh(t,-1-(o==-1?i:o),null,r)),r}function UDt(e,t,n,i,r){var o;return n&&(o=$i(t.Dh(),e.c),r=n.Th(t,-1-(o==-1?i:o),null,r)),r}function eJe(e){var t;if(e.b==-2){if(e.e==0)t=-1;else for(t=0;e.a[t]==0;t++);e.b=t}return e.b}function GDt(e){if(Ut(e),e.length==0)throw V(new Rf("Zero length BigInteger"));QJt(this,e)}function oue(e){this.i=e.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),e.Qc(this.g))}function tJe(e,t,n){this.g=e,this.d=t,this.e=n,this.a=new Re,sUt(this),jt(),ir(this.a,null)}function cue(e,t){t.q=e,e.d=w.Math.max(e.d,t.r),e.b+=t.d+(e.a.c.length==0?0:e.c),$e(e.a,t)}function _4(e,t){var n,i,r,o;return r=e.c,n=e.c+e.b,o=e.d,i=e.d+e.a,t.a>r&&t.ao&&t.br?n=r:Bt(t,n+1),e.a=fl(e.a,0,t)+(""+i)+toe(e.a,n)}function aJe(e,t){e.a=as(e.a,1),e.c=w.Math.min(e.c,t),e.b=w.Math.max(e.b,t),e.d=as(e.d,t)}function eRt(e,t){return t1||e.Ob())return++e.a,e.g=0,t=e.i,e.Ob(),t;throw V(new po)}function pJe(e){switch(e.a.g){case 1:return new v$e;case 3:return new vZe;default:return new PTe}}function lue(e,t){switch(t){case 1:return!!e.n&&e.n.i!=0;case 2:return e.k!=null}return Loe(e,t)}function Oo(e){return NI>22),r=e.h+t.h+(i>>22),wc(n&yu,i&yu,r&Sd)}function kJe(e,t){var n,i,r;return n=e.l-t.l,i=e.m-t.m+(n>>22),r=e.h-t.h+(i>>22),wc(n&yu,i&yu,r&Sd)}function xRt(e){var t,n;for(ptn(e),n=new q(e.d);n.ai)throw V(new Pb(t,i));return e.Si()&&(n=Bze(e,n)),e.Ei(t,n)}function F4(e,t,n,i,r){var o,a;for(a=n;a<=r;a++)for(o=t;o<=i;o++)Uv(e,o,a)||U_(e,o,a,!0,!1)}function LRt(e){e2();var t,n,i;for(n=ke(Ar,Oe,8,2,0,1),i=0,t=0;t<2;t++)i+=.5,n[t]=CHt(i,e);return n}function B4(e){var t,n,i;return t=~e.l+1&yu,n=~e.m+(t==0?1:0)&yu,i=~e.h+(t==0&&n==0?1:0)&Sd,wc(t,n,i)}function bue(e){var t;if(e<0)return os;if(e==0)return 0;for(t=bj;!(t&e);t>>=1);return t}function Pq(e,t,n){return e>=128?!1:e<64?z6(Nr(pa(1,e),n),0):z6(Nr(pa(1,e-64),t),0)}function M7(e,t,n){return n==null?(!e.q&&(e.q=new hn),t3(e.q,t)):(!e.q&&(e.q=new hn),Jn(e.q,t,n)),e}function Ne(e,t,n){return n==null?(!e.q&&(e.q=new hn),t3(e.q,t)):(!e.q&&(e.q=new hn),Jn(e.q,t,n)),e}function _Je(e){var t,n;return n=new nP,no(n,e),Ne(n,(e0(),F3),e),t=new hn,aQt(e,n,t),$en(e,n,t),n}function OJe(e){var t,n;return t=e.t-e.k[e.o.p]*e.d+e.j[e.o.p]>e.f,n=e.u+e.e[e.o.p]*e.d>e.f*e.s*e.d,t||n}function LJe(e,t){var n,i,r,o;for(n=!1,i=e.a[t].length,o=0;o=0,"Negative initial capacity"),$E(t>=0,"Non-positive load factor"),ru(this)}function RRt(e,t,n,i,r){var o,a;if(a=e.length,o=n.length,t<0||i<0||r<0||t+r>a||i+r>o)throw V(new lne)}function xue(e,t){jt();var n,i,r,o,a;for(a=!1,i=t,r=0,o=i.length;r1||t>=0&&e.b<3)}function Lq(e){var t,n,i;t=~e.l+1&yu,n=~e.m+(t==0?1:0)&yu,i=~e.h+(t==0&&n==0?1:0)&Sd,e.l=t,e.m=n,e.h=i}function Sue(e){jt();var t,n,i;for(i=1,n=e.Kc();n.Ob();)t=n.Pb(),i=31*i+(t!=null?Ei(t):0),i=i|0;return i}function KRt(e,t,n,i,r){var o;return o=dfe(e,t),n&&Lq(o),r&&(e=LHt(e,t),i?m0=B4(e):m0=wc(e.l,e.m,e.h)),o}function VJe(e,t,n){e.g=Zz(e,t,(qe(),Xt),e.b),e.d=Zz(e,n,Xt,e.b),!(e.g.c==0||e.d.c==0)&&jet(e)}function UJe(e,t,n){e.g=Zz(e,t,(qe(),qt),e.j),e.d=Zz(e,n,qt,e.j),!(e.g.c==0||e.d.c==0)&&jet(e)}function Eue(e,t){switch(t){case 7:return!!e.e&&e.e.i!=0;case 8:return!!e.d&&e.d.i!=0}return lle(e,t)}function qRt(e,t){switch(t.g){case 0:ce(e.b,641)||(e.b=new lJe);break;case 1:ce(e.b,642)||(e.b=new uKe)}}function GJe(e){switch(e.g){case 0:return new BIe;default:throw V(new Ft(UO+(e.f!=null?e.f:""+e.g)))}}function WJe(e){switch(e.g){case 0:return new FIe;default:throw V(new Ft(UO+(e.f!=null?e.f:""+e.g)))}}function zRt(e,t,n){return!Ux(di(new gt(null,new yt(e.c,16)),new Rx(new O$e(t,n)))).Bd((up(),R3))}function XJe(e,t){return Dy(tk(c(D(t,(Io(),Jw)),88)),new Ae(e.c.e.a-e.b.e.a,e.c.e.b-e.b.e.b))<=0}function VRt(e,t){for(;e.g==null&&!e.c?Eoe(e):e.g==null||e.i!=0&&c(e.g[e.i-1],51).Ob();)X9t(t,O_(e))}function Ip(e){var t,n;for(n=new q(e.a.b);n.ai?1:0}function WRt(e){return $e(e.c,(o3(),Bbt)),Tce(e.a,pe(ye(Ve((cz(),_D)))))?new INe:new sOe(e)}function XRt(e){for(;!e.d||!e.d.Ob();)if(e.b&&!k6(e.b))e.d=c(Vy(e.b),51);else return null;return e.d}function Nue(e){switch(e.g){case 1:return Rct;default:case 2:return 0;case 3:return zU;case 4:return U1e}}function JRt(){ci();var e;return jQ||(e=w7t(f0("M",!0)),e=wA(f0("M",!1),e),jQ=e,jQ)}function qP(){qP=U,lQ=new OT("ELK",0),U3e=new OT("JSON",1),V3e=new OT("DOT",2),G3e=new OT("SVG",3)}function P8(){P8=U,HJ=new KB("STACKED",0),BJ=new KB("REVERSE_STACKED",1),TN=new KB("SEQUENCED",2)}function _8(){_8=U,Lve=new WB(nh,0),GJ=new WB("MIDDLE_TO_MIDDLE",1),_N=new WB("AVOID_OVERLAP",2)}function q4(){q4=U,qwe=new kSe,zwe=new jSe,kdt=new ySe,xdt=new SSe,ydt=new xSe,Kwe=(Ut(ydt),new ge)}function zP(){zP=U,T3e=new Bg(15),kmt=new qr((Un(),S1),T3e),qS=Q3,I3e=tmt,N3e=ig,M3e=G2,C3e=Bm}function Bv(e,t){var n,i,r,o,a;for(i=t,r=0,o=i.length;r=e.b.c.length||(Mue(e,2*t+1),n=2*t+2,n0&&(t.Cd(n),n.i&&Q$t(n))}function Tue(e,t,n){var i;for(i=n-1;i>=0&&e[i]===t[i];i--);return i<0?0:NB(Nr(e[i],Ms),Nr(t[i],Ms))?-1:1}function QJe(e,t,n){var i,r;this.g=e,this.c=t,this.a=this,this.d=this,r=PXe(n),i=ke(Oat,SI,227,r,0,1),this.b=i}function Bq(e,t,n,i,r){var o,a;for(a=n;a<=r;a++)for(o=t;o<=i;o++)if(Uv(e,o,a))return!0;return!1}function n$t(e,t){var n,i;for(i=e.Zb().Cc().Kc();i.Ob();)if(n=c(i.Pb(),16),n.Hc(t))return!0;return!1}function ZJe(e,t,n){var i,r,o,a;for(Ut(n),a=!1,o=e.fd(t),r=n.Kc();r.Ob();)i=r.Pb(),o.Rb(i),a=!0;return a}function Hq(e,t){var n,i;return i=c($t(e.a,4),129),n=ke(gQ,mW,424,t,0,1),i!=null&&Wo(i,0,n,0,i.length),n}function eYe(e,t){var n;return n=new gV((e.f&256)!=0,e.i,e.a,e.d,(e.f&16)!=0,e.j,e.g,t),e.e!=null||(n.c=e),n}function i$t(e,t){var n;return e===t?!0:ce(t,85)?(n=c(t,85),_ae(ap(e),n.vc())):!1}function tYe(e,t,n){var i,r;for(r=n.Kc();r.Ob();)if(i=c(r.Pb(),44),e.Be(t,i.md()))return!0;return!1}function nYe(e,t,n){return e.d[t.p][n.p]||(oHt(e,t,n),e.d[t.p][n.p]=!0,e.d[n.p][t.p]=!0),e.a[t.p][n.p]}function r$t(e,t){var n;return!e||e==t||!Ni(t,(Pe(),Fw))?!1:(n=c(D(t,(Pe(),Fw)),10),n!=e)}function Kq(e){switch(e.i){case 2:return!0;case 1:return!1;case-1:++e.c;default:return e.$l()}}function iYe(e){switch(e.i){case-2:return!0;case-1:return!1;case 1:--e.c;default:return e._l()}}function rYe(e){Vze.call(this,"The given string does not match the expected format for individual spacings.",e)}function s$t(e,t){var n;t.Ug("Min Size Preprocessing",1),n=Kae(e),bi(e,(Nh(),AS),n.a),bi(e,eR,n.b),t.Vg()}function o$t(e){var t,n,i;for(t=0,i=ke(Ar,Oe,8,e.b,0,1),n=wn(e,0);n.b!=n.d.c;)i[t++]=c(dn(n),8);return i}function qq(e,t,n){var i,r,o;for(i=new Ai,o=wn(n,0);o.b!=o.d.c;)r=c(dn(o),8),$n(i,new gs(r));ZJe(e,t,i)}function c$t(e,t){var n;return n=as(e,t),NB(PK(e,t),0)|RT(PK(e,n),0)?n:as(jI,PK(W1(n,63),1))}function u$t(e,t){var n,i;return n=c(e.d.Bc(t),16),n?(i=e.e.hc(),i.Gc(n),e.e.d-=n.gc(),n.$b(),i):null}function sYe(e){var t;if(t=e.a.c.length,t>0)return c4(t-1,e.a.c.length),Qd(e.a,t-1);throw V(new sLe)}function oYe(e,t,n){if(e>t)throw V(new Ft(lO+e+jot+t));if(e<0||t>n)throw V(new Rne(lO+e+Whe+t+Vhe+n))}function z4(e,t){e.D==null&&e.B!=null&&(e.D=e.B,e.B=null),gq(e,t==null?null:(Ut(t),t)),e.C&&e.hl(null)}function l$t(e,t){var n;n=Ve((cz(),_D))!=null&&t.Sg()!=null?pe(ye(t.Sg()))/pe(ye(Ve(_D))):1,Jn(e.b,t,n)}function Aue(e,t){var n,i;if(i=e.c[t],i!=0)for(e.c[t]=0,e.d-=i,n=t+1;nFO?e-n>FO:n-e>FO}function bYe(e,t){var n;for(n=0;nr&&(GZe(t.q,r),i=n!=t.q.d)),i}function mYe(e,t){var n,i,r,o,a,h,p,b;return p=t.i,b=t.j,i=e.f,r=i.i,o=i.j,a=p-r,h=b-o,n=w.Math.sqrt(a*a+h*h),n}function Rue(e,t){var n,i;return i=s_(e),i||(n=(RV(),cnt(t)),i=new WOe(n),yn(i.El(),e)),i}function _7(e,t){var n,i;return n=c(e.c.Bc(t),16),n?(i=e.hc(),i.Gc(n),e.d-=n.gc(),n.$b(),e.mc(i)):e.jc()}function y$t(e,t){var n,i;for(i=mu(e.d,1)!=0,n=!0;n;)n=!1,n=t.c.mg(t.e,i),n=n|uI(e,t,i,!1),i=!i;tue(e)}function vYe(e,t,n,i){var r,o;e.a=t,o=i?0:1,e.f=(r=new Oet(e.c,e.a,n,o),new hit(n,e.a,r,e.e,e.b,e.c==(uw(),xS)))}function UP(e){var t;return rn(e.a!=e.b),t=e.d.a[e.a],GBe(e.b==e.d.c&&t!=null),e.c=e.a,e.a=e.a+1&e.d.a.length-1,t}function yYe(e){var t;if(e.c!=0)return e.c;for(t=0;t=e.c.b:e.a<=e.c.b))throw V(new po);return t=e.a,e.a+=e.c.c,++e.b,De(t)}function Wq(e){var t;return t=new Qie(e.a),no(t,e),Ne(t,(Pe(),gi),e),t.o.a=e.g,t.o.b=e.f,t.n.a=e.i,t.n.b=e.j,t}function Xq(e){return(qe(),Dc).Hc(e.j)?pe(ye(D(e,(Pe(),o5)))):vo(J(W(Ar,1),Oe,8,0,[e.i.n,e.n,e.a])).b}function k$t(e){var t;return t=KT(Jpt),c(D(e,(Pe(),cc)),21).Hc((Cs(),s5))&&Kn(t,(ss(),Xo),(hs(),GL)),t}function j$t(e){var t,n,i,r;for(r=new sr,i=new q(e);i.a=0?t:-t;i>0;)i%2==0?(n*=n,i=i/2|0):(r*=n,i-=1);return t<0?1/r:r}function C$t(e,t){var n,i,r;for(r=1,n=e,i=t>=0?t:-t;i>0;)i%2==0?(n*=n,i=i/2|0):(r*=n,i-=1);return t<0?1/r:r}function r0(e,t){var n,i,r,o;return o=(r=e?s_(e):null,itt((i=t,r&&r.Gl(),i))),o==t&&(n=s_(e),n&&n.Gl()),o}function xYe(e,t,n){var i,r;return r=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&(i=new Pr(e,1,0,r,t),n?n.nj(i):n=i),n}function kYe(e,t,n){var i,r;return r=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&(i=new Pr(e,1,3,r,t),n?n.nj(i):n=i),n}function Fue(e,t,n){var i,r;return r=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&(i=new Pr(e,1,1,r,t),n?n.nj(i):n=i),n}function jYe(e){var t,n;if(e!=null)for(n=0;n=i||t-129&&e<128?(cKe(),t=e+128,n=Rpe[t],!n&&(n=Rpe[t]=new Fte(e)),n):new Fte(e)}function U4(e){var t,n;return e>-129&&e<128?(SKe(),t=e+128,n=Hpe[t],!n&&(n=Hpe[t]=new Hte(e)),n):new Hte(e)}function IYe(e,t){var n;e.a.c.length>0&&(n=c(Je(e.a,e.a.c.length-1),579),Cue(n,t))||$e(e.a,new zUe(t))}function O$t(e){da();var t,n;t=e.d.c-e.e.c,n=c(e.g,154),mc(n.b,new HPe(t)),mc(n.c,new KPe(t)),Qr(n.i,new qPe(t))}function NYe(e){var t;return t=new B1,t.a+="VerticalSegment ",Yo(t,e.e),t.a+=" ",Hn(t,sre(new pB,new q(e.k))),t.a}function Jq(e,t){var n,i,r;for(n=0,r=yo(e,t).Kc();r.Ob();)i=c(r.Pb(),12),n+=D(i,(Pe(),lu))!=null?1:0;return n}function qv(e,t,n){var i,r,o;for(i=0,o=wn(e,0);o.b!=o.d.c&&(r=pe(ye(dn(o))),!(r>n));)r>=t&&++i;return i}function CYe(e,t){Tn(e);try{return e._b(t)}catch(n){if(n=Ri(n),ce(n,212)||ce(n,169))return!1;throw V(n)}}function Hue(e,t){Tn(e);try{return e.Hc(t)}catch(n){if(n=Ri(n),ce(n,212)||ce(n,169))return!1;throw V(n)}}function L$t(e,t){Tn(e);try{return e.Mc(t)}catch(n){if(n=Ri(n),ce(n,212)||ce(n,169))return!1;throw V(n)}}function Wb(e,t){Tn(e);try{return e.xc(t)}catch(n){if(n=Ri(n),ce(n,212)||ce(n,169))return null;throw V(n)}}function D$t(e,t){Tn(e);try{return e.Bc(t)}catch(n){if(n=Ri(n),ce(n,212)||ce(n,169))return null;throw V(n)}}function D8(e,t){switch(t.g){case 2:case 1:return yo(e,t);case 3:case 4:return vl(yo(e,t))}return jt(),jt(),vs}function R8(e){var t;return e.Db&64?ma(e):(t=new $l(ma(e)),t.a+=" (name: ",Os(t,e.zb),t.a+=")",t.a)}function R$t(e){var t;return t=c(df(e.c.c,""),233),t||(t=new Yy(zx(qx(new my,""),"Other")),u1(e.c.c,"",t)),t}function Kue(e,t,n){var i,r;return r=e.sb,e.sb=t,e.Db&4&&!(e.Db&1)&&(i=new Pr(e,1,4,r,t),n?n.nj(i):n=i),n}function que(e,t,n){var i,r;return r=e.r,e.r=t,e.Db&4&&!(e.Db&1)&&(i=new Pr(e,1,8,r,e.r),n?n.nj(i):n=i),n}function $$t(e,t,n){var i,r;return i=new hd(e.e,4,13,(r=t.c,r||(kt(),Pf)),null,l1(e,t),!1),n?n.nj(i):n=i,n}function F$t(e,t,n){var i,r;return i=new hd(e.e,3,13,null,(r=t.c,r||(kt(),Pf)),l1(e,t),!1),n?n.nj(i):n=i,n}function r1(e,t){var n,i;return n=c(t,691),i=n.el(),!i&&n.fl(i=ce(t,90)?new oFe(e,c(t,29)):new MVe(e,c(t,156))),i}function O7(e,t,n){var i;e._i(e.i+1),i=e.Zi(t,n),t!=e.i&&Wo(e.g,t,e.g,t+1,e.i-t),Vi(e.g,t,i),++e.i,e.Mi(t,n),e.Ni()}function B$t(e,t){var n;return t.a&&(n=t.a.a.length,e.a?Hn(e.a,e.b):e.a=new Fu(e.d),DVe(e.a,t.a,t.d.length,n)),e}function H$t(e,t){var n;e.c=t,e.a=UFt(t),e.a<54&&(e.f=(n=t.d>1?OVe(t.a[0],t.a[1]):OVe(t.a[0],0),mp(t.e>0?n:e1(n))))}function L7(e,t){var n;return n=new Nu,e.a.Bd(n)?(Qx(),new uB(Ut(gWe(e,n.a,t)))):(J1(e),Qx(),Qx(),Qpe)}function MYe(e,t){var n;e.c.length!=0&&(n=c(wf(e,ke(Rh,p1,10,e.c.length,0,1)),199),zie(n,new Cje),Stt(n,t))}function TYe(e,t){var n;e.c.length!=0&&(n=c(wf(e,ke(Rh,p1,10,e.c.length,0,1)),199),zie(n,new Mje),Stt(n,t))}function fi(e,t){return Dr(e)?wt(e,t):Nb(e)?SHe(e,t):Ib(e)?(Ut(e),be(e)===be(t)):Rse(e)?e.Fb(t):Tse(e)?kFe(e,t):Toe(e,t)}function bl(e,t,n){if(t<0)Xae(e,n);else{if(!n.rk())throw V(new Ft(b0+n.xe()+Dj));c(n,69).wk().Ek(e,e.hi(),t)}}function AYe(e,t,n){if(e<0||t>n)throw V(new Ks(lO+e+Whe+t+", size: "+n));if(e>t)throw V(new Ft(lO+e+jot+t))}function PYe(e){var t;return e.Db&64?ma(e):(t=new $l(ma(e)),t.a+=" (source: ",Os(t,e.d),t.a+=")",t.a)}function _Ye(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e>=48&&e<=57?e-48:0}function K$t(e){rO();var t,n,i,r;for(n=gz(),i=0,r=n.length;i=0?o0(e):a8(o0(e1(e))))}function DYe(e,t,n,i,r,o){this.e=new Re,this.f=(Ns(),vS),$e(this.e,e),this.d=t,this.a=n,this.b=i,this.f=r,this.c=o}function V$t(e,t,n){e.n=lp(B0,[Oe,xU],[376,28],14,[n,kr(w.Math.ceil(t/32))],2),e.o=t,e.p=n,e.j=t-1>>1,e.k=n-1>>1}function RYe(e){return e-=e>>1&1431655765,e=(e>>2&858993459)+(e&858993459),e=(e>>4)+e&252645135,e+=e>>8,e+=e>>16,e&63}function $Ye(e,t){var n,i;for(i=new Jt(e);i.e!=i.i.gc();)if(n=c(tn(i),142),be(t)===be(n))return!0;return!1}function U$t(e,t,n){var i,r,o;return o=(r=lk(e.b,t),r),o&&(i=c(Z_(h7(e,o),""),29),i)?bfe(e,i,t,n):null}function Yq(e,t,n){var i,r,o;return o=(r=lk(e.b,t),r),o&&(i=c(Z_(h7(e,o),""),29),i)?mfe(e,i,t,n):null}function G$t(e,t){var n;if(n=Fv(e.i,t),n==null)throw V(new Df("Node did not exist in input."));return uue(t,n),null}function W$t(e,t){var n;if(n=cI(e,t),ce(n,331))return c(n,35);throw V(new Ft(b0+t+"' is not a valid attribute"))}function F8(e,t,n){var i;if(i=e.gc(),t>i)throw V(new Pb(t,i));if(e.Si()&&e.Hc(n))throw V(new Ft(WI));e.Gi(t,n)}function X$t(e,t){t.Ug("Sort end labels",1),Yi(di(mo(new gt(null,new yt(e.b,16)),new hje),new dje),new pje),t.Vg()}function ar(){ar=U,Mf=new vE(kj,0),so=new vE(N3,1),Js=new vE(I3,2),Cf=new vE(OU,3),Cl=new vE("UP",4)}function R7(){R7=U,iR=new tH("P1_STRUCTURE",0),rR=new tH("P2_PROCESSING_ORDER",1),sR=new tH("P3_EXECUTION",2)}function FYe(){FYe=U,fwt=Wf(Wf(T6(Wf(Wf(T6(Kn(new ur,(g3(),SS),(uj(),UJ)),ES),Ave),_ve),IS),Nve),Ove)}function J$t(e){switch(c(D(e,(Pe(),Up)),311).g){case 1:Ne(e,Up,(dd(),H3));break;case 2:Ne(e,Up,(dd(),I2))}}function Y$t(e){switch(e){case 0:return new CLe;case 1:return new ILe;case 2:return new NLe;default:throw V(new Y9)}}function BYe(e){switch(e.g){case 2:return so;case 1:return Js;case 4:return Cf;case 3:return Cl;default:return Mf}}function Gue(e,t){switch(e.b.g){case 0:case 1:return t;case 2:case 3:return new al(t.d,0,t.a,t.b);default:return null}}function Wue(e){switch(e.g){case 1:return qt;case 2:return Ht;case 3:return Xt;case 4:return fn;default:return ko}}function $7(e){switch(e.g){case 1:return fn;case 2:return qt;case 3:return Ht;case 4:return Xt;default:return ko}}function XP(e){switch(e.g){case 1:return Xt;case 2:return fn;case 3:return qt;case 4:return Ht;default:return ko}}function Xue(e,t,n,i){switch(t){case 1:return!e.n&&(e.n=new Ie($s,e,1,7)),e.n;case 2:return e.k}return Hle(e,t,n,i)}function B8(e,t,n){var i,r;return e.Pj()?(r=e.Qj(),i=rV(e,t,n),e.Jj(e.Ij(7,De(n),i,t,r)),i):rV(e,t,n)}function Qq(e,t){var n,i,r;e.d==null?(++e.e,--e.f):(r=t.ld(),n=t.Bi(),i=(n&ui)%e.d.length,DOt(e,i,fnt(e,i,n,r)))}function G4(e,t){var n;n=(e.Bb&xa)!=0,t?e.Bb|=xa:e.Bb&=-1025,e.Db&4&&!(e.Db&1)&&ai(e,new ga(e,1,10,n,t))}function W4(e,t){var n;n=(e.Bb&fm)!=0,t?e.Bb|=fm:e.Bb&=-4097,e.Db&4&&!(e.Db&1)&&ai(e,new ga(e,1,12,n,t))}function X4(e,t){var n;n=(e.Bb&Yc)!=0,t?e.Bb|=Yc:e.Bb&=-8193,e.Db&4&&!(e.Db&1)&&ai(e,new ga(e,1,15,n,t))}function J4(e,t){var n;n=(e.Bb&mm)!=0,t?e.Bb|=mm:e.Bb&=-2049,e.Db&4&&!(e.Db&1)&&ai(e,new ga(e,1,11,n,t))}function Q$t(e){var t;e.g&&(t=e.c.kg()?e.f:e.a,Afe(t.a,e.o,!0),Afe(t.a,e.o,!1),Ne(e.o,(Ge(),Ji),(Br(),sg)))}function Z$t(e){var t;if(!e.a)throw V(new qs("Cannot offset an unassigned cut."));t=e.c-e.b,e.b+=t,fze(e,t),aze(e,t)}function eFt(e,t){var n;if(n=Yt(e.k,t),n==null)throw V(new Df("Port did not exist in input."));return uue(t,n),null}function tFt(e){var t,n;for(n=unt(qu(e)).Kc();n.Ob();)if(t=_n(n.Pb()),lj(e,t))return nOt((KRe(),avt),t);return null}function HYe(e){var t,n;for(n=e.p.a.ec().Kc();n.Ob();)if(t=c(n.Pb(),218),t.f&&e.b[t.c]<-1e-10)return t;return null}function nFt(e){var t,n;for(n=dp(new B1,91),t=!0;e.Ob();)t||(n.a+=bs),t=!1,Yo(n,e.Pb());return(n.a+="]",n).a}function iFt(e){var t,n,i;for(t=new Re,i=new q(e.b);i.at?1:e==t?e==0?xi(1/e,1/t):0:isNaN(e)?isNaN(t)?0:1:-1}function sFt(e){var t;return t=e.a[e.c-1&e.a.length-1],t==null?null:(e.c=e.c-1&e.a.length-1,Vi(e.a,e.c,null),t)}function oFt(e){var t,n,i;for(i=0,n=e.length,t=0;t=1?so:Cf):n}function aFt(e){switch(c(D(e,(Ge(),Md)),223).g){case 1:return new Z9e;case 3:return new rEe;default:return new Q9e}}function s0(e){if(e.c)s0(e.c);else if(e.d)throw V(new qs("Stream already terminated, can't be modified or used"))}function hw(e,t,n){var i;return i=e.a.get(t),e.a.set(t,n===void 0?null:n),i===void 0?(++e.c,++e.b.g):++e.d,i}function fFt(e,t,n){var i,r;for(r=e.a.ec().Kc();r.Ob();)if(i=c(r.Pb(),10),E7(n,c(Je(t,i.p),16)))return i;return null}function Yue(e,t,n){var i;return i=0,t&&(Ev(e.a)?i+=t.f.a/2:i+=t.f.b/2),n&&(Ev(e.a)?i+=n.f.a/2:i+=n.f.b/2),i}function hFt(e,t,n){var i;i=n,!i&&(i=mse(new jy,0)),i.Ug(tct,2),UQe(e.b,t,i.eh(1)),NZt(e,t,i.eh(1)),Ttn(t,i.eh(1)),i.Vg()}function Que(e,t,n){var i,r;return i=(K1(),r=new AM,r),kP(i,t),xP(i,n),e&&yn((!e.a&&(e.a=new cr(il,e,5)),e.a),i),i}function ez(e){var t;return e.Db&64?ma(e):(t=new $l(ma(e)),t.a+=" (identifier: ",Os(t,e.k),t.a+=")",t.a)}function tz(e,t){var n;n=(e.Bb&Lo)!=0,t?e.Bb|=Lo:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&ai(e,new ga(e,1,18,n,t))}function Zue(e,t){var n;n=(e.Bb&Lo)!=0,t?e.Bb|=Lo:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&ai(e,new ga(e,1,18,n,t))}function Y4(e,t){var n;n=(e.Bb&Yf)!=0,t?e.Bb|=Yf:e.Bb&=-16385,e.Db&4&&!(e.Db&1)&&ai(e,new ga(e,1,16,n,t))}function ele(e,t){var n;n=(e.Bb&xs)!=0,t?e.Bb|=xs:e.Bb&=-65537,e.Db&4&&!(e.Db&1)&&ai(e,new ga(e,1,20,n,t))}function tle(e){var t;return t=ke(Al,Qf,28,2,15,1),e-=xs,t[0]=(e>>10)+CI&fr,t[1]=(e&1023)+56320&fr,Uf(t,0,t.length)}function dFt(e){var t;return t=em(e),t>34028234663852886e22?Li:t<-34028234663852886e22?br:t}function as(e,t){var n;return oo(e)&&oo(t)&&(n=e+t,NI"+bp(t.c):"e_"+Ei(t),e.b&&e.c?bp(e.b)+"->"+bp(e.c):"e_"+Ei(e))}function wFt(e,t){return wt(t.b&&t.c?bp(t.b)+"->"+bp(t.c):"e_"+Ei(t),e.b&&e.c?bp(e.b)+"->"+bp(e.c):"e_"+Ei(e))}function dw(e,t){return sf(),wa(h0),w.Math.abs(e-t)<=h0||e==t||isNaN(e)&&isNaN(t)?0:et?1:Fg(isNaN(e),isNaN(t))}function bd(){bd=U,rQ=new TT(kj,0),QN=new TT("POLYLINE",1),S5=new TT("ORTHOGONAL",2),tx=new TT("SPLINES",3)}function YP(){YP=U,A2e=new ZB("ASPECT_RATIO_DRIVEN",0),SY=new ZB("MAX_SCALE_DRIVEN",1),T2e=new ZB("AREA_DRIVEN",2)}function bFt(e,t,n){var i;try{BRt(e,t,n)}catch(r){throw r=Ri(r),ce(r,606)?(i=r,V(new tce(i))):V(r)}return t}function mFt(e){var t,n,i;for(n=0,i=e.length;nt&&i.Ne(e[o-1],e[o])>0;--o)a=e[o],Vi(e,o,e[o-1]),Vi(e,o-1,a)}function ct(e,t){var n,i,r,o,a;if(n=t.f,u1(e.c.d,n,t),t.g!=null)for(r=t.g,o=0,a=r.length;ot){FVe(n);break}}qE(n,t)}function kFt(e,t){var n,i,r;i=Lv(t),r=pe(ye(Jb(i,(Ge(),Ea)))),n=w.Math.max(0,r/2-.5),X8(t,n,1),$e(e,new r$e(t,n))}function jFt(e,t,n){var i;n.Ug("Straight Line Edge Routing",1),n.dh(t,n0e),i=c(Me(t,(Pv(),$2)),27),Mrt(e,i),n.dh(t,KO)}function nle(e,t){e.n.c.length==0&&$e(e.n,new zA(e.s,e.t,e.i)),$e(e.b,t),Dle(c(Je(e.n,e.n.c.length-1),209),t),frt(e,t)}function H8(e){var t;this.a=(t=c(e.e&&e.e(),9),new ll(t,c(ha(t,t.length),9),0)),this.b=ke(Cr,Mt,1,this.a.a.length,5,1)}function uo(e){var t;return Array.isArray(e)&&e.Tm===de?cp(Ou(e))+"@"+(t=Ei(e)>>>0,t.toString(16)):e.toString()}function SFt(e,t){return e.h==II&&e.m==0&&e.l==0?(t&&(m0=wc(0,0,0)),SFe((j4(),Ape))):(t&&(m0=wc(e.l,e.m,e.h)),wc(0,0,0))}function EFt(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function VYe(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function ile(e,t,n,i){switch(t){case 3:return e.f;case 4:return e.g;case 5:return e.i;case 6:return e.j}return Xue(e,t,n,i)}function QP(e,t){if(t==e.d)return e.e;if(t==e.e)return e.d;throw V(new Ft("Node "+t+" not part of edge "+e))}function IFt(e,t){var n;if(n=cI(e.Dh(),t),ce(n,102))return c(n,19);throw V(new Ft(b0+t+"' is not a valid reference"))}function ml(e,t,n,i){if(t<0)kfe(e,n,i);else{if(!n.rk())throw V(new Ft(b0+n.xe()+Dj));c(n,69).wk().Ck(e,e.hi(),t,i)}}function bu(e){var t;if(e.b){if(bu(e.b),e.b.d!=e.c)throw V(new ol)}else e.d.dc()&&(t=c(e.f.c.xc(e.e),16),t&&(e.d=t))}function NFt(e){Tb();var t,n,i,r;for(t=e.o.b,i=c(c(pi(e.r,(qe(),fn)),21),87).Kc();i.Ob();)n=c(i.Pb(),117),r=n.e,r.b+=t}function CFt(e){var t,n,i;for(this.a=new Ff,i=new q(e);i.a=r)return t.c+n;return t.c+t.b.gc()}function TFt(e,t){n4();var n,i,r,o;for(i=iWe(e),r=t,x4(i,0,i.length,r),n=0;n0&&(i+=r,++n);return n>1&&(i+=e.d*(n-1)),i}function PFt(e){var t,n,i,r,o;return o=xae(e),n=tE(e.c),i=!n,i&&(r=new tp,Ua(o,"knownLayouters",r),t=new LOe(r),Qr(e.c,t)),o}function ole(e){var t,n,i;for(i=new Kd,i.a+="[",t=0,n=e.gc();t0&&(Bt(t-1,e.length),e.charCodeAt(t-1)==58)&&!rz(e,ZS,e9))}function cle(e,t){var n;return be(e)===be(t)?!0:ce(t,92)?(n=c(t,92),e.e==n.e&&e.d==n.d&&sOt(e,n.a)):!1}function l3(e){switch(qe(),e.g){case 4:return Ht;case 1:return Xt;case 3:return fn;case 2:return qt;default:return ko}}function DFt(e){var t,n;if(e.b)return e.b;for(n=jf?null:e.d;n;){if(t=jf?null:n.b,t)return t;n=jf?null:n.d}return Jx(),tge}function ule(e){var t,n,i;for(i=pe(ye(e.a.of((Un(),dR)))),n=new q(e.a.Sf());n.a>5,t=e&31,i=ke(kn,qn,28,n+1,15,1),i[n]=1<3;)r*=10,--o;e=(e+(r>>1))/r|0}return i.i=e,!0}function $i(e,t){var n,i,r;if(n=(e.i==null&&Jf(e),e.i),i=t.Lj(),i!=-1){for(r=n.length;i=0;--i)for(t=n[i],r=0;r>1,this.k=t-1>>1}function YFt(e){uP(),c(e.of((Un(),M0)),181).Hc((vu(),yR))&&(c(e.of(Hm),181).Fc((uu(),nx)),c(e.of(M0),181).Mc(yR))}function QYe(e){var t,n;t=e.d==(w3(),Yk),n=fae(e),t&&!n||!t&&n?Ne(e.a,(Ge(),uh),(Eh(),zN)):Ne(e.a,(Ge(),uh),(Eh(),qN))}function cz(){cz=U,aT(),_D=(Ge(),Gw),jpt=af(J(W(BY,1),q1e,149,0,[IN,Ea,P2,Uw,Lm,jJ,f5,h5,SJ,gS,A2,Zp,_2]))}function QFt(e,t){var n;return n=c(co(e,su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)]))),15),n.Qc(vKe(n.gc()))}function ZYe(e,t){var n,i;if(i=new Dx(e.a.ad(t,!0)),i.a.gc()<=1)throw V(new yy);return n=i.a.ec().Kc(),n.Pb(),c(n.Pb(),40)}function ZFt(e,t,n){var i,r;return i=pe(e.p[t.i.p])+pe(e.d[t.i.p])+t.n.b+t.a.b,r=pe(e.p[n.i.p])+pe(e.d[n.i.p])+n.n.b+n.a.b,r-i}function gle(e,t){var n;return e.i>0&&(t.lengthe.i&&Vi(t,e.i,null),t}function e_(e){var t;return e.Db&64?R8(e):(t=new $l(R8(e)),t.a+=" (instanceClassName: ",Os(t,e.D),t.a+=")",t.a)}function t_(e){var t,n,i,r;for(r=0,n=0,i=e.length;n0?(e._j(),i=t==null?0:Ei(t),r=(i&ui)%e.d.length,n=fnt(e,r,i,t),n!=-1):!1}function eQe(e,t){var n,i;e.a=as(e.a,1),e.c=w.Math.min(e.c,t),e.b=w.Math.max(e.b,t),e.d+=t,n=t-e.f,i=e.e+n,e.f=i-e.e-n,e.e=i}function wle(e,t){switch(t){case 3:ow(e,0);return;case 4:cw(e,0);return;case 5:vc(e,0);return;case 6:yc(e,0);return}Bue(e,t)}function pw(e,t){switch(t.g){case 1:return Hy(e.j,(Gc(),iwe));case 2:return Hy(e.j,(Gc(),swe));default:return jt(),jt(),vs}}function ble(e){Xg();var t;switch(t=e.Pc(),t.length){case 0:return DW;case 1:return new HH(Tn(t[0]));default:return new kK(mFt(t))}}function tQe(e,t){e.Xj();try{e.d.bd(e.e++,t),e.f=e.d.j,e.g=-1}catch(n){throw n=Ri(n),ce(n,77)?V(new ol):V(n)}}function lz(){lz=U,vQ=new JNe,hxe=new YNe,dxe=new QNe,pxe=new ZNe,gxe=new eCe,wxe=new tCe,bxe=new nCe,mxe=new iCe,vxe=new rCe}function n_(e,t){Bie();var n,i;return n=PE((JM(),JM(),Wj)),i=null,t==n&&(i=c(Zo(Mpe,e),624)),i||(i=new yqe(e),t==n&&zs(Mpe,e,i)),i}function nQe(e){Yb();var t;return(e.q?e.q:(jt(),jt(),Lh))._b((Ge(),zw))?t=c(D(e,zw),203):t=c(D(Yr(e),pS),203),t}function Jb(e,t){var n,i;return i=null,Ni(e,(Ge(),AD))&&(n=c(D(e,AD),96),n.pf(t)&&(i=n.of(t))),i==null&&(i=D(Yr(e),t)),i}function iQe(e,t){var n,i,r;return ce(t,44)?(n=c(t,44),i=n.ld(),r=Wb(e.Rc(),i),qf(r,n.md())&&(r!=null||e.Rc()._b(i))):!1}function Wa(e,t){var n,i,r;return e.f>0&&(e._j(),i=t==null?0:Ei(t),r=(i&ui)%e.d.length,n=nfe(e,r,i,t),n)?n.md():null}function hc(e,t,n){var i,r,o;return e.Pj()?(i=e.i,o=e.Qj(),O7(e,i,t),r=e.Ij(3,null,t,i,o),n?n.nj(r):n=r):O7(e,e.i,t),n}function tBt(e,t,n){var i,r;return i=new hd(e.e,4,10,(r=t.c,ce(r,90)?c(r,29):(kt(),na)),null,l1(e,t),!1),n?n.nj(i):n=i,n}function nBt(e,t,n){var i,r;return i=new hd(e.e,3,10,null,(r=t.c,ce(r,90)?c(r,29):(kt(),na)),l1(e,t),!1),n?n.nj(i):n=i,n}function rQe(e){Tb();var t;return t=new gs(c(e.e.of((Un(),G2)),8)),e.B.Hc((vu(),I5))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function o0(e){Xf();var t,n;return n=Mn(e),t=Mn(W1(e,32)),t!=0?new hVe(n,t):n>10||n<0?new ad(1,n):Uat[n]}function B7(e,t){var n;return oo(e)&&oo(t)&&(n=e%t,NI=0?o=o.a[1]:(r=o,o=o.a[0])}return r}function K7(e,t,n){var i,r,o;for(r=null,o=e.b;o;){if(i=e.a.Ne(t,o.d),n&&i==0)return o;i<=0?o=o.a[0]:(r=o,o=o.a[1])}return r}function uBt(e,t,n,i){var r,o,a;return r=!1,fen(e.f,n,i)&&(TBt(e.f,e.a[t][n],e.a[t][i]),o=e.a[t],a=o[i],o[i]=o[n],o[n]=a,r=!0),r}function uQe(e,t,n){var i,r,o,a;for(r=c(Yt(e.b,n),183),i=0,a=new q(t.j);a.a>5,t&=31,r=e.d+n+(t==0?0:1),i=ke(kn,qn,28,r,15,1),ozt(i,e.a,n,t),o=new hp(e.e,r,i),w8(o),o}function lBt(e,t){var n,i,r;for(i=new Qt(en(nr(e).a.Kc(),new M));bn(i);)if(n=c(on(i),18),r=n.d.i,r.c==t)return!1;return!0}function yle(e,t,n){var i,r,o,a,h;return a=e.k,h=t.k,i=n[a.g][h.g],r=ye(Jb(e,i)),o=ye(Jb(t,i)),w.Math.max((Ut(r),r),(Ut(o),o))}function aBt(){return Error.stackTraceLimit>0?(w.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function fBt(e,t){return sf(),sf(),wa(h0),(w.Math.abs(e-t)<=h0||e==t||isNaN(e)&&isNaN(t)?0:et?1:Fg(isNaN(e),isNaN(t)))>0}function xle(e,t){return sf(),sf(),wa(h0),(w.Math.abs(e-t)<=h0||e==t||isNaN(e)&&isNaN(t)?0:et?1:Fg(isNaN(e),isNaN(t)))<0}function aQe(e,t){return sf(),sf(),wa(h0),(w.Math.abs(e-t)<=h0||e==t||isNaN(e)&&isNaN(t)?0:et?1:Fg(isNaN(e),isNaN(t)))<=0}function fz(e,t){for(var n=0;!t[n]||t[n]=="";)n++;for(var i=t[n++];n0&&this.b>0&&(this.g=gA(this.c,this.b,this.a))}function hBt(e,t){var n=e.a,i;t=String(t),n.hasOwnProperty(t)&&(i=n[t]);var r=(_q(),KW)[typeof i],o=r?r(i):Lue(typeof i);return o}function Z4(e){var t,n,i;if(i=null,t=sh in e.a,n=!t,n)throw V(new Df("Every element must have an id."));return i=b3(cd(e,sh)),i}function gw(e){var t,n;for(n=$et(e),t=null;e.c==2;)ri(e),t||(t=(ci(),ci(),new W6(2)),Pp(t,n),n=t),n.Jm($et(e));return n}function r_(e,t){var n,i,r;return e._j(),i=t==null?0:Ei(t),r=(i&ui)%e.d.length,n=nfe(e,r,i,t),n?(mXe(e,n),n.md()):null}function bQe(e,t){return e.e>t.e?1:e.et.d?e.e:e.d=48&&e<48+w.Math.min(10,10)?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function dBt(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw V(new Ft("Input edge is not connected to the input port."))}function pBt(e){if(o_($k,e))return _t(),Vk;if(o_(QG,e))return _t(),v0;throw V(new Ft("Expecting true or false"))}function Sle(e){switch(typeof e){case GV:return n1(e);case _he:return Oy(e);case x3:return QBe(e);default:return e==null?0:Kg(e)}}function Wf(e,t){if(e.a<0)throw V(new qs("Did not call before(...) or after(...) before calling add(...)."));return mre(e,e.a,t),e}function Ele(e){return VA(),ce(e,162)?c(Yt(aC,Yat),295).Rg(e):bc(aC,Ou(e))?c(Yt(aC,Ou(e)),295).Rg(e):null}function xc(e){var t,n;return e.Db&32||(n=(t=c($t(e,16),29),sn(t||e.ii())-sn(e.ii())),n!=0&&a3(e,32,ke(Cr,Mt,1,n,5,1))),e}function a3(e,t,n){var i;e.Db&t?n==null?YUt(e,t):(i=Pz(e,t),i==-1?e.Eb=n:Vi(yp(e.Eb),i,n)):n!=null&&yXt(e,t,n)}function gBt(e,t,n,i){var r,o;t.c.length!=0&&(r=aWt(n,i),o=fUt(t),Yi(vP(new gt(null,new yt(o,1)),new i7e),new Xqe(e,n,r,i)))}function wBt(e,t){var n,i,r,o;return i=e.a.length-1,n=t-e.b&i,o=e.c-t&i,r=e.c-e.b&i,GBe(n=o?(p$t(e,t),-1):(d$t(e,t),1)}function s_(e){var t,n,i;if(i=e.Jh(),!i)for(t=0,n=e.Ph();n;n=n.Ph()){if(++t>kU)return n.Qh();if(i=n.Jh(),i||n==e)break}return i}function vQe(e,t){var n;return be(t)===be(e)?!0:!ce(t,21)||(n=c(t,21),n.gc()!=e.gc())?!1:e.Ic(n)}function bBt(e,t){return e.et.e?1:e.ft.f?1:Ei(e)-Ei(t)}function o_(e,t){return Ut(e),t==null?!1:wt(e,t)?!0:e.length==t.length&&wt(e.toLowerCase(),t.toLowerCase())}function vd(e){var t,n;return Fo(e,-129)>0&&Fo(e,128)<0?(jKe(),t=Mn(e)+128,n=$pe[t],!n&&(n=$pe[t]=new Bte(e)),n):new Bte(e)}function Cp(){Cp=U,jm=new kT(nh,0),Qge=new kT("INSIDE_PORT_SIDE_GROUPS",1),kX=new kT("GROUP_MODEL_ORDER",2),jX=new kT(kde,3)}function mBt(e){var t;return e.b||f9t(e,(t=aIt(e.e,e.a),!t||!wt(QG,Wa((!t.b&&(t.b=new Au((kt(),js),Po,t)),t.b),"qualified")))),e.c}function vBt(e,t){var n,i;for(n=(Bt(t,e.length),e.charCodeAt(t)),i=t+1;i2e3&&(Dat=e,wL=w.setTimeout(w9t,10))),gL++==0?(PLt((Pne(),Cpe)),!0):!1}function _Bt(e,t,n){var i;(rft?(DFt(e),!0):sft||cft?(Jx(),!0):oft&&(Jx(),!1))&&(i=new DHe(t),i.b=n,Hzt(e,i))}function dz(e,t){var n;n=!e.A.Hc((Lu(),og))||e.q==(Br(),uc),e.u.Hc((uu(),Ad))?n?ktn(e,t):wst(e,t):e.u.Hc(_0)&&(n?Ken(e,t):Ast(e,t))}function EQe(e){var t;be(Me(e,(Un(),V2)))===be((wd(),wR))&&(Oi(e)?(t=c(Me(Oi(e),V2),346),bi(e,V2,t)):bi(e,V2,zS))}function OBt(e){var t,n;return Ni(e.d.i,(Ge(),u5))?(t=c(D(e.c.i,u5),17),n=c(D(e.d.i,u5),17),$o(t.a,n.a)>0):!1}function IQe(e,t,n){return new al(w.Math.min(e.a,t.a)-n/2,w.Math.min(e.b,t.b)-n/2,w.Math.abs(e.a-t.a)+n,w.Math.abs(e.b-t.b)+n)}function NQe(e){var t;this.d=new Re,this.j=new Kr,this.g=new Kr,t=e.g.b,this.f=c(D(Yr(t),(Ge(),Zu)),88),this.e=pe(ye(a_(t,Lm)))}function CQe(e){this.d=new Re,this.e=new Yd,this.c=ke(kn,qn,28,(qe(),J(W(ks,1),Ho,64,0,[ko,Ht,Xt,fn,qt])).length,15,1),this.b=e}function Cle(e,t,n){var i;switch(i=n[e.g][t],e.g){case 1:case 3:return new Ae(0,i);case 2:case 4:return new Ae(i,0);default:return null}}function MQe(e,t,n){var i,r;r=c(WE(t.f),205);try{r.rf(e,n),Oqe(t.f,r)}catch(o){throw o=Ri(o),ce(o,103)?(i=o,V(i)):V(o)}}function TQe(e,t,n){var i,r,o,a,h,p;return i=null,h=vhe(T4(),t),o=null,h&&(r=null,p=bhe(h,n),a=null,p!=null&&(a=e.qf(h,p)),r=a,o=r),i=o,i}function pz(e,t,n,i){var r;if(r=e.length,t>=r)return r;for(t=t>0?t:0;ti&&Vi(t,i,null),t}function AQe(e,t){var n,i;for(i=e.a.length,t.lengthi&&Vi(t,i,null),t}function ek(e,t){var n,i;if(++e.j,t!=null&&(n=(i=e.a.Cb,ce(i,99)?c(i,99).th():null),FUt(t,n))){a3(e.a,4,n);return}a3(e.a,4,c(t,129))}function LBt(e){var t;if(e==null)return null;if(t=BGt(nc(e,!0)),t==null)throw V(new dB("Invalid hexBinary value: '"+e+"'"));return t}function c_(e,t,n){var i;t.a.length>0&&($e(e.b,new QHe(t.a,n)),i=t.a.length,0i&&(t.a+=eBe(ke(Al,Qf,28,-i,15,1))))}function PQe(e,t,n){var i,r,o;if(!n[t.d])for(n[t.d]=!0,r=new q(Kv(t));r.a=e.b>>1)for(i=e.c,n=e.b;n>t;--n)i=i.b;else for(i=e.a.a,n=0;n=0?e.Wh(r):iV(e,i)):n<0?iV(e,i):c(i,69).wk().Bk(e,e.hi(),n)}function DQe(e){var t,n,i;for(i=(!e.o&&(e.o=new Uc((Bo(),qh),I1,e,0)),e.o),n=i.c.Kc();n.e!=n.i.gc();)t=c(n.Yj(),44),t.md();return o7(i)}function Ve(e){var t;if(ce(e.a,4)){if(t=Ele(e.a),t==null)throw V(new qs(out+e.b+"'. "+sut+(sd(fC),fC.k)+O0e));return t}else return e.a}function qBt(e,t){var n,i;if(e.j.length!=t.j.length)return!1;for(n=0,i=e.j.length;n=64&&t<128&&(r=qa(r,pa(1,t-64)));return r}function a_(e,t){var n,i;return i=null,Ni(e,(Un(),Z3))&&(n=c(D(e,Z3),96),n.pf(t)&&(i=n.of(t))),i==null&&Yr(e)&&(i=D(Yr(e),t)),i}function zBt(e,t){var n;return n=c(D(e,(Ge(),Xs)),75),pH(t,sdt)?n?Bu(n):(n=new Hc,Ne(e,Xs,n)):n&&Ne(e,Xs,null),n}function z8(){z8=U,Pge=(Un(),l3e),lX=qye,rht=K2,Age=S1,uht=(k_(),age),cht=uge,lht=hge,oht=cge,sht=(zq(),Cge),uX=tht,Tge=nht,NL=iht}function f_(e){switch(tie(),this.c=new Re,this.d=e,e.g){case 0:case 2:this.a=loe(Yge),this.b=Li;break;case 3:case 1:this.a=Yge,this.b=br}}function VBt(e){var t;By(c(D(e,(Ge(),Ji)),101))&&(t=e.b,Itt((St(0,t.c.length),c(t.c[0],30))),Itt(c(Je(t,t.c.length-1),30)))}function UBt(e,t){t.Ug("Self-Loop post-processing",1),Yi(di(di(mo(new gt(null,new yt(e.b,16)),new PSe),new _Se),new OSe),new LSe),t.Vg()}function RQe(e,t,n){var i,r;if(e.c)vc(e.c,e.c.i+t),yc(e.c,e.c.j+n);else for(r=new q(e.b);r.a=0&&(n.d=e.t);break;case 3:e.t>=0&&(n.a=e.t)}e.C&&(n.b=e.C.b,n.c=e.C.c)}function V8(){V8=U,eve=new dE(z1e,0),_J=new dE(tG,1),OJ=new dE("LINEAR_SEGMENTS",2),bS=new dE("BRANDES_KOEPF",3),mS=new dE(Oct,4)}function U8(){U8=U,lN=new yT(fO,0),EL=new yT(LU,1),IL=new yT(DU,2),aN=new yT(RU,3),lN.a=!1,EL.a=!0,IL.a=!1,aN.a=!0}function f3(){f3=U,oN=new vT(fO,0),sN=new vT(LU,1),cN=new vT(DU,2),uN=new vT(RU,3),oN.a=!1,sN.a=!0,cN.a=!1,uN.a=!0}function h3(e,t,n,i){var r;return n>=0?e.Sh(t,n,i):(e.Ph()&&(i=(r=e.Fh(),r>=0?e.Ah(i):e.Ph().Th(e,-1-r,null,i))),e.Ch(t,n,i))}function Mle(e,t){switch(t){case 7:!e.e&&(e.e=new It(tr,e,7,4)),mn(e.e);return;case 8:!e.d&&(e.d=new It(tr,e,8,5)),mn(e.d);return}wle(e,t)}function bi(e,t,n){return n==null?(!e.o&&(e.o=new Uc((Bo(),qh),I1,e,0)),r_(e.o,t)):(!e.o&&(e.o=new Uc((Bo(),qh),I1,e,0)),W7(e.o,t,n)),e}function HQe(e,t){jt();var n,i,r,o;for(n=e,o=t,ce(e,21)&&!ce(t,21)&&(n=t,o=e),r=n.Kc();r.Ob();)if(i=r.Pb(),o.Hc(i))return!1;return!0}function YBt(e,t,n,i){if(t.an.b)return!0}return!1}function vz(e,t){return Dr(e)?!!Mat[t]:e.Sm?!!e.Sm[t]:Nb(e)?!!Cat[t]:Ib(e)?!!Nat[t]:!1}function QBt(e){var t;t=e.a;do t=c(on(new Qt(en(Tr(t).a.Kc(),new M))),18).c.i,t.k==(Kt(),_r)&&e.b.Fc(t);while(t.k==(Kt(),_r));e.b=vl(e.b)}function KQe(e,t){var n,i,r;for(r=e,i=new Qt(en(Tr(t).a.Kc(),new M));bn(i);)n=c(on(i),18),n.c.i.c&&(r=w.Math.max(r,n.c.i.c.p));return r}function ZBt(e,t){var n,i,r;for(r=0,i=c(c(pi(e.r,t),21),87).Kc();i.Ob();)n=c(i.Pb(),117),r+=n.d.d+n.b.Mf().b+n.d.a,i.Ob()&&(r+=e.w);return r}function eHt(e,t){var n,i,r;for(r=0,i=c(c(pi(e.r,t),21),87).Kc();i.Ob();)n=c(i.Pb(),117),r+=n.d.b+n.b.Mf().a+n.d.c,i.Ob()&&(r+=e.w);return r}function qQe(e){var t,n,i,r;if(i=0,r=rm(e),r.c.length==0)return 1;for(n=new q(r);n.a=0?e.Lh(a,n,!0):vw(e,o,n)):c(o,69).wk().yk(e,e.hi(),r,n,i)}function rHt(e,t,n,i){var r,o;o=t.pf((Un(),U2))?c(t.of(U2),21):e.j,r=K$t(o),r!=(rO(),rX)&&(n&&!kle(r)||Oae(HGt(e,r,i),t))}function sHt(e){switch(e.g){case 1:return fw(),rN;case 3:return fw(),iN;case 2:return fw(),oX;case 4:return fw(),sX;default:return null}}function oHt(e,t,n){if(e.e)switch(e.b){case 1:JTt(e.c,t,n);break;case 0:YTt(e.c,t,n)}else aUe(e.c,t,n);e.a[t.p][n.p]=e.c.i,e.a[n.p][t.p]=e.c.e}function zQe(e){var t,n;if(e==null)return null;for(n=ke(Rh,Oe,199,e.length,0,2),t=0;t=0)return r;if(e.ol()){for(i=0;i=r)throw V(new Pb(t,r));if(e.Si()&&(i=e.dd(n),i>=0&&i!=t))throw V(new Ft(WI));return e.Xi(t,n)}function Tle(e,t){if(this.a=c(Tn(e),253),this.b=c(Tn(t),253),e.Ed(t)>0||e==(oB(),OW)||t==(cB(),LW))throw V(new Ft("Invalid range: "+dUe(e,t)))}function VQe(e){var t,n;for(this.b=new Re,this.c=e,this.a=!1,n=new q(e.a);n.a0),(t&-t)==t)return kr(t*mu(e,31)*4656612873077393e-25);do n=mu(e,31),i=n%t;while(n-i+(t-1)<0);return kr(i)}function hHt(e,t,n){switch(n.g){case 1:e.a=t.a/2,e.b=0;break;case 2:e.a=t.a,e.b=t.b/2;break;case 3:e.a=t.a/2,e.b=t.b;break;case 4:e.a=0,e.b=t.b/2}}function q7(e,t,n,i){var r,o;for(r=t;r1&&(o=uHt(e,t)),o}function WQe(e){var t;return t=pe(ye(Me(e,(Un(),YN))))*w.Math.sqrt((!e.a&&(e.a=new Ie(ti,e,10,11)),e.a).i),new Ae(t,t/pe(ye(Me(e,pR))))}function xz(e){var t;return e.f&&e.f.Vh()&&(t=c(e.f,54),e.f=c(r0(e,t),84),e.f!=t&&e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,9,8,t,e.f))),e.f}function kz(e){var t;return e.i&&e.i.Vh()&&(t=c(e.i,54),e.i=c(r0(e,t),84),e.i!=t&&e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,9,7,t,e.i))),e.i}function Es(e){var t;return e.b&&e.b.Db&64&&(t=e.b,e.b=c(r0(e,t),19),e.b!=t&&e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,9,21,t,e.b))),e.b}function w_(e,t){var n,i,r;e.d==null?(++e.e,++e.f):(i=t.Bi(),LWt(e,e.f+1),r=(i&ui)%e.d.length,n=e.d[r],!n&&(n=e.d[r]=e.dk()),n.Fc(t),++e.f)}function _le(e,t,n){var i;return t.tk()?!1:t.Ik()!=-2?(i=t.ik(),i==null?n==null:fi(i,n)):t.qk()==e.e.Dh()&&n==null}function b_(){var e;Vu(16,cot),e=PXe(16),this.b=ke(RW,SI,303,e,0,1),this.c=ke(RW,SI,303,e,0,1),this.a=null,this.e=null,this.i=0,this.f=e-1,this.g=0}function yd(e){Fre.call(this),this.k=(Kt(),er),this.j=(Vu(6,am),new ac(6)),this.b=(Vu(2,am),new ac(2)),this.d=new tB,this.f=new yne,this.a=e}function pHt(e){var t,n;e.c.length<=1||(t=eit(e,(qe(),fn)),Het(e,c(t.a,17).a,c(t.b,17).a),n=eit(e,qt),Het(e,c(n.a,17).a,c(n.b,17).a))}function gHt(e,t,n){var i,r;for(r=e.a.b,i=r.c.length;i102?-1:e<=57?e-48:e<65?-1:e<=70?e-65+10:e<97?-1:e-97+10}function Nz(e,t){if(e==null)throw V(new Ey("null key in entry: null="+t));if(t==null)throw V(new Ey("null value in entry: "+e+"=null"))}function mHt(e,t){for(var n,i;e.Ob();)if(!t.Ob()||(n=e.Pb(),i=t.Pb(),!(be(n)===be(i)||n!=null&&fi(n,i))))return!1;return!t.Ob()}function YQe(e,t){var n;return n=J(W($r,1),Rs,28,15,[Uq(e.a[0],t),Uq(e.a[1],t),Uq(e.a[2],t)]),e.d&&(n[0]=w.Math.max(n[0],n[2]),n[2]=n[0]),n}function QQe(e,t){var n;return n=J(W($r,1),Rs,28,15,[VP(e.a[0],t),VP(e.a[1],t),VP(e.a[2],t)]),e.d&&(n[0]=w.Math.max(n[0],n[2]),n[2]=n[0]),n}function Lle(e,t,n){By(c(D(t,(Ge(),Ji)),101))||(Xoe(e,t,a1(t,n)),Xoe(e,t,a1(t,(qe(),fn))),Xoe(e,t,a1(t,Ht)),jt(),ir(t.j,new r_e(e)))}function ZQe(e){var t,n;for(e.c||RZt(e),n=new Hc,t=new q(e.a),K(t);t.a0&&(Bt(0,t.length),t.charCodeAt(0)==43)?(Bt(1,t.length+1),t.substr(1)):t))}function PHt(e){var t;return e==null?null:new U1((t=nc(e,!0),t.length>0&&(Bt(0,t.length),t.charCodeAt(0)==43)?(Bt(1,t.length+1),t.substr(1)):t))}function Rle(e,t,n,i,r,o,a,h){var p,b;i&&(p=i.a[0],p&&Rle(e,t,n,p,r,o,a,h),Dz(e,n,i.d,r,o,a,h)&&t.Fc(i),b=i.a[1],b&&Rle(e,t,n,b,r,o,a,h))}function Uv(e,t,n){try{return $g(bq(e,t,n),1)}catch(i){throw i=Ri(i),ce(i,333)?V(new Ks($U+e.o+"*"+e.p+FU+t+bs+n+BU)):V(i)}}function rZe(e,t,n){try{return $g(bq(e,t,n),0)}catch(i){throw i=Ri(i),ce(i,333)?V(new Ks($U+e.o+"*"+e.p+FU+t+bs+n+BU)):V(i)}}function sZe(e,t,n){try{return $g(bq(e,t,n),2)}catch(i){throw i=Ri(i),ce(i,333)?V(new Ks($U+e.o+"*"+e.p+FU+t+bs+n+BU)):V(i)}}function oZe(e,t){if(e.g==-1)throw V(new Bc);e.Xj();try{e.d.hd(e.g,t),e.f=e.d.j}catch(n){throw n=Ri(n),ce(n,77)?V(new ol):V(n)}}function _Ht(e){var t,n,i,r,o;for(i=new q(e.b);i.ao&&Vi(t,o,null),t}function OHt(e,t){var n,i;if(i=e.gc(),t==null){for(n=0;n0&&(p+=r),b[v]=a,a+=h*(p+i)}function uZe(e){var t,n,i;for(i=e.f,e.n=ke($r,Rs,28,i,15,1),e.d=ke($r,Rs,28,i,15,1),t=0;t0?e.c:0),++r;e.b=i,e.d=o}function dZe(e,t){var n;return n=J(W($r,1),Rs,28,15,[Ple(e,(Ga(),Mo),t),Ple(e,pc,t),Ple(e,To,t)]),e.f&&(n[0]=w.Math.max(n[0],n[2]),n[2]=n[0]),n}function KHt(e,t,n){var i;try{U_(e,t+e.j,n+e.k,!1,!0)}catch(r){throw r=Ri(r),ce(r,77)?(i=r,V(new Ks(i.g+dO+t+bs+n+")."))):V(r)}}function qHt(e,t,n){var i;try{U_(e,t+e.j,n+e.k,!0,!1)}catch(r){throw r=Ri(r),ce(r,77)?(i=r,V(new Ks(i.g+dO+t+bs+n+")."))):V(r)}}function pZe(e){var t;Ni(e,(Ge(),qw))&&(t=c(D(e,qw),21),t.Hc((im(),Na))?(t.Mc(Na),t.Fc(Ca)):t.Hc(Ca)&&(t.Mc(Ca),t.Fc(Na)))}function gZe(e){var t;Ni(e,(Ge(),qw))&&(t=c(D(e,qw),21),t.Hc((im(),Ta))?(t.Mc(Ta),t.Fc(Yl)):t.Hc(Yl)&&(t.Mc(Yl),t.Fc(Ta)))}function _z(e,t,n,i){var r,o,a,h;return e.a==null&&Vzt(e,t),a=t.b.j.c.length,o=n.d.p,h=i.d.p,r=h-1,r<0&&(r=a-1),o<=r?e.a[r]-e.a[o]:e.a[a-1]-e.a[o]+e.a[r]}function zHt(e){var t,n;if(!e.b)for(e.b=XA(c(e.f,27).kh().i),n=new Jt(c(e.f,27).kh());n.e!=n.i.gc();)t=c(tn(n),135),$e(e.b,new aB(t));return e.b}function VHt(e){var t,n;if(!e.e)for(e.e=XA(fK(c(e.f,27)).i),n=new Jt(fK(c(e.f,27)));n.e!=n.i.gc();)t=c(tn(n),123),$e(e.e,new uOe(t));return e.e}function wZe(e){var t,n;if(!e.a)for(e.a=XA(RA(c(e.f,27)).i),n=new Jt(RA(c(e.f,27)));n.e!=n.i.gc();)t=c(tn(n),27),$e(e.a,new mH(e,t));return e.a}function bw(e){var t;if(!e.C&&(e.D!=null||e.B!=null))if(t=Pen(e),t)e.hl(t);else try{e.hl(null)}catch(n){if(n=Ri(n),!ce(n,63))throw V(n)}return e.C}function UHt(e){switch(e.q.g){case 5:BZe(e,(qe(),Ht)),BZe(e,fn);break;case 4:zrt(e,(qe(),Ht)),zrt(e,fn);break;default:Get(e,(qe(),Ht)),Get(e,fn)}}function GHt(e){switch(e.q.g){case 5:HZe(e,(qe(),Xt)),HZe(e,qt);break;case 4:Vrt(e,(qe(),Xt)),Vrt(e,qt);break;default:Wet(e,(qe(),Xt)),Wet(e,qt)}}function Gv(e,t){var n,i,r;for(r=new Kr,i=e.Kc();i.Ob();)n=c(i.Pb(),36),hk(n,r.a,0),r.a+=n.f.a+t,r.b=w.Math.max(r.b,n.f.b);return r.b>0&&(r.b+=t),r}function y_(e,t){var n,i,r;for(r=new Kr,i=e.Kc();i.Ob();)n=c(i.Pb(),36),hk(n,0,r.b),r.b+=n.f.b+t,r.a=w.Math.max(r.a,n.f.a);return r.a>0&&(r.a+=t),r}function bZe(e){var t,n,i;for(i=ui,n=new q(e.a);n.a>16==6?e.Cb.Th(e,5,tf,t):(i=Es(c(Nt((n=c($t(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function WHt(e){g4();var t=e.e;if(t&&t.stack){var n=t.stack,i=t+` -`;return n.substring(0,i.length)==i&&(n=n.substring(i.length)),n.split(` -`)}return[]}function XHt(e){var t;return t=(xXe(),Hat),t[e>>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[e&15]<<28}function yZe(e){var t,n,i;e.b==e.c&&(i=e.a.length,n=bue(w.Math.max(8,i))<<1,e.b!=0?(t=ha(e.a,n),DXe(e,t,i),e.a=t,e.b=0):xb(e.a,n),e.c=i)}function JHt(e,t){var n;return n=e.b,n.pf((Un(),ju))?n.ag()==(qe(),qt)?-n.Mf().a-pe(ye(n.of(ju))):t+pe(ye(n.of(ju))):n.ag()==(qe(),qt)?-n.Mf().a:t}function V7(e){var t;return e.b.c.length!=0&&c(Je(e.b,0),72).a?c(Je(e.b,0),72).a:(t=hK(e),t??""+(e.c?to(e.c.a,e,0):-1))}function x_(e){var t;return e.f.c.length!=0&&c(Je(e.f,0),72).a?c(Je(e.f,0),72).a:(t=hK(e),t??""+(e.i?to(e.i.j,e,0):-1))}function YHt(e,t){var n,i;if(t<0||t>=e.gc())return null;for(n=t;n0?e.c:0),r=w.Math.max(r,t.d),++i;e.e=o,e.b=r}function ZHt(e){var t,n;if(!e.b)for(e.b=XA(c(e.f,123).kh().i),n=new Jt(c(e.f,123).kh());n.e!=n.i.gc();)t=c(tn(n),135),$e(e.b,new aB(t));return e.b}function eKt(e,t){var n,i,r;if(t.dc())return n4(),n4(),hC;for(n=new iHe(e,t.gc()),r=new Jt(e);r.e!=r.i.gc();)i=tn(r),t.Hc(i)&&yn(n,i);return n}function Hle(e,t,n,i){return t==0?i?(!e.o&&(e.o=new Uc((Bo(),qh),I1,e,0)),e.o):(!e.o&&(e.o=new Uc((Bo(),qh),I1,e,0)),o7(e.o)):h_(e,t,n,i)}function Lz(e){var t,n;if(e.rb)for(t=0,n=e.rb.i;t>22),r+=i>>22,r<0)?!1:(e.l=n&yu,e.m=i&yu,e.h=r&Sd,!0)}function Dz(e,t,n,i,r,o,a){var h,p;return!(t.Te()&&(p=e.a.Ne(n,i),p<0||!r&&p==0)||t.Ue()&&(h=e.a.Ne(n,o),h>0||!a&&h==0))}function rKt(e,t){q4();var n;if(n=e.j.g-t.j.g,n!=0)return 0;switch(e.j.g){case 2:return nz(t,zwe)-nz(e,zwe);case 4:return nz(e,qwe)-nz(t,qwe)}return 0}function sKt(e){switch(e.g){case 0:return UX;case 1:return GX;case 2:return WX;case 3:return XX;case 4:return oD;case 5:return JX;default:return null}}function Gs(e,t,n){var i,r;return i=(r=new rB,Np(r,t),fc(r,n),yn((!e.c&&(e.c=new Ie(Qw,e,12,10)),e.c),r),r),t1(i,0),Vb(i,1),o1(i,!0),s1(i,!0),i}function p3(e,t){var n,i;if(t>=e.i)throw V(new sH(t,e.i));return++e.j,n=e.g[t],i=e.i-t-1,i>0&&Wo(e.g,t+1,e.g,t,i),Vi(e.g,--e.i,null),e.Qi(t,n),e.Ni(),n}function xZe(e,t){var n,i;return e.Db>>16==17?e.Cb.Th(e,21,Zl,t):(i=Es(c(Nt((n=c($t(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function oKt(e){var t,n,i,r;for(jt(),ir(e.c,e.a),r=new q(e.c);r.an.a.c.length))throw V(new Ft("index must be >= 0 and <= layer node count"));e.c&&Ac(e.c.a,e),e.c=n,n&&Vg(n.a,t,e)}function IZe(e,t){var n,i,r;for(i=new Qt(en(md(e).a.Kc(),new M));bn(i);)return n=c(on(i),18),r=c(t.Kb(n),10),new DM(Tn(r.n.b+r.o.b/2));return v6(),v6(),_W}function NZe(e,t){this.c=new hn,this.a=e,this.b=t,this.d=c(D(e,(Pe(),M2)),312),be(D(e,(Ge(),Cme)))===be((a7(),cD))?this.e=new kLe:this.e=new xLe}function W8(e,t){var n,i;return i=null,e.pf((Un(),Z3))&&(n=c(e.of(Z3),96),n.pf(t)&&(i=n.of(t))),i==null&&e.Tf()&&(i=e.Tf().of(t)),i==null&&(i=Ve(t)),i}function Rz(e,t){var n,i;n=e.fd(t);try{return i=n.Pb(),n.Qb(),i}catch(r){throw r=Ri(r),ce(r,112)?V(new Ks("Can't remove element "+t)):V(r)}}function pKt(e,t){var n,i,r;if(i=new oT,r=new yue(i.q.getFullYear()-d0,i.q.getMonth(),i.q.getDate()),n=EQt(e,t,r),n==0||n0?t:0),++n;return new Ae(i,r)}function Ule(e,t){var n,i;return e.Db>>16==6?e.Cb.Th(e,6,tr,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(Bo(),SR)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function Gle(e,t){var n,i;return e.Db>>16==7?e.Cb.Th(e,1,cC,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(Bo(),X3e)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function Wle(e,t){var n,i;return e.Db>>16==9?e.Cb.Th(e,9,ti,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(Bo(),Y3e)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function TZe(e,t){var n,i;return e.Db>>16==5?e.Cb.Th(e,9,_R,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(kt(),C1)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function AZe(e,t){var n,i;return e.Db>>16==7?e.Cb.Th(e,6,tf,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(kt(),T1)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function Xle(e,t){var n,i;return e.Db>>16==3?e.Cb.Th(e,0,lC,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(kt(),N1)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function PZe(){this.a=new RNe,this.g=new b_,this.j=new b_,this.b=new hn,this.d=new b_,this.i=new b_,this.k=new hn,this.c=new hn,this.e=new hn,this.f=new hn}function bKt(e,t,n){var i,r,o;for(n<0&&(n=0),o=e.i,r=n;rkU)return nk(e,i);if(i==e)return!0}}return!1}function vKt(e){switch(JT(),e.q.g){case 5:wtt(e,(qe(),Ht)),wtt(e,fn);break;case 4:bnt(e,(qe(),Ht)),bnt(e,fn);break;default:yst(e,(qe(),Ht)),yst(e,fn)}}function yKt(e){switch(JT(),e.q.g){case 5:Ltt(e,(qe(),Xt)),Ltt(e,qt);break;case 4:$Qe(e,(qe(),Xt)),$Qe(e,qt);break;default:xst(e,(qe(),Xt)),xst(e,qt)}}function xKt(e){var t,n;t=c(D(e,(ya(),Iht)),17),t?(n=t.a,n==0?Ne(e,(e0(),PL),new oz):Ne(e,(e0(),PL),new ZA(n))):Ne(e,(e0(),PL),new ZA(1))}function kKt(e,t){var n;switch(n=e.i,t.g){case 1:return-(e.n.b+e.o.b);case 2:return e.n.a-n.o.a;case 3:return e.n.b-n.o.b;case 4:return-(e.n.a+e.o.a)}return 0}function jKt(e,t){switch(e.g){case 0:return t==(yl(),S0)?QL:ZL;case 1:return t==(yl(),S0)?QL:gN;case 2:return t==(yl(),S0)?gN:ZL;default:return gN}}function G7(e,t){var n,i,r;for(Ac(e.a,t),e.e-=t.r+(e.a.c.length==0?0:e.c),r=i0e,i=new q(e.a);i.a>16==3?e.Cb.Th(e,12,ti,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(Bo(),W3e)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function Yle(e,t){var n,i;return e.Db>>16==11?e.Cb.Th(e,10,ti,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(Bo(),J3e)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function _Ze(e,t){var n,i;return e.Db>>16==10?e.Cb.Th(e,11,Zl,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(kt(),M1)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function OZe(e,t){var n,i;return e.Db>>16==10?e.Cb.Th(e,12,ea,t):(i=Es(c(Nt((n=c($t(e,16),29),n||(kt(),Xm)),e.Db>>16),19)),e.Cb.Th(e,i.n,i.f,t))}function Kl(e){var t;return!(e.Bb&1)&&e.r&&e.r.Vh()&&(t=c(e.r,54),e.r=c(r0(e,t),142),e.r!=t&&e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,9,8,t,e.r))),e.r}function $z(e,t,n){var i;return i=J(W($r,1),Rs,28,15,[jae(e,(Ga(),Mo),t,n),jae(e,pc,t,n),jae(e,To,t,n)]),e.f&&(i[0]=w.Math.max(i[0],i[2]),i[2]=i[0]),i}function SKt(e,t){var n,i,r;if(r=WBt(e,t),r.c.length!=0)for(ir(r,new Zje),n=r.c.length,i=0;i>19,b=t.h>>19,p!=b?b-p:(r=e.h,h=t.h,r!=h?r-h:(i=e.m,a=t.m,i!=a?i-a:(n=e.l,o=t.l,n-o)))}function k_(){k_=U,dge=(z_(),nX),hge=new pt(Yhe,dge),fge=(gP(),tX),age=new pt(Qhe,fge),lge=(u_(),eX),uge=new pt(Zhe,lge),cge=new pt(ede,(_t(),!0))}function X8(e,t,n){var i,r;i=t*n,ce(e.g,154)?(r=Zy(e),r.f.d?r.f.a||(e.d.a+=i+yf):(e.d.d-=i+yf,e.d.a+=i+yf)):ce(e.g,10)&&(e.d.d-=i,e.d.a+=2*i)}function LZe(e,t,n){var i,r,o,a,h;for(r=e[n.g],h=new q(t.d);h.a0?e.b:0),++n;t.b=i,t.e=r}function DZe(e){var t,n,i;if(i=e.b,NRe(e.i,i.length)){for(n=i.length*2,e.b=ke(RW,SI,303,n,0,1),e.c=ke(RW,SI,303,n,0,1),e.f=n-1,e.i=0,t=e.a;t;t=t.c)nI(e,t,t);++e.g}}function AKt(e,t,n,i){var r,o,a,h;for(r=0;ra&&(h=a/i),r>o&&(p=o/r),Bf(e,w.Math.min(h,p)),e}function _Kt(){J_();var e,t;try{if(t=c(uae((q1(),ta),Bk),2113),t)return t}catch(n){if(n=Ri(n),ce(n,103))e=n,Yse((Pn(),e));else throw V(n)}return new _Ne}function OKt(){J_();var e,t;try{if(t=c(uae((q1(),ta),Ul),2040),t)return t}catch(n){if(n=Ri(n),ce(n,103))e=n,Yse((Pn(),e));else throw V(n)}return new sCe}function LKt(){UGe();var e,t;try{if(t=c(uae((q1(),ta),qp),2122),t)return t}catch(n){if(n=Ri(n),ce(n,103))e=n,Yse((Pn(),e));else throw V(n)}return new QCe}function DKt(e,t,n){var i,r;return r=e.e,e.e=t,e.Db&4&&!(e.Db&1)&&(i=new Pr(e,1,4,r,t),n?n.nj(i):n=i),r!=t&&(t?n=mk(e,L_(e,t),n):n=mk(e,e.a,n)),n}function RZe(){oT.call(this),this.e=-1,this.a=!1,this.p=os,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=os}function RKt(e,t){var n,i,r;if(i=e.b.d.d,e.a||(i+=e.b.d.a),r=t.b.d.d,t.a||(r+=t.b.d.a),n=xi(i,r),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function $Kt(e,t){var n,i,r;if(i=e.b.b.d,e.a||(i+=e.b.b.a),r=t.b.b.d,t.a||(r+=t.b.b.a),n=xi(i,r),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function FKt(e,t){var n,i,r;if(i=e.b.g.d,e.a||(i+=e.b.g.a),r=t.b.g.d,t.a||(r+=t.b.g.a),n=xi(i,r),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function Zle(){Zle=U,zht=Vc(Kn(Kn(Kn(new ur,(ss(),sc),(hs(),Mwe)),sc,Twe),ro,Awe),ro,mwe),Uht=Kn(Kn(new ur,sc,fwe),sc,vwe),Vht=Vc(new ur,ro,xwe)}function BKt(e){var t,n,i,r,o;for(t=c(D(e,(Pe(),cS)),85),o=e.n,i=t.Cc().Kc();i.Ob();)n=c(i.Pb(),314),r=n.i,r.c+=o.a,r.d+=o.b,n.c?rit(n):sit(n);Ne(e,cS,null)}function HKt(e,t,n){var i,r;switch(r=e.b,i=r.d,t.g){case 1:return-i.d-n;case 2:return r.o.a+i.c+n;case 3:return r.o.b+i.a+n;case 4:return-i.b-n;default:return-1}}function KKt(e,t,n){var i,r;for(n.Ug("Interactive node placement",1),e.a=c(D(t,(Pe(),M2)),312),r=new q(t.b);r.a0&&(a=(o&ui)%e.d.length,r=nfe(e,a,o,t),r)?(h=r.nd(n),h):(i=e.ck(o,t,n),e.c.Fc(i),null)}function nae(e,t){var n,i,r,o;switch(r1(e,t).Kl()){case 3:case 2:{for(n=n2(t),r=0,o=n.i;r=0;i--)if(wt(e[i].d,t)||wt(e[i].d,n)){e.length>=i+1&&e.splice(0,i+1);break}return e}function X7(e,t){var n;return oo(e)&&oo(t)&&(n=e/t,NI0&&(e.b+=2,e.a+=i):(e.b+=1,e.a+=w.Math.min(i,r))}function zZe(e){var t;t=c(D(c(xl(e.b,0),40),(Io(),Jve)),107),Ne(e,(Si(),w5),new Ae(0,0)),Rit(new r7,e,t.b+t.c-pe(ye(D(e,YJ))),t.d+t.a-pe(ye(D(e,QJ))))}function VZe(e,t){var n,i;if(i=!1,Dr(t)&&(i=!0,Gy(e,new Lb(_n(t)))),i||ce(t,242)&&(i=!0,Gy(e,(n=Jre(c(t,242)),new RM(n)))),!i)throw V(new hB(Z0e))}function sqt(e,t,n,i){var r,o,a;return r=new hd(e.e,1,10,(a=t.c,ce(a,90)?c(a,29):(kt(),na)),(o=n.c,ce(o,90)?c(o,29):(kt(),na)),l1(e,t),!1),i?i.nj(r):i=r,i}function sae(e){var t,n;switch(c(D(Yr(e),(Ge(),xme)),429).g){case 0:return t=e.n,n=e.o,new Ae(t.a+n.a/2,t.b+n.b/2);case 1:return new gs(e.n);default:return null}}function J7(){J7=U,uD=new R6(nh,0),obe=new R6("LEFTUP",1),ube=new R6("RIGHTUP",2),sbe=new R6("LEFTDOWN",3),cbe=new R6("RIGHTDOWN",4),YX=new R6("BALANCED",5)}function oqt(e,t,n){var i,r,o;if(i=xi(e.a[t.p],e.a[n.p]),i==0){if(r=c(D(t,(Pe(),z3)),15),o=c(D(n,z3),15),r.Hc(n))return-1;if(o.Hc(t))return 1}return i}function cqt(e){switch(e.g){case 1:return new pIe;case 2:return new gIe;case 3:return new dIe;case 0:return null;default:throw V(new Ft($G+(e.f!=null?e.f:""+e.g)))}}function oae(e,t,n){switch(t){case 1:!e.n&&(e.n=new Ie($s,e,1,7)),mn(e.n),!e.n&&(e.n=new Ie($s,e,1,7)),Wi(e.n,c(n,16));return;case 2:A4(e,_n(n));return}Iue(e,t,n)}function cae(e,t,n){switch(t){case 3:ow(e,pe(ye(n)));return;case 4:cw(e,pe(ye(n)));return;case 5:vc(e,pe(ye(n)));return;case 6:yc(e,pe(ye(n)));return}oae(e,t,n)}function j_(e,t,n){var i,r,o;o=(i=new rB,i),r=bf(o,t,null),r&&r.oj(),fc(o,n),yn((!e.c&&(e.c=new Ie(Qw,e,12,10)),e.c),o),t1(o,0),Vb(o,1),o1(o,!0),s1(o,!0)}function uae(e,t){var n,i,r;return n=P6(e.i,t),ce(n,241)?(r=c(n,241),r.zi()==null,r.wi()):ce(n,507)?(i=c(n,2037),r=i.b,r):null}function uqt(e,t,n,i){var r,o;return Tn(t),Tn(n),o=c(t8(e.d,t),17),mWe(!!o,"Row %s not in %s",t,e.e),r=c(t8(e.b,n),17),mWe(!!r,"Column %s not in %s",n,e.c),MJe(e,o.a,r.a,i)}function UZe(e,t,n,i,r,o,a){var h,p,b,v,y;if(v=r[o],b=o==a-1,h=b?i:0,y=fZe(h,v),i!=10&&J(W(e,a-o),t[o],n[o],h,y),!b)for(++o,p=0;p1||h==-1?(o=c(p,15),r.Wb(VFt(e,o))):r.Wb(jV(e,c(p,58)))))}function gqt(e,t,n,i){nRe();var r=PW;function o(){for(var a=0;a0)return!1;return!0}function mqt(e){var t,n,i,r,o;for(i=new jp(new rp(e.b).a);i.b;)n=aw(i),t=c(n.ld(),10),o=c(c(n.md(),42).a,10),r=c(c(n.md(),42).b,8),li(Ha(t.n),li(Xr(o.n),r))}function vqt(e){switch(c(D(e.b,(Ge(),pme)),387).g){case 1:Yi(Zs(mo(new gt(null,new yt(e.d,16)),new V9e),new U9e),new G9e);break;case 2:pJt(e);break;case 0:UVt(e)}}function yqt(e,t,n){var i,r,o;for(i=n,!i&&(i=new jy),i.Ug("Layout",e.a.c.length),o=new q(e.a);o.aOG)return n;r>-1e-6&&++n}return n}function aae(e,t){var n;t!=e.b?(n=null,e.b&&(n=HA(e.b,e,-4,n)),t&&(n=h3(t,e,-4,n)),n=kYe(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,3,t,t))}function XZe(e,t){var n;t!=e.f?(n=null,e.f&&(n=HA(e.f,e,-1,n)),t&&(n=h3(t,e,-1,n)),n=xYe(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,0,t,t))}function Sqt(e,t,n,i){var r,o,a,h;return Mu(e.e)&&(r=t.Lk(),h=t.md(),o=n.md(),a=Y1(e,1,r,h,o,r.Jk()?gk(e,r,o,ce(r,102)&&(c(r,19).Bb&xs)!=0):-1,!0),i?i.nj(a):i=a),i}function JZe(e){var t,n,i;if(e==null)return null;if(n=c(e,15),n.dc())return"";for(i=new Kd,t=n.Kc();t.Ob();)Os(i,(vi(),_n(t.Pb()))),i.a+=" ";return cH(i,i.a.length-1)}function YZe(e){var t,n,i;if(e==null)return null;if(n=c(e,15),n.dc())return"";for(i=new Kd,t=n.Kc();t.Ob();)Os(i,(vi(),_n(t.Pb()))),i.a+=" ";return cH(i,i.a.length-1)}function Eqt(e,t,n){var i,r;return i=e.c[t.c.p][t.p],r=e.c[n.c.p][n.p],i.a!=null&&r.a!=null?XH(i.a,r.a):i.a!=null?-1:r.a!=null?1:0}function Iqt(e,t,n){return n.Ug("Tree layout",1),zE(e.b),Ka(e.b,(g3(),qD),qD),Ka(e.b,SS,SS),Ka(e.b,ES,ES),Ka(e.b,IS,IS),e.a=wI(e.b,t),yqt(e,t,n.eh(1)),n.Vg(),t}function Nqt(e,t){var n,i,r,o,a,h;if(t)for(o=t.a.length,n=new fp(o),h=(n.b-n.a)*n.c<0?(z1(),F0):new G1(n);h.Ob();)a=c(h.Pb(),17),r=b4(t,a.a),i=new mOe(e),LTt(i.a,r)}function Cqt(e,t){var n,i,r,o,a,h;if(t)for(o=t.a.length,n=new fp(o),h=(n.b-n.a)*n.c<0?(z1(),F0):new G1(n);h.Ob();)a=c(h.Pb(),17),r=b4(t,a.a),i=new lOe(e),OTt(i.a,r)}function Mqt(e){var t;if(e!=null&&e.length>0&&rs(e,e.length-1)==33)try{return t=cnt(fl(e,0,e.length-1)),t.e==null}catch(n){if(n=Ri(n),!ce(n,33))throw V(n)}return!1}function Tqt(e,t,n){var i,r,o;switch(i=Yr(t),r=JP(i),o=new Go,bo(o,t),n.g){case 1:jr(o,$7(l3(r)));break;case 2:jr(o,l3(r))}return Ne(o,(Ge(),Pm),ye(D(e,Pm))),o}function fae(e){var t,n;return t=c(on(new Qt(en(Tr(e.a).a.Kc(),new M))),18),n=c(on(new Qt(en(nr(e.a).a.Kc(),new M))),18),Xe(We(D(t,(Pe(),Ef))))||Xe(We(D(n,Ef)))}function Zb(){Zb=U,wN=new aE("ONE_SIDE",0),nD=new aE("TWO_SIDES_CORNER",1),iD=new aE("TWO_SIDES_OPPOSING",2),tD=new aE("THREE_SIDES",3),eD=new aE("FOUR_SIDES",4)}function QZe(e,t){var n,i,r,o;for(o=new Re,r=0,i=t.Kc();i.Ob();){for(n=De(c(i.Pb(),17).a+r);n.a=e.f)break;Tt(o.c,n)}return o}function Aqt(e,t){var n,i,r,o,a;for(o=new q(t.a);o.a0&&kZe(this,this.c-1,(qe(),Xt)),this.c0&&e[0].length>0&&(this.c=Xe(We(D(Yr(e[0][0]),(Pe(),jbe))))),this.a=ke(Wpt,Oe,2117,e.length,0,2),this.b=ke(Xpt,Oe,2118,e.length,0,2),this.d=new wYe}function Dqt(e){return e.c.length==0?!1:(St(0,e.c.length),c(e.c[0],18)).c.i.k==(Kt(),_r)?!0:Rv(Zs(new gt(null,new yt(e,16)),new IEe),new NEe)}function tet(e,t){var n,i,r,o,a,h,p;for(h=rm(t),o=t.f,p=t.g,a=w.Math.sqrt(o*o+p*p),r=0,i=new q(h);i.a=0?(n=X7(e,cO),i=B7(e,cO)):(t=W1(e,1),n=X7(t,5e8),i=B7(t,5e8),i=as(pa(i,1),Nr(e,1))),qa(pa(i,32),Nr(n,Ms))}function ret(e,t,n){var i,r;switch(i=(rn(t.b!=0),c(gl(t,t.a.a),8)),n.g){case 0:i.b=0;break;case 2:i.b=e.f;break;case 3:i.a=0;break;default:i.a=e.g}return r=wn(t,0),qE(r,i),t}function set(e,t,n,i){var r,o,a,h,p;switch(p=e.b,o=t.d,a=o.j,h=Cle(a,p.d[a.g],n),r=li(Xr(o.n),o.a),o.j.g){case 1:case 3:h.a+=r.a;break;case 2:case 4:h.b+=r.b}Ui(i,h,i.c.b,i.c)}function Wqt(e,t,n){var i,r,o,a;for(a=to(e.e,t,0),o=new bne,o.b=n,i=new Vr(e.e,a);i.b1;t>>=1)t&1&&(i=Dv(i,n)),n.d==1?n=Dv(n,n):n=new xQe(qit(n.a,n.d,ke(kn,qn,28,n.d<<1,15,1)));return i=Dv(i,n),i}function yae(){yae=U;var e,t,n,i;for(Zpe=ke($r,Rs,28,25,15,1),ege=ke($r,Rs,28,33,15,1),i=152587890625e-16,t=32;t>=0;t--)ege[t]=i,i*=.5;for(n=1,e=24;e>=0;e--)Zpe[e]=n,n*=.5}function ezt(e){var t,n;if(Xe(We(Me(e,(Ge(),Am))))){for(n=new Qt(en(xd(e).a.Kc(),new M));bn(n);)if(t=c(on(n),74),mw(t)&&Xe(We(Me(t,Xp))))return!0}return!1}function oet(e,t){var n,i,r;gr(e.f,t)&&(t.b=e,i=t.c,to(e.j,i,0)!=-1||$e(e.j,i),r=t.d,to(e.j,r,0)!=-1||$e(e.j,r),n=t.a.b,n.c.length!=0&&(!e.i&&(e.i=new NQe(e)),sRt(e.i,n)))}function tzt(e){var t,n,i,r,o;return n=e.c.d,i=n.j,r=e.d.d,o=r.j,i==o?n.p=0&&wt(e.substr(t,3),"GMT")||t>=0&&wt(e.substr(t,3),"UTC"))&&(n[0]=t+3),Zfe(e,n,i)}function izt(e,t){var n,i,r,o,a;for(o=e.g.a,a=e.g.b,i=new q(e.d);i.an;o--)e[o]|=t[o-n-1]>>>a,e[o-1]=t[o-n-1]<0&&Wo(e.g,t,e.g,t+i,h),a=n.Kc(),e.i+=i,r=0;r>4&15,o=e[i]&15,a[r++]=Q3e[n],a[r++]=Q3e[o];return Uf(a,0,a.length)}function _c(e){var t,n;return e>=xs?(t=CI+(e-xs>>10&1023)&fr,n=56320+(e-xs&1023)&fr,String.fromCharCode(t)+(""+String.fromCharCode(n))):String.fromCharCode(e&fr)}function pzt(e,t){Tb();var n,i,r,o;return r=c(c(pi(e.r,t),21),87),r.gc()>=2?(i=c(r.Kc().Pb(),117),n=e.u.Hc((uu(),WS)),o=e.u.Hc(nx),!i.a&&!n&&(r.gc()==2||o)):!1}function aet(e,t,n,i,r){var o,a,h;for(o=Jnt(e,t,n,i,r),h=!1;!o;)__(e,r,!0),h=!0,o=Jnt(e,t,n,i,r);h&&__(e,r,!1),a=Aq(r),a.c.length!=0&&(e.d&&e.d.Gg(a),aet(e,r,n,i,a))}function N_(){N_=U,oQ=new H6(nh,0),k3e=new H6("DIRECTED",1),S3e=new H6("UNDIRECTED",2),y3e=new H6("ASSOCIATION",3),j3e=new H6("GENERALIZATION",4),x3e=new H6("DEPENDENCY",5)}function gzt(e,t){var n;if(!cf(e))throw V(new qs(Nut));switch(n=cf(e),t.g){case 1:return-(e.j+e.f);case 2:return e.i-n.g;case 3:return e.j-n.f;case 4:return-(e.i+e.g)}return 0}function wzt(e,t,n){var i,r,o;return i=t.Lk(),o=t.md(),r=i.Jk()?Y1(e,4,i,o,null,gk(e,i,o,ce(i,102)&&(c(i,19).Bb&xs)!=0),!0):Y1(e,i.tk()?2:1,i,o,i.ik(),-1,!0),n?n.nj(r):n=r,n}function sk(e,t){var n,i;for(Ut(t),i=e.b.c.length,$e(e.b,t);i>0;){if(n=i,i=(i-1)/2|0,e.a.Ne(Je(e.b,i),t)<=0)return dl(e.b,n,t),!0;dl(e.b,n,Je(e.b,i))}return dl(e.b,i,t),!0}function jae(e,t,n,i){var r,o;if(r=0,n)r=VP(e.a[n.g][t.g],i);else for(o=0;o=h)}function fet(e){switch(e.g){case 0:return new MIe;case 1:return new TIe;default:throw V(new Ft("No implementation is available for the width approximator "+(e.f!=null?e.f:""+e.g)))}}function Sae(e,t,n,i){var r;if(r=!1,Dr(i)&&(r=!0,o4(t,n,_n(i))),r||Ib(i)&&(r=!0,Sae(e,t,n,i)),r||ce(i,242)&&(r=!0,gp(t,n,c(i,242))),!r)throw V(new hB(Z0e))}function mzt(e,t){var n,i,r;if(n=t.qi(e.a),n&&(r=Wa((!n.b&&(n.b=new Au((kt(),js),Po,n)),n.b),Vl),r!=null)){for(i=1;i<(Wc(),kxe).length;++i)if(wt(kxe[i],r))return i}return 0}function vzt(e,t){var n,i,r;if(n=t.qi(e.a),n&&(r=Wa((!n.b&&(n.b=new Au((kt(),js),Po,n)),n.b),Vl),r!=null)){for(i=1;i<(Wc(),jxe).length;++i)if(wt(jxe[i],r))return i}return 0}function het(e,t){var n,i,r,o;if(Ut(t),o=e.a.gc(),o0?1:0;o.a[r]!=n;)o=o.a[r],r=e.a.Ne(n.d,o.d)>0?1:0;o.a[r]=i,i.b=n.b,i.a[0]=n.a[0],i.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function kzt(e){var t,n,i,r;for(t=new Re,n=ke(Su,_h,28,e.a.c.length,16,1),Use(n,n.length),r=new q(e.a);r.a0&&Fit((St(0,n.c.length),c(n.c[0],30)),e),n.c.length>1&&Fit(c(Je(n,n.c.length-1),30),e),t.Vg()}function Szt(e){uu();var t,n;return t=Ci(Ad,J(W(bR,1),Ce,279,0,[_0])),!(k7(qA(t,e))>1||(n=Ci(WS,J(W(bR,1),Ce,279,0,[GS,nx])),k7(qA(n,e))>1))}function Iae(e,t){var n;n=Zo((q1(),ta),e),ce(n,507)?zs(ta,e,new iFe(this,t)):zs(ta,e,this),Xz(this,t),t==(Vx(),axe)?(this.wb=c(this,2038),c(t,2040)):this.wb=(X1(),Ot)}function Ezt(e){var t,n,i;if(e==null)return null;for(t=null,n=0;n=d1?"error":i>=900?"warn":i>=800?"info":"log"),Sqe(n,e.a),e.b&&Cfe(t,n,e.b,"Exception: ",!0))}function D(e,t){var n,i;return i=(!e.q&&(e.q=new hn),Yt(e.q,t)),i??(n=t.Sg(),ce(n,4)&&(n==null?(!e.q&&(e.q=new hn),t3(e.q,t)):(!e.q&&(e.q=new hn),Jn(e.q,t,n))),n)}function ss(){ss=U,Sa=new lE("P1_CYCLE_BREAKING",0),Dh=new lE("P2_LAYERING",1),Xo=new lE("P3_NODE_ORDERING",2),sc=new lE("P4_NODE_PLACEMENT",3),ro=new lE("P5_EDGE_ROUTING",4)}function Izt(e,t){j8();var n;if(e.c==t.c){if(e.b==t.b||_Dt(e.b,t.b)){if(n=rEt(e.b)?1:-1,e.a&&!t.a)return n;if(!e.a&&t.a)return-n}return $o(e.b.g,t.b.g)}else return xi(e.c,t.c)}function bet(e,t){var n,i,r;if(Cae(e,t))return!0;for(i=new q(t);i.a=r||t<0)throw V(new Ks(hW+t+Hp+r));if(n>=r||n<0)throw V(new Ks(dW+n+Hp+r));return t!=n?i=(o=e.Cj(n),e.qj(t,o),o):i=e.xj(n),i}function yet(e){var t,n,i;if(i=e,e)for(t=0,n=e.Eh();n;n=n.Eh()){if(++t>kU)return yet(n);if(i=n,n==e)throw V(new qs("There is a cycle in the containment hierarchy of "+e))}return i}function u0(e){var t,n,i;for(i=new Sp(bs,"[","]"),n=e.Kc();n.Ob();)t=n.Pb(),fd(i,be(t)===be(e)?"(this Collection)":t==null?Oc:uo(t));return i.a?i.e.length==0?i.a.a:i.a.a+(""+i.e):i.c}function Cae(e,t){var n,i;if(i=!1,t.gc()<2)return!1;for(n=0;n1&&(e.j.b+=e.e)):(e.j.a+=n.a,e.j.b=w.Math.max(e.j.b,n.b),e.d.c.length>1&&(e.j.a+=e.e))}function l0(){l0=U,Pdt=J(W(ks,1),Ho,64,0,[(qe(),Ht),Xt,fn]),Adt=J(W(ks,1),Ho,64,0,[Xt,fn,qt]),_dt=J(W(ks,1),Ho,64,0,[fn,qt,Ht]),Odt=J(W(ks,1),Ho,64,0,[qt,Ht,Xt])}function Czt(e,t,n,i){var r,o,a,h,p,b,v;if(a=e.c.d,h=e.d.d,a.j!=h.j)for(v=e.b,r=a.j,p=null;r!=h.j;)p=t==0?XP(r):Wue(r),o=Cle(r,v.d[r.g],n),b=Cle(p,v.d[p.g],n),$n(i,li(o,b)),r=p}function Mzt(e,t,n,i){var r,o,a,h,p;return a=jZe(e.a,t,n),h=c(a.a,17).a,o=c(a.b,17).a,i&&(p=c(D(t,(Pe(),lu)),10),r=c(D(n,lu),10),p&&r&&(aUe(e.b,p,r),h+=e.b.i,o+=e.b.e)),h>o}function ket(e){var t,n,i,r,o,a,h,p,b;for(this.a=zQe(e),this.b=new Re,n=e,i=0,r=n.length;iSH(e.d).c?(e.i+=e.g.c,az(e.d)):SH(e.d).c>SH(e.g).c?(e.e+=e.d.c,az(e.g)):(e.i+=PKe(e.g),e.e+=PKe(e.d),az(e.g),az(e.d))}function _zt(e,t,n){var i,r,o,a;for(o=t.q,a=t.r,new wp((za(),I0),t,o,1),new wp(I0,o,a,1),r=new q(n);r.ah&&(p=h/i),r>o&&(b=o/r),a=w.Math.min(p,b),e.a+=a*(t.a-e.a),e.b+=a*(t.b-e.b)}function Rzt(e,t,n,i,r){var o,a;for(a=!1,o=c(Je(n.b,0),27);hQt(e,t,o,i,r)&&(a=!0,dqt(n,o),n.b.c.length!=0);)o=c(Je(n.b,0),27);return n.b.c.length==0&&G7(n.j,n),a&&v_(t.q),a}function $zt(e,t){e2();var n,i,r,o;if(t.b<2)return!1;for(o=wn(t,0),n=c(dn(o),8),i=n;o.b!=o.d.c;){if(r=c(dn(o),8),fV(e,i,r))return!0;i=r}return!!fV(e,i,n)}function Tae(e,t,n,i){var r,o;return n==0?(!e.o&&(e.o=new Uc((Bo(),qh),I1,e,0)),eA(e.o,t,i)):(o=c(Nt((r=c($t(e,16),29),r||e.ii()),n),69),o.wk().Ak(e,xc(e),n-sn(e.ii()),t,i))}function Xz(e,t){var n;t!=e.sb?(n=null,e.sb&&(n=c(e.sb,54).Th(e,1,YS,n)),t&&(n=c(t,54).Rh(e,1,YS,n)),n=Kue(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,4,t,t))}function Fzt(e,t){var n,i,r,o;if(t)r=gd(t,"x"),n=new gOe(e),E4(n.a,(Ut(r),r)),o=gd(t,"y"),i=new wOe(e),N4(i.a,(Ut(o),o));else throw V(new Df("All edge sections need an end point."))}function Bzt(e,t){var n,i,r,o;if(t)r=gd(t,"x"),n=new hOe(e),I4(n.a,(Ut(r),r)),o=gd(t,"y"),i=new dOe(e),C4(i.a,(Ut(o),o));else throw V(new Df("All edge sections need a start point."))}function Hzt(e,t){var n,i,r,o,a,h,p;for(i=YJe(e),o=0,h=i.length;o>22-t,r=e.h<>22-t):t<44?(n=0,i=e.l<>44-t):(n=0,i=0,r=e.l<e)throw V(new Ft("k must be smaller than n"));return t==0||t==e?1:e==0?0:iae(e)/(iae(t)*iae(e-t))}function Aae(e,t){var n,i,r,o;for(n=new Gie(e);n.g==null&&!n.c?Eoe(n):n.g==null||n.i!=0&&c(n.g[n.i-1],51).Ob();)if(o=c(O_(n),58),ce(o,167))for(i=c(o,167),r=0;r>4],t[n*2+1]=$R[o&15];return Uf(t,0,t.length)}function iVt(e){AA();var t,n,i;switch(i=e.c.length,i){case 0:return Tat;case 1:return t=c(att(new q(e)),44),JCt(t.ld(),t.md());default:return n=c(wf(e,ke(zp,sO,44,e.c.length,0,1)),173),new Tne(n)}}function rVt(e){var t,n,i,r,o,a;for(t=new Tv,n=new Tv,Q1(t,e),Q1(n,e);n.b!=n.c;)for(r=c(Vy(n),36),a=new q(r.a);a.a0&&aI(e,n,t),r):UUt(e,t,n)}function a0(){a0=U,Lwt=(Un(),Q3),Dwt=rg,Awt=ig,Pwt=G2,_wt=M0,Twt=U2,w2e=XN,Owt=Hm,dY=(Vfe(),vwt),pY=ywt,m2e=Swt,gY=Nwt,v2e=Ewt,y2e=Iwt,b2e=xwt,YD=kwt,QD=jwt,RN=Cwt,x2e=Mwt,g2e=mwt}function Aet(e,t){var n,i,r,o,a;if(e.e<=t||CPt(e,e.g,t))return e.g;for(o=e.r,i=e.g,a=e.r,r=(o-i)/2+i;i+11&&(e.e.b+=e.a)):(e.e.a+=n.a,e.e.b=w.Math.max(e.e.b,n.b),e.d.c.length>1&&(e.e.a+=e.a))}function lVt(e){var t,n,i,r;switch(r=e.i,t=r.b,i=r.j,n=r.g,r.a.g){case 0:n.a=(e.g.b.o.a-i.a)/2;break;case 1:n.a=t.d.n.a+t.d.a.a;break;case 2:n.a=t.d.n.a+t.d.a.a-i.a;break;case 3:n.b=t.d.n.b+t.d.a.b}}function aVt(e,t,n){var i,r,o;for(r=new Qt(en(md(n).a.Kc(),new M));bn(r);)i=c(on(r),18),!ys(i)&&!(!ys(i)&&i.c.i.c==i.d.i.c)&&(o=xnt(e,i,n,new jLe),o.c.length>1&&Tt(t.c,o))}function _et(e,t,n,i,r){if(ii&&(e.a=i),e.br&&(e.b=r),e}function fVt(e){if(ce(e,143))return KWt(c(e,143));if(ce(e,233))return PFt(c(e,233));if(ce(e,23))return qzt(c(e,23));throw V(new Ft(epe+u0(new nu(J(W(Cr,1),Mt,1,5,[e])))))}function hVt(e,t,n,i,r){var o,a,h;for(o=!0,a=0;a>>r|n[a+i+1]<>>r,++a}return o}function Lae(e,t,n,i){var r,o,a;if(t.k==(Kt(),_r)){for(o=new Qt(en(Tr(t).a.Kc(),new M));bn(o);)if(r=c(on(o),18),a=r.c.i.k,a==_r&&e.c.a[r.c.i.c.p]==i&&e.c.a[t.c.p]==n)return!0}return!1}function dVt(e,t){var n,i,r,o;return t&=63,n=e.h&Sd,t<22?(o=n>>>t,r=e.m>>t|n<<22-t,i=e.l>>t|e.m<<22-t):t<44?(o=0,r=n>>>t-22,i=e.m>>t-22|e.h<<44-t):(o=0,r=0,i=n>>>t-44),wc(i&yu,r&yu,o&Sd)}function Oet(e,t,n,i){var r;this.b=i,this.e=e==(uw(),xS),r=t[n],this.d=lp(Su,[Oe,_h],[183,28],16,[r.length,r.length],2),this.a=lp(kn,[Oe,qn],[53,28],15,[r.length,r.length],2),this.c=new wae(t,n)}function pVt(e){var t,n,i;for(e.k=new Coe((qe(),J(W(ks,1),Ho,64,0,[ko,Ht,Xt,fn,qt])).length,e.j.c.length),i=new q(e.j);i.a=n)return ck(e,t,i.p),!0;return!1}function Jv(e,t,n,i){var r,o,a,h,p,b;for(a=n.length,o=0,r=-1,b=EWe((Bt(t,e.length+1),e.substr(t)),(MH(),Ype)),h=0;ho&&HMt(b,EWe(n[h],Ype))&&(r=h,o=p);return r>=0&&(i[0]=t+o),r}function Det(e){var t;return e.Db&64?Jz(e):(t=new Fu(q0e),!e.a||Hn(Hn((t.a+=' "',t),e.a),'"'),Hn(_g(Hn(_g(Hn(_g(Hn(_g((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function Ret(e,t,n){var i,r,o,a,h;for(h=kc(e.e.Dh(),t),r=c(e.g,124),i=0,a=0;an?Vae(e,n,"start index"):t<0||t>n?Vae(t,n,"end index"):cj("end index (%s) must not be less than start index (%s)",J(W(Cr,1),Mt,1,5,[De(t),De(e)]))}function Fet(e,t){var n,i,r,o;for(i=0,r=e.length;i0&&Bet(e,o,n));t.p=0}function Ze(e){var t;this.c=new Ai,this.f=e.e,this.e=e.d,this.i=e.g,this.d=e.c,this.b=e.b,this.k=e.j,this.a=e.a,e.i?this.j=e.i:this.j=(t=c(Fa(Fh),9),new ll(t,c(ha(t,t.length),9),0)),this.g=e.f}function yVt(e){var t,n,i,r;for(t=dp(Hn(new Fu("Predicates."),"and"),40),n=!0,r=new h6(e);r.b0?h[a-1]:ke(Rh,p1,10,0,0,1),r=h[a],b=a=0?e.ki(r):Xae(e,i);else throw V(new Ft(b0+i.xe()+Dj));else throw V(new Ft($ut+t+Fut));else bl(e,n,i)}function Dae(e){var t,n;if(n=null,t=!1,ce(e,211)&&(t=!0,n=c(e,211).a),t||ce(e,263)&&(t=!0,n=""+c(e,263).a),t||ce(e,493)&&(t=!0,n=""+c(e,493).a),!t)throw V(new hB(Z0e));return n}function Rae(e,t,n){var i,r,o,a,h,p;for(p=kc(e.e.Dh(),t),i=0,h=e.i,r=c(e.g,124),a=0;a=e.d.b.c.length&&(t=new Qo(e.d),t.p=i.p-1,$e(e.d.b,t),n=new Qo(e.d),n.p=i.p,$e(e.d.b,n)),zr(i,c(Je(e.d.b,i.p),30))}function Bae(e,t,n){var i,r,o;if(!e.b[t.g]){for(e.b[t.g]=!0,i=n,!i&&(i=new r7),$n(i.b,t),o=e.a[t.g].Kc();o.Ob();)r=c(o.Pb(),65),r.b!=t&&Bae(e,r.b,i),r.c!=t&&Bae(e,r.c,i),$n(i.a,r);return i}return null}function SVt(e){switch(e.g){case 0:case 1:case 2:return qe(),Ht;case 3:case 4:case 5:return qe(),fn;case 6:case 7:case 8:return qe(),qt;case 9:case 10:case 11:return qe(),Xt;default:return qe(),ko}}function EVt(e,t){var n;return e.c.length==0?!1:(n=nQe((St(0,e.c.length),c(e.c[0],18)).c.i),Hu(),n==(Yb(),L2)||n==O2?!0:Rv(Zs(new gt(null,new yt(e,16)),new CEe),new k_e(t)))}function eV(e,t){if(ce(t,207))return vEt(e,c(t,27));if(ce(t,193))return yEt(e,c(t,123));if(ce(t,452))return mEt(e,c(t,166));throw V(new Ft(epe+u0(new nu(J(W(Cr,1),Mt,1,5,[t])))))}function Uet(e,t,n){var i,r;if(this.f=e,i=c(Yt(e.b,t),260),r=i?i.a:0,rce(n,r),n>=(r/2|0))for(this.e=i?i.c:null,this.d=r;n++0;)Cce(this);this.b=t,this.a=null}function IVt(e,t){var n,i;t.a?oXt(e,t):(n=c(jB(e.b,t.b),60),n&&n==e.a[t.b.f]&&n.a&&n.a!=t.b.a&&n.c.Fc(t.b),i=c(kB(e.b,t.b),60),i&&e.a[i.f]==t.b&&i.a&&i.a!=t.b.a&&t.b.c.Fc(i),wH(e.b,t.b))}function Get(e,t){var n,i;if(n=c(Ls(e.b,t),127),c(c(pi(e.r,t),21),87).dc()){n.n.b=0,n.n.c=0;return}n.n.b=e.C.b,n.n.c=e.C.c,e.A.Hc((Lu(),og))&&vit(e,t),i=eHt(e,t),dV(e,t)==(zv(),A0)&&(i+=2*e.w),n.a.a=i}function Wet(e,t){var n,i;if(n=c(Ls(e.b,t),127),c(c(pi(e.r,t),21),87).dc()){n.n.d=0,n.n.a=0;return}n.n.d=e.C.d,n.n.a=e.C.a,e.A.Hc((Lu(),og))&&yit(e,t),i=ZBt(e,t),dV(e,t)==(zv(),A0)&&(i+=2*e.w),n.a.b=i}function NVt(e,t){var n,i,r,o;for(o=new Re,i=new q(t);i.ai&&(Bt(t-1,e.length),e.charCodeAt(t-1)<=32);)--t;return i>0||tn.a&&(i.Hc((Tp(),RS))?r=(t.a-n.a)/2:i.Hc($S)&&(r=t.a-n.a)),t.b>n.b&&(i.Hc((Tp(),BS))?o=(t.b-n.b)/2:i.Hc(FS)&&(o=t.b-n.b)),Eae(e,r,o)}function ttt(e,t,n,i,r,o,a,h,p,b,v,y,E){ce(e.Cb,90)&&nm(gu(c(e.Cb,90)),4),fc(e,n),e.f=a,W4(e,h),J4(e,p),G4(e,b),X4(e,v),o1(e,y),Y4(e,E),s1(e,!0),t1(e,r),e.Zk(o),Np(e,t),i!=null&&(e.i=null,TP(e,i))}function Vae(e,t,n){if(e<0)return cj(Qst,J(W(Cr,1),Mt,1,5,[n,De(e)]));if(t<0)throw V(new Ft(Zst+t));return cj("%s (%s) must not be greater than size (%s)",J(W(Cr,1),Mt,1,5,[n,De(e),De(t)]))}function Uae(e,t,n,i,r,o){var a,h,p,b;if(a=i-n,a<7){xFt(t,n,i,o);return}if(p=n+r,h=i+r,b=p+(h-p>>1),Uae(t,e,p,b,-r,o),Uae(t,e,b,h,-r,o),o.Ne(e[b-1],e[b])<=0){for(;n=0?e.bi(o,n):kfe(e,r,n);else throw V(new Ft(b0+r.xe()+Dj));else throw V(new Ft($ut+t+Fut));else ml(e,i,r,n)}function ntt(e){var t,n;if(e.f){for(;e.n>0;){if(t=c(e.k.Xb(e.n-1),76),n=t.Lk(),ce(n,102)&&c(n,19).Bb&Lo&&(!e.e||n.pk()!=N5||n.Lj()!=0)&&t.md()!=null)return!0;--e.n}return!1}else return e.n>0}function itt(e){var t,n,i,r;if(n=c(e,54)._h(),n)try{if(i=null,t=lk((q1(),ta),Kit(_Ft(n))),t&&(r=t.ai(),r&&(i=r.Fl(OSt(n.e)))),i&&i!=e)return itt(i)}catch(o){if(o=Ri(o),!ce(o,63))throw V(o)}return e}function qVt(e,t,n){var i,r,o;n.Ug("Remove overlaps",1),n.dh(t,n0e),i=c(Me(t,(Pv(),$2)),27),e.f=i,e.a=yz(c(Me(t,(a0(),RN)),300)),r=ye(Me(t,(Un(),rg))),$te(e,(Ut(r),r)),o=rm(i),ast(e,t,o,n),n.dh(t,KO)}function zVt(e){var t,n,i;if(Xe(We(Me(e,(Un(),GN))))){for(i=new Re,n=new Qt(en(xd(e).a.Kc(),new M));bn(n);)t=c(on(n),74),mw(t)&&Xe(We(Me(t,WY)))&&Tt(i.c,t);return i}else return jt(),jt(),vs}function rtt(e){if(!e)return nDe(),Fat;var t=e.valueOf?e.valueOf():e;if(t!==e){var n=KW[typeof t];return n?n(t):Lue(typeof t)}else return e instanceof Array||e instanceof w.Array?new Pte(e):new U9(e)}function stt(e,t,n){var i,r,o;switch(o=e.o,i=c(Ls(e.p,n),252),r=i.i,r.b=ej(i),r.a=Z8(i),r.b=w.Math.max(r.b,o.a),r.b>o.a&&!t&&(r.b=o.a),r.c=-(r.b-o.a)/2,n.g){case 1:r.d=-r.a;break;case 3:r.d=o.b}IV(i),NV(i)}function ott(e,t,n){var i,r,o;switch(o=e.o,i=c(Ls(e.p,n),252),r=i.i,r.b=ej(i),r.a=Z8(i),r.a=w.Math.max(r.a,o.b),r.a>o.b&&!t&&(r.a=o.b),r.d=-(r.a-o.b)/2,n.g){case 4:r.c=-r.b;break;case 2:r.c=o.a}IV(i),NV(i)}function VVt(e,t){var n,i,r,o,a;if(!t.dc()){if(r=c(t.Xb(0),131),t.gc()==1){Rnt(e,r,r,1,0,t);return}for(n=1;n0)try{r=Wu(t,os,ui)}catch(o){throw o=Ri(o),ce(o,130)?(i=o,V(new fP(i))):V(o)}return n=(!e.a&&(e.a=new JF(e)),e.a),r=0?c(le(n,r),58):null}function XVt(e,t){if(e<0)return cj(Qst,J(W(Cr,1),Mt,1,5,["index",De(e)]));if(t<0)throw V(new Ft(Zst+t));return cj("%s (%s) must be less than size (%s)",J(W(Cr,1),Mt,1,5,["index",De(e),De(t)]))}function JVt(e){var t,n,i,r,o;if(e==null)return Oc;for(o=new Sp(bs,"[","]"),n=e,i=0,r=n.length;i=0?e.Lh(n,!0,!0):vw(e,r,!0),160)),c(i,220).Zl(t);else throw V(new Ft(b0+t.xe()+Dj))}function Jae(e){var t,n;return e>-0x800000000000&&e<0x800000000000?e==0?0:(t=e<0,t&&(e=-e),n=kr(w.Math.floor(w.Math.log(e)/.6931471805599453)),(!t||e!=w.Math.pow(2,n))&&++n,n):xJe(Oo(e))}function fUt(e){var t,n,i,r,o,a,h;for(o=new Ff,n=new q(e);n.a2&&h.e.b+h.j.b<=2&&(r=h,i=a),o.a.zc(r,o),r.q=i);return o}function hUt(e,t,n){n.Ug("Eades radial",1),n.dh(t,KO),e.d=c(Me(t,(Pv(),$2)),27),e.c=pe(ye(Me(t,(a0(),QD)))),e.e=yz(c(Me(t,RN),300)),e.a=HFt(c(Me(t,x2e),434)),e.b=cqt(c(Me(t,b2e),354)),qKt(e),n.dh(t,KO)}function dUt(e,t){if(t.Ug("Target Width Setter",1),hf(e,(mf(),NY)))bi(e,(Nh(),Fm),ye(Me(e,NY)));else throw V(new Hd("A target width has to be set if the TargetWidthWidthApproximator should be used."));t.Vg()}function ftt(e,t){var n,i,r;return i=new yd(e),no(i,t),Ne(i,(Pe(),gD),t),Ne(i,(Ge(),Ji),(Br(),uc)),Ne(i,uh,(Eh(),aR)),np(i,(Kt(),rr)),n=new Go,bo(n,i),jr(n,(qe(),qt)),r=new Go,bo(r,i),jr(r,Xt),i}function htt(e){switch(e.g){case 0:return new lB((uw(),AN));case 1:return new NTe;case 2:return new CTe;default:throw V(new Ft("No implementation is available for the crossing minimizer "+(e.f!=null?e.f:""+e.g)))}}function dtt(e,t){var n,i,r,o,a;for(e.c[t.p]=!0,$e(e.a,t),a=new q(t.j);a.a=o)a.$b();else for(r=a.Kc(),i=0;i0?Lne():a<0&&btt(e,t,-a),!0):!1}function Z8(e){var t,n,i,r,o,a,h;if(h=0,e.b==0){for(a=YQe(e,!0),t=0,i=a,r=0,o=i.length;r0&&(h+=n,++t);t>1&&(h+=e.c*(t-1))}else h=pDe(jq(Db(di(zse(e.a),new Dl),new Cc)));return h>0?h+e.n.d+e.n.a:0}function ej(e){var t,n,i,r,o,a,h;if(h=0,e.b==0)h=pDe(jq(Db(di(zse(e.a),new tu),new Da)));else{for(a=QQe(e,!0),t=0,i=a,r=0,o=i.length;r0&&(h+=n,++t);t>1&&(h+=e.c*(t-1))}return h>0?h+e.n.b+e.n.c:0}function yUt(e){var t,n;if(e.c.length!=2)throw V(new qs("Order only allowed for two paths."));t=(St(0,e.c.length),c(e.c[0],18)),n=(St(1,e.c.length),c(e.c[1],18)),t.d.i!=n.c.i&&(e.c.length=0,Tt(e.c,n),Tt(e.c,t))}function mtt(e,t,n){var i;for(Iv(n,t.g,t.f),cl(n,t.i,t.j),i=0;i<(!t.a&&(t.a=new Ie(ti,t,10,11)),t.a).i;i++)mtt(e,c(le((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a),i),27),c(le((!n.a&&(n.a=new Ie(ti,n,10,11)),n.a),i),27))}function xUt(e,t){var n,i,r,o;for(o=c(Ls(e.b,t),127),n=o.a,r=c(c(pi(e.r,t),21),87).Kc();r.Ob();)i=c(r.Pb(),117),i.c&&(n.a=w.Math.max(n.a,xse(i.c)));if(n.a>0)switch(t.g){case 2:o.n.c=e.s;break;case 4:o.n.b=e.s}}function kUt(e,t){var n,i,r;return n=c(D(t,(ya(),$3)),17).a-c(D(e,$3),17).a,n==0?(i=Ir(Xr(c(D(e,(e0(),fN)),8)),c(D(e,eS),8)),r=Ir(Xr(c(D(t,fN),8)),c(D(t,eS),8)),xi(i.a*i.b,r.a*r.b)):n}function jUt(e,t){var n,i,r;return n=c(D(t,(Io(),GD)),17).a-c(D(e,GD),17).a,n==0?(i=Ir(Xr(c(D(e,(Si(),ON)),8)),c(D(e,w5),8)),r=Ir(Xr(c(D(t,ON),8)),c(D(t,w5),8)),xi(i.a*i.b,r.a*r.b)):n}function vtt(e){var t,n;return n=new B1,n.a+="e_",t=wRt(e),t!=null&&(n.a+=""+t),e.c&&e.d&&(Hn((n.a+=" ",n),x_(e.c)),Hn(Yo((n.a+="[",n),e.c.i),"]"),Hn((n.a+=JU,n),x_(e.d)),Hn(Yo((n.a+="[",n),e.d.i),"]")),n.a}function ytt(e){switch(e.g){case 0:return new RTe;case 1:return new $Te;case 2:return new LTe;case 3:return new OTe;default:throw V(new Ft("No implementation is available for the layout phase "+(e.f!=null?e.f:""+e.g)))}}function Zae(e,t,n,i,r){var o;switch(o=0,r.g){case 1:o=w.Math.max(0,t.b+e.b-(n.b+i));break;case 3:o=w.Math.max(0,-e.b-i);break;case 2:o=w.Math.max(0,-e.a-i);break;case 4:o=w.Math.max(0,t.a+e.a-(n.a+i))}return o}function SUt(e,t,n){var i,r,o,a,h;if(n)for(r=n.a.length,i=new fp(r),h=(i.b-i.a)*i.c<0?(z1(),F0):new G1(i);h.Ob();)a=c(h.Pb(),17),o=b4(n,a.a),G0e in o.a||aW in o.a?$Jt(e,o,t):inn(e,o,t),n7t(c(Yt(e.b,Z4(o)),74))}function efe(e){var t,n;switch(e.b){case-1:return!0;case 0:return n=e.t,n>1||n==-1?(e.b=-1,!0):(t=Kl(e),t&&(Ss(),t.lk()==Blt)?(e.b=-1,!0):(e.b=1,!1));default:case 1:return!1}}function tfe(e,t){var n,i,r,o;if(ri(e),e.c!=0||e.a!=123)throw V(new Ln(Rn((Pn(),ult))));if(o=t==112,i=e.d,n=Zx(e.i,125,i),n<0)throw V(new Ln(Rn((Pn(),llt))));return r=fl(e.i,i,n),e.d=n+1,KGe(r,o,(e.e&512)==512)}function xtt(e){var t,n,i,r,o,a,h;if(i=e.a.c.length,i>0)for(a=e.c.d,h=e.d.d,r=Bf(Ir(new Ae(h.a,h.b),a),1/(i+1)),o=new Ae(a.a,a.b),n=new q(e.a);n.a=0&&i=0?e.Lh(n,!0,!0):vw(e,r,!0),160)),c(i,220).Wl(t);throw V(new Ft(b0+t.xe()+tW))}function CUt(){iie();var e;return Svt?c(lk((q1(),ta),Ul),2038):(Gn(zp,new zCe),jen(),e=c(ce(Zo((q1(),ta),Ul),560)?Zo(ta,Ul):new Dqe,560),Svt=!0,Snn(e),Ann(e),Jn((nie(),lxe),e,new oCe),zs(ta,Ul,e),e)}function MUt(e,t){var n,i,r,o;e.j=-1,Mu(e.e)?(n=e.i,o=e.i!=0,i7(e,t),i=new hd(e.e,3,e.c,null,t,n,o),r=t.zl(e.e,e.c,null),r=ZZe(e,t,r),r?(r.nj(i),r.oj()):ai(e.e,i)):(i7(e,t),r=t.zl(e.e,e.c,null),r&&r.oj())}function A_(e,t){var n,i,r;if(r=0,i=t[0],i>=e.length)return-1;for(n=(Bt(i,e.length),e.charCodeAt(i));n>=48&&n<=57&&(r=r*10+(n-48),++i,!(i>=e.length));)n=(Bt(i,e.length),e.charCodeAt(i));return i>t[0]?t[0]=i:r=-1,r}function TUt(e){var t,n,i,r,o;return r=c(e.a,17).a,o=c(e.b,17).a,n=r,i=o,t=w.Math.max(w.Math.abs(r),w.Math.abs(o)),r<=0&&r==o?(n=0,i=o-1):r==-t&&o!=t?(n=o,i=r,o>=0&&++n):(n=-o,i=r),new xr(De(n),De(i))}function AUt(e,t,n,i){var r,o,a,h,p,b;for(r=0;r=0&&b>=0&&p=e.i)throw V(new Ks(hW+t+Hp+e.i));if(n>=e.i)throw V(new Ks(dW+n+Hp+e.i));return i=e.g[n],t!=n&&(t>16),t=i>>16&16,n=16-t,e=e>>t,i=e-256,t=i>>16&8,n+=t,e<<=t,i=e-fm,t=i>>16&4,n+=t,e<<=t,i=e-Yf,t=i>>16&2,n+=t,e<<=t,i=e>>14,t=i&~(i>>1),n+2-t)}function _Ut(e){Jy();var t,n,i,r;for(CL=new Re,fX=new hn,aX=new Re,t=(!e.a&&(e.a=new Ie(ti,e,10,11)),e.a),jtn(t),r=new Jt(t);r.e!=r.i.gc();)i=c(tn(r),27),to(CL,i,0)==-1&&(n=new Re,$e(aX,n),jQe(i,n));return aX}function OUt(e,t,n){var i,r,o,a;e.a=n.b.d,ce(t,326)?(r=Zv(c(t,74),!1,!1),o=Z7(r),i=new cPe(e),Qr(o,i),dI(o,r),t.of((Un(),Yw))!=null&&Qr(c(t.of(Yw),75),i)):(a=c(t,422),a.rh(a.nh()+e.a.a),a.sh(a.oh()+e.a.b))}function LUt(e,t){var n,i,r;for(r=new Re,i=wn(t.a,0);i.b!=i.d.c;)n=c(dn(i),65),n.c.g==e.g&&be(D(n.b,(Io(),ah)))!==be(D(n.c,ah))&&!Rv(new gt(null,new yt(r,16)),new O_e(n))&&Tt(r.c,n);return ir(r,new p7e),r}function jtt(e,t,n){var i,r,o,a;return ce(t,153)&&ce(n,153)?(o=c(t,153),a=c(n,153),e.a[o.a][a.a]+e.a[a.a][o.a]):ce(t,250)&&ce(n,250)&&(i=c(t,250),r=c(n,250),i.a==r.a)?c(D(r.a,(ya(),$3)),17).a:0}function Stt(e,t){var n,i,r,o,a,h,p,b;for(b=pe(ye(D(t,(Ge(),gS)))),p=e[0].n.a+e[0].o.a+e[0].d.c+b,h=1;h=0?n:(h=h8(Ir(new Ae(a.c+a.b/2,a.d+a.a/2),new Ae(o.c+o.b/2,o.d+o.a/2))),-(Jit(o,a)-1)*h)}function RUt(e,t,n){var i;Yi(new gt(null,(!n.a&&(n.a=new Ie(Pi,n,6,6)),new yt(n.a,16))),new R$e(e,t)),Yi(new gt(null,(!n.n&&(n.n=new Ie($s,n,1,7)),new yt(n.n,16))),new $$e(e,t)),i=c(Me(n,(Un(),Yw)),75),i&&rue(i,e,t)}function vw(e,t,n){var i,r,o;if(o=i2((Wc(),ts),e.Dh(),t),o)return Ss(),c(o,69).xk()||(o=Qy(Vs(ts,o))),r=(i=e.Ih(o),c(i>=0?e.Lh(i,!0,!0):vw(e,o,!0),160)),c(r,220).Sl(t,n);throw V(new Ft(b0+t.xe()+tW))}function nfe(e,t,n,i){var r,o,a,h,p;if(r=e.d[t],r){if(o=r.g,p=r.i,i!=null){for(h=0;h=n&&(i=t,b=(p.c+p.a)/2,a=b-n,p.c<=b-n&&(r=new _H(p.c,a),Vg(e,i++,r)),h=b+n,h<=p.a&&(o=new _H(h,p.a),$b(i,e.c.length),_6(e.c,i,o)))}function Ntt(e,t,n){var i,r,o,a,h,p;if(!t.dc()){for(r=new Ai,p=t.Kc();p.Ob();)for(h=c(p.Pb(),40),Jn(e.a,De(h.g),De(n)),a=(i=wn(new nd(h).a.d,0),new gv(i));Z9(a.a);)o=c(dn(a.a),65).c,Ui(r,o,r.c.b,r.c);Ntt(e,r,n+1)}}function ife(e){var t;if(!e.c&&e.g==null)e.d=e.bj(e.f),yn(e,e.d),t=e.d;else{if(e.g==null)return!0;if(e.i==0)return!1;t=c(e.g[e.i-1],51)}return t==e.b&&null.Vm>=null.Um()?(O_(e),ife(e)):t.Ob()}function Ctt(e){if(this.a=e,e.c.i.k==(Kt(),rr))this.c=e.c,this.d=c(D(e.c.i,(Pe(),Ao)),64);else if(e.d.i.k==rr)this.c=e.d,this.d=c(D(e.d.i,(Pe(),Ao)),64);else throw V(new Ft("Edge "+e+" is not an external edge."))}function Mtt(e,t){var n,i,r;r=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,3,r,e.b)),t?t!=e&&(fc(e,t.zb),hq(e,t.d),n=(i=t.c,i??t.zb),pq(e,n==null||wt(n,t.zb)?null:n)):(fc(e,null),hq(e,0),pq(e,null))}function Ttt(e,t){var n;this.e=(Xg(),Tn(e),Xg(),ble(e)),this.c=(Tn(t),ble(t)),ore(this.e.Rd().dc()==this.c.Rd().dc()),this.d=qYe(this.e),this.b=qYe(this.c),n=lp(Cr,[Oe,Mt],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=n,hDt(this)}function Att(e){!BW&&(BW=Ltn());var t=e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){return FAt(n)});return'"'+t+'"'}function rfe(e,t,n,i,r,o){var a,h,p,b,v;if(r!=0)for(be(e)===be(n)&&(e=e.slice(t,t+r),t=0),p=n,h=t,b=t+r;h=a)throw V(new Pb(t,a));return r=n[t],a==1?i=null:(i=ke(gQ,mW,424,a-1,0,1),Wo(n,0,i,0,t),o=a-t-1,o>0&&Wo(n,t+1,i,t,o)),ek(e,i),ett(e,t,r),r}function _tt(e){var t,n;if(e.f){for(;e.n0?o=l3(n):o=$7(l3(n))),bi(t,l5,o)}function zUt(e,t){var n;t.Ug("Partition preprocessing",1),n=c(co(di(mo(di(new gt(null,new yt(e.a,16)),new wSe),new bSe),new mSe),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)]))),15),Yi(n.Oc(),new vSe),t.Vg()}function VUt(e,t){var n,i,r,o,a;for(a=e.j,t.a!=t.b&&ir(a,new X9e),r=a.c.length/2|0,i=0;i0&&aI(e,n,t),o):i.a!=null?(aI(e,t,n),-1):r.a!=null?(aI(e,n,t),1):0}function GUt(e,t){var n,i,r,o,a;for(r=t.b.b,e.a=ke(Il,hm,15,r,0,1),e.b=ke(Su,_h,28,r,16,1),a=wn(t.b,0);a.b!=a.d.c;)o=c(dn(a),40),e.a[o.g]=new Ai;for(i=wn(t.a,0);i.b!=i.d.c;)n=c(dn(i),65),e.a[n.b.g].Fc(n),e.a[n.c.g].Fc(n)}function Rtt(e,t){var n,i,r,o;e.Pj()?(n=e.Ej(),o=e.Qj(),++e.j,e.qj(n,e.Zi(n,t)),i=e.Ij(3,null,t,n,o),e.Mj()?(r=e.Nj(t,null),r?(r.nj(i),r.oj()):e.Jj(i)):e.Jj(i)):(Eqe(e,t),e.Mj()&&(r=e.Nj(t,null),r&&r.oj()))}function sfe(e,t,n){var i,r,o;e.Pj()?(o=e.Qj(),O7(e,t,n),i=e.Ij(3,null,n,t,o),e.Mj()?(r=e.Nj(n,null),e.Tj()&&(r=e.Uj(n,r)),r?(r.nj(i),r.oj()):e.Jj(i)):e.Jj(i)):(O7(e,t,n),e.Mj()&&(r=e.Nj(n,null),r&&r.oj()))}function P_(e,t){var n,i,r,o,a;for(a=kc(e.e.Dh(),t),r=new _M,n=c(e.g,124),o=e.i;--o>=0;)i=n[o],a.am(i.Lk())&&yn(r,i);!Pst(e,r)&&Mu(e.e)&&Bx(e,t.Jk()?Y1(e,6,t,(jt(),vs),null,-1,!1):Y1(e,t.tk()?2:1,t,null,null,-1,!1))}function WUt(e,t){var n,i,r,o,a;return e.a==(ok(),rS)?!0:(o=t.a.c,n=t.a.c+t.a.b,!(t.j&&(i=t.A,a=i.c.c.a-i.o.a/2,r=o-(i.n.a+i.o.a),r>a)||t.q&&(i=t.C,a=i.c.c.a-i.o.a/2,r=i.n.a-n,r>a)))}function $tt(e){NK();var t,n,i,r,o,a,h;for(n=new Yd,r=new q(e.e.b);r.a1?e.e*=pe(e.a):e.f/=pe(e.a),w$t(e),kBt(e),vJt(e),Ne(e.b,(z8(),NL),e.g)}function Ktt(e,t,n){var i,r,o,a,h,p;for(i=0,p=n,t||(i=n*(e.c.length-1),p*=-1),o=new q(e);o.a=0?e.Ah(null):e.Ph().Th(e,-1-t,null,null)),e.Bh(c(r,54),n),i&&i.oj(),e.vh()&&e.wh()&&n>-1&&ai(e,new Pr(e,9,n,o,r)),r):o}function ufe(e,t){var n,i,r,o,a;for(o=e.b.Ce(t),i=(n=e.a.get(o),n??ke(Cr,Mt,1,0,5,1)),a=0;a>5,r>=e.d)return e.e<0;if(n=e.a[r],t=1<<(t&31),e.e<0){if(i=eJe(e),r>16)),15).dd(o),h0&&(!(rd(e.a.c)&&t.n.d)&&!(Ev(e.a.c)&&t.n.b)&&(t.g.d+=w.Math.max(0,i/2-.5)),!(rd(e.a.c)&&t.n.a)&&!(Ev(e.a.c)&&t.n.c)&&(t.g.a-=i-1))}function Ytt(e){var t,n,i,r,o;if(r=new Re,o=Uit(e,r),t=c(D(e,(Pe(),lu)),10),t)for(i=new q(t.j);i.a>t,o=e.m>>t|n<<22-t,r=e.l>>t|e.m<<22-t):t<44?(a=i?Sd:0,o=n>>t-22,r=e.m>>t-22|n<<44-t):(a=i?Sd:0,o=i?yu:0,r=n>>t-44),wc(r&yu,o&yu,a&Sd)}function cV(e){var t,n,i,r,o,a;for(this.c=new Re,this.d=e,i=Li,r=Li,t=br,n=br,a=wn(e,0);a.b!=a.d.c;)o=c(dn(a),8),i=w.Math.min(i,o.a),r=w.Math.min(r,o.b),t=w.Math.max(t,o.a),n=w.Math.max(n,o.b);this.a=new al(i,r,t-i,n-r)}function Ztt(e,t){var n,i,r,o,a,h;for(o=new q(e.b);o.a0&&ce(t,44)&&(e.a._j(),b=c(t,44),p=b.ld(),o=p==null?0:Ei(p),a=_re(e.a,o),n=e.a.d[a],n)){for(i=c(n.g,379),v=n.i,h=0;h=2)for(n=r.Kc(),t=ye(n.Pb());n.Ob();)o=t,t=ye(n.Pb()),i=w.Math.min(i,(Ut(t),t-(Ut(o),o)));return i}function wGt(e,t){var n,i,r;for(r=new Re,i=wn(t.a,0);i.b!=i.d.c;)n=c(dn(i),65),n.b.g==e.g&&!wt(n.b.c,BO)&&be(D(n.b,(Io(),ah)))!==be(D(n.c,ah))&&!Rv(new gt(null,new yt(r,16)),new L_e(n))&&Tt(r.c,n);return ir(r,new m7e),r}function bGt(e,t){var n,i,r;if(be(t)===be(Tn(e)))return!0;if(!ce(t,15)||(i=c(t,15),r=e.gc(),r!=i.gc()))return!1;if(ce(i,59)){for(n=0;n0&&(r=n),a=new q(e.f.e);a.a0?(t-=1,n-=1):i>=0&&r<0?(t+=1,n+=1):i>0&&r>=0?(t-=1,n+=1):(t+=1,n-=1),new xr(De(t),De(n))}function AGt(e,t){return e.ct.c?1:e.bt.b?1:e.a!=t.a?Ei(e.a)-Ei(t.a):e.d==(v8(),jS)&&t.d==kS?-1:e.d==kS&&t.d==jS?1:0}function ont(e,t){var n,i,r,o,a;return o=t.a,o.c.i==t.b?a=o.d:a=o.c,o.c.i==t.b?i=o.c:i=o.d,r=ZFt(e.a,a,i),r>0&&r0):r<0&&-r0):!1}function PGt(e,t,n,i){var r,o,a,h,p,b,v,y;for(r=(t-e.d)/e.c.c.length,o=0,e.a+=n,e.d=t,y=new q(e.c);y.a>24;return a}function OGt(e){if(e.ze()){var t=e.c;t.Ae()?e.o="["+t.n:t.ze()?e.o="["+t.xe():e.o="[L"+t.xe()+";",e.b=t.we()+"[]",e.k=t.ye()+"[]";return}var n=e.j,i=e.d;i=i.split("/"),e.o=fz(".",[n,fz("$",i)]),e.b=fz(".",[n,fz(".",i)]),e.k=i[i.length-1]}function LGt(e,t){var n,i,r,o,a;for(a=null,o=new q(e.e.a);o.a=0;t-=2)for(n=0;n<=t;n+=2)(e.b[n]>e.b[n+2]||e.b[n]===e.b[n+2]&&e.b[n+1]>e.b[n+3])&&(i=e.b[n+2],e.b[n+2]=e.b[n],e.b[n]=i,i=e.b[n+3],e.b[n+3]=e.b[n+1],e.b[n+1]=i);e.c=!0}}function $Gt(e,t){var n,i,r,o,a,h,p,b,v;for(b=-1,v=0,a=e,h=0,p=a.length;h0&&++v;++b}return v}function ma(e){var t,n;return n=new Fu(cp(e.Rm)),n.a+="@",Hn(n,(t=Ei(e)>>>0,t.toString(16))),e.Vh()?(n.a+=" (eProxyURI: ",Yo(n,e._h()),e.Kh()&&(n.a+=" eClass: ",Yo(n,e.Kh())),n.a+=")"):e.Kh()&&(n.a+=" (eClass: ",Yo(n,e.Kh()),n.a+=")"),n.a}function ij(e){var t,n,i,r;if(e.e)throw V(new qs((sd(ZW),TU+ZW.k+AU)));for(e.d==(ar(),Mf)&&eO(e,Js),n=new q(e.a.a);n.a>24}return n}function HGt(e,t,n){var i,r,o;if(r=c(Ls(e.i,t),314),!r)if(r=new zWe(e.d,t,n),Uy(e.i,t,r),kle(t))VEt(e.a,t.c,t.b,r);else switch(o=SVt(t),i=c(Ls(e.p,o),252),o.g){case 1:case 3:r.j=!0,fB(i,t.b,r);break;case 4:case 2:r.k=!0,fB(i,t.c,r)}return r}function KGt(e,t){var n,i,r,o,a,h,p,b,v;for(p=mh(e.c-e.b&e.a.length-1),b=null,v=null,o=new p8(e);o.a!=o.b;)r=c(UP(o),10),n=(h=c(D(r,(Pe(),Za)),12),h?h.i:null),i=(a=c(D(r,Xl),12),a?a.i:null),(b!=n||v!=i)&&(qtt(p,t),b=n,v=i),Tt(p.c,r);qtt(p,t)}function qGt(e,t,n,i){var r,o,a,h,p,b;if(h=new _M,p=kc(e.e.Dh(),t),r=c(e.g,124),Ss(),c(t,69).xk())for(a=0;a=0)return r;for(o=1,h=new q(t.j);h.a=0)return r;for(o=1,h=new q(t.j);h.a0&&t.Ne((St(r-1,e.c.length),c(e.c[r-1],10)),o)>0;)dl(e,r,(St(r-1,e.c.length),c(e.c[r-1],10))),--r;St(r,e.c.length),e.c[r]=o}n.a=new hn,n.b=new hn}function zGt(e,t,n){var i,r,o,a,h,p,b,v;for(v=(i=c(t.e&&t.e(),9),new ll(i,c(ha(i,i.length),9),0)),p=cm(n,"[\\[\\]\\s,]+"),o=p,a=0,h=o.length;a=0?(t||(t=new j6,i>0&&Os(t,(Ur(0,i,e.length),e.substr(0,i)))),t.a+="\\",a4(t,n&fr)):t&&a4(t,n&fr);return t?t.a:e}function UGt(e){var t,n,i;for(n=new q(e.a.a.b);n.a0&&(!(rd(e.a.c)&&t.n.d)&&!(Ev(e.a.c)&&t.n.b)&&(t.g.d-=w.Math.max(0,i/2-.5)),!(rd(e.a.c)&&t.n.a)&&!(Ev(e.a.c)&&t.n.c)&&(t.g.a+=w.Math.max(0,i-1)))}function gnt(e,t,n){var i,r;if((e.c-e.b&e.a.length-1)==2)t==(qe(),Ht)||t==Xt?(mP(c(A8(e),15),(Gu(),Bh)),mP(c(A8(e),15),T0)):(mP(c(A8(e),15),(Gu(),T0)),mP(c(A8(e),15),Bh));else for(r=new p8(e);r.a!=r.b;)i=c(UP(r),15),mP(i,n)}function GGt(e,t){var n,i,r,o,a,h,p;for(r=s4(new nne(e)),h=new Vr(r,r.c.length),o=s4(new nne(t)),p=new Vr(o,o.c.length),a=null;h.b>0&&p.b>0&&(n=(rn(h.b>0),c(h.a.Xb(h.c=--h.b),27)),i=(rn(p.b>0),c(p.a.Xb(p.c=--p.b),27)),n==i);)a=n;return a}function wnt(e,t,n){var i,r,o,a;gVe(e,t)>gVe(e,n)?(i=yo(n,(qe(),Xt)),e.d=i.dc()?0:FH(c(i.Xb(0),12)),a=yo(t,qt),e.b=a.dc()?0:FH(c(a.Xb(0),12))):(r=yo(n,(qe(),qt)),e.d=r.dc()?0:FH(c(r.Xb(0),12)),o=yo(t,Xt),e.b=o.dc()?0:FH(c(o.Xb(0),12)))}function bnt(e,t){var n,i,r,o;for(n=e.o.a,o=c(c(pi(e.r,t),21),87).Kc();o.Ob();)r=c(o.Pb(),117),r.e.a=n*pe(ye(r.b.of(SL))),r.e.b=(i=r.b,i.pf((Un(),ju))?i.ag()==(qe(),Ht)?-i.Mf().b-pe(ye(i.of(ju))):pe(ye(i.of(ju))):i.ag()==(qe(),Ht)?-i.Mf().b:0)}function WGt(e,t){var n,i,r,o;for(t.Ug("Self-Loop pre-processing",1),i=new q(e.a);i.ae.c));a++)r.a>=e.s&&(o<0&&(o=a),h=a);return p=(e.s+e.c)/2,o>=0&&(i=DJt(e,t,o,h),p=O9t((St(i,t.c.length),c(t.c[i],339))),HUt(t,i,n)),p}function Nn(e,t,n){var i,r,o,a,h,p,b;for(a=(o=new kte,o),Jce(a,(Ut(t),t)),b=(!a.b&&(a.b=new Au((kt(),js),Po,a)),a.b),p=1;p0&&PZt(this,r)}function vfe(e,t,n,i,r,o){var a,h,p;if(!r[t.a]){for(r[t.a]=!0,a=i,!a&&(a=new nP),$e(a.e,t),p=o[t.a].Kc();p.Ob();)h=c(p.Pb(),290),!(h.d==n||h.c==n)&&(h.c!=t&&vfe(e,h.c,t,a,r,o),h.d!=t&&vfe(e,h.d,t,a,r,o),$e(a.c,h),wr(a.d,h.b));return a}return null}function YGt(e){var t,n,i,r,o,a,h;for(t=0,r=new q(e.e);r.a=2}function QGt(e,t,n,i,r){var o,a,h,p,b,v;for(o=e.c.d.j,a=c(xl(n,0),8),v=1;v1||(t=Ci(Na,J(W(Ps,1),Ce,95,0,[Td,Ca])),k7(qA(t,e))>1)||(i=Ci(Ta,J(W(Ps,1),Ce,95,0,[Hh,Yl])),k7(qA(i,e))>1))}function yfe(e,t,n){var i,r,o;for(o=new q(e.t);o.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&$n(t,i.b));for(r=new q(e.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&$n(n,i.a))}function O_(e){var t,n,i,r,o;if(e.g==null&&(e.d=e.bj(e.f),yn(e,e.d),e.c))return o=e.f,o;if(t=c(e.g[e.i-1],51),r=t.Pb(),e.e=t,n=e.bj(r),n.Ob())e.d=n,yn(e,n);else for(e.d=null;!t.Ob()&&(Vi(e.g,--e.i,null),e.i!=0);)i=c(e.g[e.i-1],51),t=i;return r}function eWt(e,t){var n,i,r,o,a,h;if(i=t,r=i.Lk(),kd(e.e,r)){if(r.Si()&&YA(e,r,i.md()))return!1}else for(h=kc(e.e.Dh(),r),n=c(e.g,124),o=0;o1||n>1)return 2;return t+n==1?2:0}function mu(e,t){var n,i,r,o,a,h;return o=e.a*IU+e.b*1502,h=e.b*IU+11,n=w.Math.floor(h*TI),o+=n,h-=n*zhe,o%=zhe,e.a=o,e.b=h,t<=24?w.Math.floor(e.a*Zpe[t]):(r=e.a*(1<=2147483648&&(i-=4294967296),i)}function knt(e,t,n){var i,r,o,a,h,p,b;for(o=new Re,b=new Ai,a=new Ai,kQt(e,b,a,t),een(e,b,a,t,n),p=new q(e);p.ai.b.g&&Tt(o.c,i);return o}function oWt(e,t,n){var i,r,o,a,h,p;for(h=e.c,a=(n.q?n.q:(jt(),jt(),Lh)).vc().Kc();a.Ob();)o=c(a.Pb(),44),i=!Ux(di(new gt(null,new yt(h,16)),new Rx(new T$e(t,o)))).Bd((up(),R3)),i&&(p=o.md(),ce(p,4)&&(r=Ele(p),r!=null&&(p=r)),t.qf(c(o.ld(),149),p))}function cWt(e,t,n){var i,r;if(zE(e.b),Ka(e.b,(R7(),iR),(C6(),KN)),Ka(e.b,rR,t.g),Ka(e.b,sR,t.a),e.a=wI(e.b,t),n.Ug("Compaction by shrinking a tree",e.a.c.length),t.i.c.length>1)for(r=new q(e.a);r.a=0?e.Lh(i,!0,!0):vw(e,o,!0),160)),c(r,220).Xl(t,n)}else throw V(new Ft(b0+t.xe()+Dj))}function L_(e,t){var n,i,r,o,a;if(t){for(o=ce(e.Cb,90)||ce(e.Cb,102),a=!o&&ce(e.Cb,331),i=new Jt((!t.a&&(t.a=new r8(t,_s,t)),t.a));i.e!=i.i.gc();)if(n=c(tn(i),89),r=W_(n),o?ce(r,90):a?ce(r,156):r)return r;return o?(kt(),na):(kt(),Pf)}else return null}function uWt(e,t){var n,i,r,o;for(t.Ug("Resize child graph to fit parent.",1),i=new q(e.b);i.a=2*t&&$e(n,new _H(a[i-1]+t,a[i]-t));return n}function fWt(e,t,n){var i,r,o,a,h,p,b,v;if(n)for(o=n.a.length,i=new fp(o),h=(i.b-i.a)*i.c<0?(z1(),F0):new G1(i);h.Ob();)a=c(h.Pb(),17),r=b4(n,a.a),r&&(p=H_t(e,(b=(K1(),v=new xne,v),t&&jfe(b,t),b),r),A4(p,ud(r,sh)),I_(r,p),Gae(r,p),Oq(e,r,p))}function D_(e){var t,n,i,r,o,a;if(!e.j){if(a=new WNe,t=t9,o=t.a.zc(e,t),o==null){for(i=new Jt(eo(e));i.e!=i.i.gc();)n=c(tn(i),29),r=D_(n),Wi(a,r),yn(a,n);t.a.Bc(e)!=null}Gb(a),e.j=new jv((c(le(Se((X1(),Ot).o),11),19),a.i),a.g),gu(e).b&=-33}return e.j}function hWt(e){var t,n,i,r;if(e==null)return null;if(i=nc(e,!0),r=eN.length,wt(i.substr(i.length-r,r),eN)){if(n=i.length,n==4){if(t=(Bt(0,i.length),i.charCodeAt(0)),t==43)return Mxe;if(t==45)return Vvt}else if(n==3)return Mxe}return new ane(i)}function dWt(e){var t,n,i;return n=e.l,n&n-1||(i=e.m,i&i-1)||(t=e.h,t&t-1)||t==0&&i==0&&n==0?-1:t==0&&i==0&&n!=0?Bce(n):t==0&&i!=0&&n==0?Bce(i)+22:t!=0&&i==0&&n==0?Bce(t)+44:-1}function Qv(e,t){var n,i,r,o,a;for(r=t.a&e.f,o=null,i=e.b[r];;i=i.b){if(i==t){o?o.b=t.b:e.b[r]=t.b;break}o=i}for(a=t.f&e.f,o=null,n=e.c[a];;n=n.d){if(n==t){o?o.d=t.d:e.c[a]=t.d;break}o=n}t.e?t.e.c=t.c:e.a=t.c,t.c?t.c.e=t.e:e.e=t.e,--e.i,++e.g}function pWt(e,t){var n;t.d?t.d.b=t.b:e.a=t.b,t.b?t.b.d=t.d:e.e=t.d,!t.e&&!t.c?(n=c(Fl(c(t3(e.b,t.a),260)),260),n.a=0,++e.c):(n=c(Fl(c(Yt(e.b,t.a),260)),260),--n.a,t.e?t.e.c=t.c:n.b=c(Fl(t.c),511),t.c?t.c.e=t.e:n.c=c(Fl(t.e),511)),--e.d}function gWt(e){var t,n,i,r,o,a,h,p,b,v;for(n=e.o,t=e.p,a=ui,r=os,h=ui,o=os,b=0;b0),o.a.Xb(o.c=--o.b),Ab(o,r),rn(o.b3&&Sh(e,0,t-3))}function bWt(e){var t,n,i,r;return be(D(e,(Ge(),Tm)))===be((wd(),E1))?!e.e&&be(D(e,SN))!==be((R4(),mN)):(i=c(D(e,pJ),299),r=Xe(We(D(e,gJ)))||be(D(e,hS))===be((E8(),bN)),t=c(D(e,ume),17).a,n=e.a.c.length,!r&&i!=(R4(),mN)&&(t==0||t>n))}function mWt(e){var t,n;for(n=0;n0);n++);if(n>0&&n0);t++);return t>0&&n>16!=6&&t){if(nk(e,t))throw V(new Ft(Rj+Ftt(e)));i=null,e.Cb&&(i=(n=e.Db>>16,n>=0?Ule(e,i):e.Cb.Th(e,-1-n,null,i))),t&&(i=h3(t,e,6,i)),i=Tre(e,t,i),i&&i.oj()}else e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,6,t,t))}function R_(e,t){var n,i;if(t!=e.Cb||e.Db>>16!=3&&t){if(nk(e,t))throw V(new Ft(Rj+Irt(e)));i=null,e.Cb&&(i=(n=e.Db>>16,n>=0?Jle(e,i):e.Cb.Th(e,-1-n,null,i))),t&&(i=h3(t,e,12,i)),i=Are(e,t,i),i&&i.oj()}else e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,3,t,t))}function jfe(e,t){var n,i;if(t!=e.Cb||e.Db>>16!=9&&t){if(nk(e,t))throw V(new Ft(Rj+Sit(e)));i=null,e.Cb&&(i=(n=e.Db>>16,n>=0?Wle(e,i):e.Cb.Th(e,-1-n,null,i))),t&&(i=h3(t,e,9,i)),i=Pre(e,t,i),i&&i.oj()}else e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,9,t,t))}function ak(e){var t,n,i,r,o;if(i=Kl(e),o=e.j,o==null&&i)return e.Jk()?null:i.ik();if(ce(i,156)){if(n=i.jk(),n&&(r=n.wi(),r!=e.i)){if(t=c(i,156),t.nk())try{e.g=r.ti(t,o)}catch(a){if(a=Ri(a),ce(a,82))e.g=null;else throw V(a)}e.i=r}return e.g}return null}function Int(e){var t;return t=new Re,$e(t,new Ay(new Ae(e.c,e.d),new Ae(e.c+e.b,e.d))),$e(t,new Ay(new Ae(e.c,e.d),new Ae(e.c,e.d+e.a))),$e(t,new Ay(new Ae(e.c+e.b,e.d+e.a),new Ae(e.c+e.b,e.d))),$e(t,new Ay(new Ae(e.c+e.b,e.d+e.a),new Ae(e.c,e.d+e.a))),t}function vWt(e){var t,n,i;if(e==null)return Oc;try{return uo(e)}catch(r){if(r=Ri(r),ce(r,103))return t=r,i=cp(Ou(e))+"@"+(n=(id(),Sle(e)>>>0),n.toString(16)),_Bt(mRt(),(Jx(),"Exception during lenientFormat for "+i),t),"<"+i+" threw "+cp(t.Rm)+">";throw V(r)}}function yWt(e,t,n){var i,r,o;for(o=t.a.ec().Kc();o.Ob();)r=c(o.Pb(),74),i=c(Yt(e.b,r),272),!i&&(Oi(Ih(r))==Oi(c0(r))?cXt(e,r,n):Ih(r)==Oi(c0(r))?Yt(e.c,r)==null&&Yt(e.b,c0(r))!=null&&rst(e,r,n,!1):Yt(e.d,r)==null&&Yt(e.b,Ih(r))!=null&&rst(e,r,n,!0))}function xWt(e,t){var n,i,r,o,a,h,p;for(r=e.Kc();r.Ob();)for(i=c(r.Pb(),10),h=new Go,bo(h,i),jr(h,(qe(),Xt)),Ne(h,(Pe(),wD),(_t(),!0)),a=t.Kc();a.Ob();)o=c(a.Pb(),10),p=new Go,bo(p,o),jr(p,qt),Ne(p,wD,!0),n=new ew,Ne(n,wD,!0),ls(n,h),Fr(n,p)}function kWt(e,t,n,i){var r,o,a,h;r=uQe(e,t,n),o=uQe(e,n,t),a=c(Yt(e.c,t),118),h=c(Yt(e.c,n),118),r1)for(t=Hg((n=new op,++e.b,n),e.d),h=wn(o,0);h.b!=h.d.c;)a=c(dn(h),125),va(la(ua(aa(ca(new Rl,1),0),t),a))}function EWt(e,t,n){var i,r,o,a,h;for(n.Ug("Breaking Point Removing",1),e.a=c(D(t,(Ge(),Md)),223),o=new q(t.b);o.a>16!=11&&t){if(nk(e,t))throw V(new Ft(Rj+qfe(e)));i=null,e.Cb&&(i=(n=e.Db>>16,n>=0?Yle(e,i):e.Cb.Th(e,-1-n,null,i))),t&&(i=h3(t,e,10,i)),i=Hre(e,t,i),i&&i.oj()}else e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,11,t,t))}function IWt(e){var t,n,i,r;for(i=new jp(new rp(e.b).a);i.b;)n=aw(i),r=c(n.ld(),12),t=c(n.md(),10),Ne(t,(Pe(),gi),r),Ne(r,lu,t),Ne(r,xN,(_t(),!0)),jr(r,c(D(t,Ao),64)),D(t,Ao),Ne(r.i,(Ge(),Ji),(Br(),E5)),c(D(Yr(r.i),cc),21).Fc((Cs(),s5))}function NWt(e,t,n){var i,r,o,a,h,p;if(o=0,a=0,e.c)for(p=new q(e.d.i.j);p.ao.a?-1:r.ap){for(v=e.d,e.d=ke(exe,lpe,66,2*p+4,0,1),o=0;o=9223372036854776e3?(j4(),Tpe):(r=!1,e<0&&(r=!0,e=-e),i=0,e>=Op&&(i=kr(e/Op),e-=i*Op),n=0,e>=E3&&(n=kr(e/E3),e-=n*E3),t=kr(e),o=wc(t,n,i),r&&Lq(o),o)}function $Wt(e){var t,n,i,r,o;if(o=new Re,mc(e.b,new QAe(o)),e.b.c.length=0,o.c.length!=0){for(t=(St(0,o.c.length),c(o.c[0],82)),n=1,i=o.c.length;n=-t&&i==t?new xr(De(n-1),De(i)):new xr(De(n),De(i-1))}function Mnt(){return hs(),J(W(Jnn,1),Ce,81,0,[bwe,pwe,y2,NX,Dwe,BL,JL,Em,Owe,Ewe,Pwe,Sm,Lwe,kwe,Rwe,uwe,zL,CX,$L,GL,Fwe,UL,lwe,_we,Bwe,WL,$we,FL,vwe,Twe,Mwe,YL,hwe,RL,KL,fwe,Wk,Nwe,jwe,Awe,tS,gwe,dwe,Cwe,Swe,qL,XL,awe,VL,Iwe,HL,ywe,mwe,pN,DL,xwe,wwe])}function HWt(e,t,n){e.d=0,e.b=0,t.k==(Kt(),oc)&&n.k==oc&&c(D(t,(Pe(),gi)),10)==c(D(n,gi),10)&&(tq(t).j==(qe(),Ht)?wnt(e,t,n):wnt(e,n,t)),t.k==oc&&n.k==_r?tq(t).j==(qe(),Ht)?e.d=1:e.b=1:n.k==oc&&t.k==_r&&(tq(n).j==(qe(),Ht)?e.b=1:e.d=1),EHt(e,t,n)}function KWt(e){var t,n,i,r,o,a,h,p,b,v,y;return y=xae(e),t=e.a,p=t!=null,p&&o4(y,"category",e.a),r=tE(new ip(e.d)),a=!r,a&&(b=new tp,Ua(y,"knownOptions",b),n=new _Oe(b),Qr(new ip(e.d),n)),o=tE(e.g),h=!o,h&&(v=new tp,Ua(y,"supportedFeatures",v),i=new OOe(v),Qr(e.g,i)),y}function qWt(e){var t,n,i,r,o,a,h,p,b;for(i=!1,t=336,n=0,o=new wHe(e.length),h=e,p=0,b=h.length;p>16!=7&&t){if(nk(e,t))throw V(new Ft(Rj+Det(e)));i=null,e.Cb&&(i=(n=e.Db>>16,n>=0?Gle(e,i):e.Cb.Th(e,-1-n,null,i))),t&&(i=c(t,54).Rh(e,1,cC,i)),i=Ose(e,t,i),i&&i.oj()}else e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,7,t,t))}function Tnt(e,t){var n,i;if(t!=e.Cb||e.Db>>16!=3&&t){if(nk(e,t))throw V(new Ft(Rj+PYe(e)));i=null,e.Cb&&(i=(n=e.Db>>16,n>=0?Xle(e,i):e.Cb.Th(e,-1-n,null,i))),t&&(i=c(t,54).Rh(e,0,lC,i)),i=Lse(e,t,i),i&&i.oj()}else e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,3,t,t))}function hV(e,t){fk();var n,i,r,o,a,h,p,b,v;return t.d>e.d&&(h=e,e=t,t=h),t.d<63?AXt(e,t):(a=(e.d&-2)<<4,b=ece(e,a),v=ece(t,a),i=PV(e,e3(b,a)),r=PV(t,e3(v,a)),p=hV(b,v),n=hV(i,r),o=hV(PV(b,i),PV(r,v)),o=FV(FV(o,p),n),o=e3(o,a),p=e3(p,a<<1),FV(FV(p,o),n))}function h1(){h1=U,MJ=new vv(Oct,0),Wme=new vv("LONGEST_PATH",1),Xme=new vv("LONGEST_PATH_SOURCE",2),CJ=new vv("COFFMAN_GRAHAM",3),Gme=new vv(tG,4),Jme=new vv("STRETCH_WIDTH",5),OD=new vv("MIN_WIDTH",6),d5=new vv("BF_MODEL_ORDER",7),p5=new vv("DF_MODEL_ORDER",8)}function VWt(e,t,n){var i,r,o,a,h;for(a=D8(e,n),h=ke(Rh,p1,10,t.length,0,1),i=0,o=a.Kc();o.Ob();)r=c(o.Pb(),12),Xe(We(D(r,(Pe(),xN))))&&(h[i++]=c(D(r,lu),10));if(i=0;o+=n?1:-1)a=a|t.c.lg(p,o,n,i&&!Xe(We(D(t.j,(Pe(),j0))))&&!Xe(We(D(t.j,(Pe(),C2))))),a=a|t.q.ug(p,o,n),a=a|bit(e,p[o],n,i);return gr(e.c,t),a}function B_(e,t,n){var i,r,o,a,h,p,b,v,y,E;for(v=WVe(e.j),y=0,E=v.length;y1&&(e.a=!0),SMt(c(n.b,68),li(Xr(c(t.b,68).c),Bf(Ir(Xr(c(n.b,68).a),c(t.b,68).a),r))),tVe(e,t),Ant(e,n)}function Pnt(e){var t,n,i,r,o,a,h;for(o=new q(e.a.a);o.a0&&o>0?a.p=t++:i>0?a.p=n++:o>0?a.p=r++:a.p=n++}jt(),ir(e.j,new fSe)}function JWt(e){var t,n;n=null,t=c(Je(e.g,0),18);do{if(n=t.d.i,Ni(n,(Pe(),Xl)))return c(D(n,Xl),12).i;if(n.k!=(Kt(),er)&&bn(new Qt(en(nr(n).a.Kc(),new M))))t=c(on(new Qt(en(nr(n).a.Kc(),new M))),18);else if(n.k!=er)return null}while(n&&n.k!=(Kt(),er));return n}function YWt(e,t){var n,i,r,o,a,h,p,b,v;for(h=t.j,a=t.g,p=c(Je(h,h.c.length-1),113),v=(St(0,h.c.length),c(h.c[0],113)),b=_z(e,a,p,v),o=1;ob&&(p=n,v=r,b=i);t.a=v,t.c=p}function QWt(e,t,n){var i,r,o,a,h,p,b;for(b=new zd(new b_e(e)),a=J(W(ldt,1),rct,12,0,[t,n]),h=0,p=a.length;hp-e.b&&hp-e.a&&h0?o.a?(h=o.b.Mf().a,n>h&&(r=(n-h)/2,o.d.b=r,o.d.c=r)):o.d.c=e.s+n:o8(e.u)&&(i=kae(o.b),i.c<0&&(o.d.b=-i.c),i.c+i.b>o.b.Mf().a&&(o.d.c=i.c+i.b-o.b.Mf().a))}function gXt(e,t){var n,i,r,o,a;a=new Re,n=t;do o=c(Yt(e.b,n),131),o.B=n.c,o.D=n.d,Tt(a.c,o),n=c(Yt(e.k,n),18);while(n);return i=(St(0,a.c.length),c(a.c[0],131)),i.j=!0,i.A=c(i.d.a.ec().Kc().Pb(),18).c.i,r=c(Je(a,a.c.length-1),131),r.q=!0,r.C=c(r.d.a.ec().Kc().Pb(),18).d.i,a}function wXt(e){var t,n;if(t=c(e.a,17).a,n=c(e.b,17).a,t>=0){if(t==n)return new xr(De(-t-1),De(-t-1));if(t==-n)return new xr(De(-t),De(n+1))}return w.Math.abs(t)>w.Math.abs(n)?t<0?new xr(De(-t),De(n)):new xr(De(-t),De(n+1)):new xr(De(t+1),De(n))}function bXt(e){var t,n;n=c(D(e,(Ge(),Ec)),171),t=c(D(e,(Pe(),Up)),311),n==(yl(),S0)?(Ne(e,Ec,jN),Ne(e,Up,(dd(),I2))):n==Cm?(Ne(e,Ec,jN),Ne(e,Up,(dd(),H3))):t==(dd(),I2)?(Ne(e,Ec,S0),Ne(e,Up,vN)):t==H3&&(Ne(e,Ec,Cm),Ne(e,Up,vN))}function H_(){H_=U,PN=new YEe,kgt=Kn(new ur,(ss(),Xo),(hs(),$L)),Egt=Vc(Kn(new ur,Xo,UL),ro,VL),Igt=Wf(Wf(T6(Vc(Kn(new ur,Sa,JL),ro,XL),sc),WL),YL),jgt=Vc(Kn(Kn(Kn(new ur,Dh,BL),sc,KL),sc,Wk),ro,HL),Sgt=Vc(Kn(Kn(new ur,sc,Wk),sc,RL),ro,DL)}function oj(){oj=U,Mgt=Kn(Vc(new ur,(ss(),ro),(hs(),ywe)),Xo,$L),_gt=Wf(Wf(T6(Vc(Kn(new ur,Sa,JL),ro,XL),sc),WL),YL),Tgt=Vc(Kn(Kn(Kn(new ur,Dh,BL),sc,KL),sc,Wk),ro,HL),Pgt=Kn(Kn(new ur,Xo,UL),ro,VL),Agt=Vc(Kn(Kn(new ur,sc,Wk),sc,RL),ro,DL)}function mXt(e,t,n,i,r){var o,a;(!ys(t)&&t.c.i.c==t.d.i.c||!_Xe(vo(J(W(Ar,1),Oe,8,0,[r.i.n,r.n,r.a])),n))&&!ys(t)&&(t.c==r?e4(t.a,0,new gs(n)):$n(t.a,new gs(n)),i&&!Ba(e.a,n)&&(a=c(D(t,(Ge(),Xs)),75),a||(a=new Hc,Ne(t,Xs,a)),o=new gs(n),Ui(a,o,a.c.b,a.c),gr(e.a,o)))}function Lnt(e,t){var n,i,r,o;for(o=Mn(fs(Th,kh(Mn(fs(t==null?0:Ei(t),Ah)),15))),n=o&e.b.length-1,r=null,i=e.b[n];i;r=i,i=i.a)if(i.d==o&&qf(i.i,t))return r?r.a=i.a:e.b[n]=i.a,aDe(c(Fl(i.c),604),c(Fl(i.f),604)),J9(c(Fl(i.b),227),c(Fl(i.e),227)),--e.f,++e.e,!0;return!1}function vXt(e){var t,n;for(n=new Qt(en(Tr(e).a.Kc(),new M));bn(n);)if(t=c(on(n),18),t.c.i.k!=(Kt(),qo))throw V(new Hd(eG+V7(e)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function yXt(e,t,n){var i,r,o,a,h,p,b;if(r=RYe(e.Db&254),r==0)e.Eb=n;else{if(r==1)h=ke(Cr,Mt,1,2,5,1),o=Pz(e,t),o==0?(h[0]=n,h[1]=e.Eb):(h[0]=e.Eb,h[1]=n);else for(h=ke(Cr,Mt,1,r+1,5,1),a=yp(e.Eb),i=2,p=0,b=0;i<=128;i<<=1)i==t?h[b++]=n:e.Db&i&&(h[b++]=a[p++]);e.Eb=h}e.Db|=t}function Dnt(e,t,n){var i,r,o,a;for(this.b=new Re,r=0,i=0,a=new q(e);a.a0&&(o=c(Je(this.b,0),176),r+=o.o,i+=o.p),r*=2,i*=2,t>1?r=kr(w.Math.ceil(r*t)):i=kr(w.Math.ceil(i/t)),this.a=new ple(r,i)}function Rnt(e,t,n,i,r,o){var a,h,p,b,v,y,E,A,L,$,H,X;for(v=i,t.j&&t.o?(A=c(Yt(e.f,t.A),60),$=A.d.c+A.d.b,--v):$=t.a.c+t.a.b,y=r,n.q&&n.o?(A=c(Yt(e.f,n.C),60),b=A.d.c,++y):b=n.a.c,H=b-$,p=w.Math.max(2,y-v),h=H/p,L=$+h,E=v;E=0;a+=r?1:-1){for(h=t[a],p=i==(qe(),Xt)?r?yo(h,i):vl(yo(h,i)):r?vl(yo(h,i)):yo(h,i),o&&(e.c[h.p]=p.gc()),y=p.Kc();y.Ob();)v=c(y.Pb(),12),e.d[v.p]=b++;wr(n,p)}}function Fnt(e,t,n){var i,r,o,a,h,p,b,v;for(o=pe(ye(e.b.Kc().Pb())),b=pe(ye(bRt(t.b))),i=Bf(Xr(e.a),b-n),r=Bf(Xr(t.a),n-o),v=li(i,r),Bf(v,1/(b-o)),this.a=v,this.b=new Re,h=!0,a=e.b.Kc(),a.Pb();a.Ob();)p=pe(ye(a.Pb())),h&&p-n>OG&&(this.b.Fc(n),h=!1),this.b.Fc(p);h&&this.b.Fc(n)}function xXt(e){var t,n,i,r;if(FJt(e,e.n),e.d.c.length>0){for(x6(e.c);ffe(e,c(K(new q(e.e.a)),125))>5,t&=31,i>=e.d)return e.e<0?(Xf(),Vat):(Xf(),Jj);if(o=e.d-i,r=ke(kn,qn,28,o+1,15,1),hVt(r,o,e.a,i,t),e.e<0){for(n=0;n0&&e.a[n]<<32-t){for(n=0;n=0?!1:(n=i2((Wc(),ts),r,t),n?(i=n.Ik(),(i>1||i==-1)&&Qg(Vs(ts,n))!=3):!0)):!1}function EXt(e,t,n,i){var r,o,a,h,p;return h=io(c(le((!t.b&&(t.b=new It(cn,t,4,7)),t.b),0),84)),p=io(c(le((!t.c&&(t.c=new It(cn,t,5,8)),t.c),0),84)),Oi(h)==Oi(p)||zb(p,h)?null:(a=JE(t),a==n?i:(o=c(Yt(e.a,a),10),o&&(r=o.e,r)?r:null))}function IXt(e,t,n){var i,r,o,a,h;for(n.Ug("Longest path to source layering",1),e.a=t,h=e.a.a,e.b=ke(kn,qn,28,h.c.length,15,1),i=0,a=new q(h);a.a0&&(n[0]+=e.d,a-=n[0]),n[2]>0&&(n[2]+=e.d,a-=n[2]),o=w.Math.max(0,a),n[1]=w.Math.max(n[1],a),nce(e,pc,r.c+i.b+n[0]-(n[1]-a)/2,n),t==pc&&(e.c.b=o,e.c.c=r.c+i.b+(o-a)/2)}function Xnt(){this.c=ke($r,Rs,28,(qe(),J(W(ks,1),Ho,64,0,[ko,Ht,Xt,fn,qt])).length,15,1),this.b=ke($r,Rs,28,J(W(ks,1),Ho,64,0,[ko,Ht,Xt,fn,qt]).length,15,1),this.a=ke($r,Rs,28,J(W(ks,1),Ho,64,0,[ko,Ht,Xt,fn,qt]).length,15,1),sie(this.c,Li),sie(this.b,br),sie(this.a,br)}function tc(e,t,n){var i,r,o,a;if(t<=n?(r=t,o=n):(r=n,o=t),i=0,e.b==null)e.b=ke(kn,qn,28,2,15,1),e.b[0]=r,e.b[1]=o,e.c=!0;else{if(i=e.b.length,e.b[i-1]+1==r){e.b[i-1]=o;return}a=ke(kn,qn,28,i+2,15,1),Wo(e.b,0,a,0,i),e.b=a,e.b[i-1]>=r&&(e.c=!1,e.a=!1),e.b[i++]=r,e.b[i]=o,e.c||Yv(e)}}function PXt(e,t,n){var i,r,o,a,h,p,b;for(b=t.d,e.a=new ac(b.c.length),e.c=new hn,h=new q(b);h.a=0?e.Lh(b,!1,!0):vw(e,n,!1),61));e:for(o=y.Kc();o.Ob();){for(r=c(o.Pb(),58),v=0;v1;)sm(r,r.i-1);return i}function Ynt(e,t){var n,i,r,o,a,h,p;for(n=new Tv,o=new q(e.b);o.ae.d[a.p]&&(n+=Woe(e.b,o),Q1(e.a,De(o)));for(;!k6(e.a);)Nce(e.b,c(Vy(e.a),17).a)}return n}function $Xt(e){var t,n,i,r,o,a,h,p,b;for(e.a=new Bre,b=0,r=0,i=new q(e.i.b);i.ah.d&&(v=h.d+h.a+b));n.c.d=v,t.a.zc(n,t),p=w.Math.max(p,n.c.d+n.c.a)}return p}function Cs(){Cs=U,lD=new Sb("COMMENTS",0),Nl=new Sb("EXTERNAL_PORTS",1),sS=new Sb("HYPEREDGES",2),aD=new Sb("HYPERNODES",3),s5=new Sb("NON_FREE_PORTS",4),E2=new Sb("NORTH_SOUTH_PORTS",5),oS=new Sb(kct,6),i5=new Sb("CENTER_LABELS",7),r5=new Sb("END_LABELS",8),fD=new Sb("PARTITIONS",9)}function BXt(e,t,n,i,r){return i<0?(i=Jv(e,r,J(W(Ye,1),Oe,2,6,[tU,nU,iU,rU,j3,sU,oU,cU,uU,lU,aU,fU]),t),i<0&&(i=Jv(e,r,J(W(Ye,1),Oe,2,6,["Jan","Feb","Mar","Apr",j3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),i<0?!1:(n.k=i,!0)):i>0?(n.k=i-1,!0):!1}function HXt(e,t,n,i,r){return i<0?(i=Jv(e,r,J(W(Ye,1),Oe,2,6,[tU,nU,iU,rU,j3,sU,oU,cU,uU,lU,aU,fU]),t),i<0&&(i=Jv(e,r,J(W(Ye,1),Oe,2,6,["Jan","Feb","Mar","Apr",j3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),i<0?!1:(n.k=i,!0)):i>0?(n.k=i-1,!0):!1}function KXt(e,t,n,i,r,o){var a,h,p,b;if(h=32,i<0){if(t[0]>=e.length||(h=rs(e,t[0]),h!=43&&h!=45)||(++t[0],i=A_(e,t),i<0))return!1;h==45&&(i=-i)}return h==32&&t[0]-n==2&&r.b==2&&(p=new oT,b=p.q.getFullYear()-d0+d0-80,a=b%100,o.a=i==a,i+=(b/100|0)*100+(i=0?o0(e):a8(o0(e1(e)))),Yj[t]=RT(pa(e,t),0)?o0(pa(e,t)):a8(o0(e1(pa(e,t)))),e=fs(e,5);for(;t=b&&(p=i);p&&(v=w.Math.max(v,p.a.o.a)),v>E&&(y=b,E=v)}return y}function WXt(e){var t,n,i,r,o,a,h;for(o=new zd(c(Tn(new pF),50)),h=br,n=new q(e.d);n.aWct?ir(p,e.b):i<=Wct&&i>Xct?ir(p,e.d):i<=Xct&&i>Jct?ir(p,e.c):i<=Jct&&ir(p,e.a),o=nit(e,p,o);return r}function iit(e,t,n,i){var r,o,a,h,p,b;for(r=(i.c+i.a)/2,Bu(t.j),$n(t.j,r),Bu(n.e),$n(n.e,r),b=new jDe,h=new q(e.f);h.a1,h&&(i=new Ae(r,n.b),$n(t.a,i)),S8(t.a,J(W(Ar,1),Oe,8,0,[E,y]))}function Ofe(e,t,n){var i,r;for(t=48;n--)s9[n]=n-48<<24>>24;for(i=70;i>=65;i--)s9[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)s9[r]=r-97+10<<24>>24;for(o=0;o<10;o++)$R[o]=48+o&fr;for(e=10;e<=15;e++)$R[e]=65+e-10&fr}function QXt(e,t){t.Ug("Process graph bounds",1),Ne(e,(Si(),YJ),pE(Sq(Db(new gt(null,new yt(e.b,16)),new C7e)))),Ne(e,QJ,pE(Sq(Db(new gt(null,new yt(e.b,16)),new M7e)))),Ne(e,Fve,pE(jq(Db(new gt(null,new yt(e.b,16)),new T7e)))),Ne(e,Bve,pE(jq(Db(new gt(null,new yt(e.b,16)),new A7e)))),t.Vg()}function ZXt(e){var t,n,i,r,o;r=c(D(e,(Ge(),Yp)),21),o=c(D(e,TD),21),n=new Ae(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),t=new gs(n),r.Hc((Lu(),qm))&&(i=c(D(e,c5),8),o.Hc((vu(),I5))&&(i.a<=0&&(i.a=20),i.b<=0&&(i.b=20)),t.a=w.Math.max(n.a,i.a),t.b=w.Math.max(n.b,i.b)),Xe(We(D(e,xJ)))||MQt(e,n,t)}function eJt(e,t){var n,i,r,o;for(o=yo(t,(qe(),fn)).Kc();o.Ob();)i=c(o.Pb(),12),n=c(D(i,(Pe(),lu)),10),n&&va(la(ua(aa(ca(new Rl,0),.1),e.i[t.p].d),e.i[n.p].a));for(r=yo(t,Ht).Kc();r.Ob();)i=c(r.Pb(),12),n=c(D(i,(Pe(),lu)),10),n&&va(la(ua(aa(ca(new Rl,0),.1),e.i[n.p].d),e.i[t.p].a))}function pV(e){var t,n,i,r,o,a;if(!e.c){if(a=new zNe,t=t9,o=t.a.zc(e,t),o==null){for(i=new Jt(Uo(e));i.e!=i.i.gc();)n=c(tn(i),89),r=W_(n),ce(r,90)&&Wi(a,pV(c(r,29))),yn(a,n);t.a.Bc(e)!=null,t.a.gc()==0}XFt(a),Gb(a),e.c=new jv((c(le(Se((X1(),Ot).o),15),19),a.i),a.g),gu(e).b&=-33}return e.c}function Dfe(e){var t;if(e.c!=10)throw V(new Ln(Rn((Pn(),ZO))));switch(t=e.a,t){case 110:t=10;break;case 114:t=13;break;case 116:t=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw V(new Ln(Rn((Pn(),El))))}return t}function cit(e){var t,n,i,r,o;if(e.l==0&&e.m==0&&e.h==0)return"0";if(e.h==II&&e.m==0&&e.l==0)return"-9223372036854775808";if(e.h>>19)return"-"+cit(B4(e));for(n=e,i="";!(n.l==0&&n.m==0&&n.h==0);){if(r=zK(cO),n=whe(n,r,!0),t=""+MDe(m0),!(n.l==0&&n.m==0&&n.h==0))for(o=9-t.length;o>0;o--)t="0"+t;i=t+i}return i}function tJt(e){var t,n,i,r,o,a,h;for(t=!1,n=0,r=new q(e.d.b);r.a=e.a||!mae(t,n))return-1;if(m4(c(i.Kb(t),20)))return 1;for(r=0,a=c(i.Kb(t),20).Kc();a.Ob();)if(o=c(a.Pb(),18),p=o.c.i==t?o.d.i:o.c.i,h=Rfe(e,p,n,i),h==-1||(r=w.Math.max(r,h),r>e.c-1))return-1;return r+1}function uit(e,t){var n,i,r,o,a,h;if(be(t)===be(e))return!0;if(!ce(t,15)||(i=c(t,15),h=e.gc(),i.gc()!=h))return!1;if(a=i.Kc(),e.Yi()){for(n=0;n0){if(e._j(),t!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return e-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return e-65+10<<24>>24;default:throw V(new Rf("Invalid hexadecimal"))}}function z_(){z_=U,xge=new mv("SPIRAL",0),bge=new mv("LINE_BY_LINE",1),mge=new mv("MANHATTAN",2),wge=new mv("JITTER",3),nX=new mv("QUADRANTS_LINE_BY_LINE",4),yge=new mv("QUADRANTS_MANHATTAN",5),vge=new mv("QUADRANTS_JITTER",6),gge=new mv("COMBINE_LINE_BY_LINE_MANHATTAN",7),pge=new mv("COMBINE_JITTER_MANHATTAN",8)}function ait(e,t,n,i){var r,o,a,h,p,b;for(p=Fz(e,n),b=Fz(t,n),r=!1;p&&b&&(i||QHt(p,b,n));)a=Fz(p,n),h=Fz(b,n),f7(t),f7(e),o=p.c,BV(p,!1),BV(b,!1),n?(Qb(t,b.p,o),t.p=b.p,Qb(e,p.p+1,o),e.p=p.p):(Qb(e,p.p,o),e.p=p.p,Qb(t,b.p+1,o),t.p=b.p),zr(p,null),zr(b,null),p=a,b=h,r=!0;return r}function fit(e){switch(e.g){case 0:return new kTe;case 1:return new yTe;case 3:return new RRe;case 4:return new bEe;case 5:return new fHe;case 6:return new xTe;case 2:return new vTe;case 7:return new dTe;case 8:return new gTe;default:throw V(new Ft("No implementation is available for the layerer "+(e.f!=null?e.f:""+e.g)))}}function cJt(e,t,n,i){var r,o,a,h,p;for(r=!1,o=!1,h=new q(i.j);h.a=t.length)throw V(new Ks("Greedy SwitchDecider: Free layer not in graph."));this.c=t[e],this.e=new OE(i),vq(this.e,this.c,(qe(),qt)),this.i=new OE(i),vq(this.i,this.c,Xt),this.f=new CKe(this.c),this.a=!o&&r.i&&!r.s&&this.c[0].k==(Kt(),rr),this.a&&xVt(this,e,t.length)}function dit(e,t){var n,i,r,o,a,h;o=!e.B.Hc((vu(),sC)),a=e.B.Hc(cQ),e.a=new YYe(a,o,e.c),e.n&&goe(e.a.n,e.n),fB(e.g,(Ga(),pc),e.a),t||(i=new q8(1,o,e.c),i.n.a=e.k,Uy(e.p,(qe(),Ht),i),r=new q8(1,o,e.c),r.n.d=e.k,Uy(e.p,fn,r),h=new q8(0,o,e.c),h.n.c=e.k,Uy(e.p,qt,h),n=new q8(0,o,e.c),n.n.b=e.k,Uy(e.p,Xt,n))}function lJt(e){var t,n,i;switch(t=c(D(e.d,(Ge(),Md)),223),t.g){case 2:n=Ytn(e);break;case 3:n=(i=new Re,Yi(di(Zs(mo(mo(new gt(null,new yt(e.d.b,16)),new N9e),new C9e),new M9e),new p9e),new GPe(i)),i);break;default:throw V(new qs("Compaction not supported for "+t+" edges."))}vZt(e,n),Qr(new ip(e.g),new VPe(e))}function aJt(e,t){var n,i,r,o,a,h,p;if(t.Ug("Process directions",1),n=c(D(e,(Io(),Jw)),88),n!=(ar(),Cf))for(r=wn(e.b,0);r.b!=r.d.c;){switch(i=c(dn(r),40),h=c(D(i,(Si(),LN)),17).a,p=c(D(i,DN),17).a,n.g){case 4:p*=-1;break;case 1:o=h,h=p,p=o;break;case 2:a=h,h=-p,p=a}Ne(i,LN,De(h)),Ne(i,DN,De(p))}t.Vg()}function fJt(e,t){var n;return n=new z9,t&&no(n,c(Yt(e.a,cC),96)),ce(t,422)&&no(n,c(Yt(e.a,uC),96)),ce(t,366)?(no(n,c(Yt(e.a,$s),96)),n):(ce(t,84)&&no(n,c(Yt(e.a,cn),96)),ce(t,207)?(no(n,c(Yt(e.a,ti),96)),n):ce(t,193)?(no(n,c(Yt(e.a,du),96)),n):(ce(t,326)&&no(n,c(Yt(e.a,tr),96)),n))}function hJt(e){var t,n,i,r,o,a,h,p;for(p=new VUe,h=new q(e.a);h.a0&&t=0)return!1;if(t.p=n.b,$e(n.e,t),r==(Kt(),_r)||r==oc){for(a=new q(t.j);a.ae.d[h.p]&&(n+=Woe(e.b,o),Q1(e.a,De(o)))):++a;for(n+=e.b.d*a;!k6(e.a);)Nce(e.b,c(Vy(e.a),17).a)}return n}function jit(e){var t,n,i,r,o,a;return o=0,t=Kl(e),t.kk()&&(o|=4),e.Bb&Yc&&(o|=2),ce(e,102)?(n=c(e,19),r=Es(n),n.Bb&Lo&&(o|=32),r&&(sn(Rb(r)),o|=8,a=r.t,(a>1||a==-1)&&(o|=16),r.Bb&Lo&&(o|=64)),n.Bb&xs&&(o|=mm),o|=xa):ce(t,469)?o|=512:(i=t.kk(),i&&i.i&1&&(o|=256)),e.Bb&512&&(o|=128),o}function SJt(e,t){var n;return e.f==yQ?(n=Qg(Vs((Wc(),ts),t)),e.e?n==4&&t!=(m3(),sx)&&t!=(m3(),rx)&&t!=(m3(),xQ)&&t!=(m3(),kQ):n==2):e.d&&(e.d.Hc(t)||e.d.Hc(Qy(Vs((Wc(),ts),t)))||e.d.Hc(i2((Wc(),ts),e.b,t)))?!0:e.f&&Sfe((Wc(),e.f),VE(Vs(ts,t)))?(n=Qg(Vs(ts,t)),e.e?n==4:n==2):!1}function EJt(e){var t,n,i,r,o,a,h,p,b,v,y,E,A;for(E=-1,A=0,b=e,v=0,y=b.length;v0&&++A;++E}return A}function IJt(e,t,n,i){var r,o,a,h,p,b,v,y;return a=c(Me(n,(Un(),Q3)),8),p=a.a,v=a.b+e,r=w.Math.atan2(v,p),r<0&&(r+=Fp),r+=t,r>Fp&&(r-=Fp),h=c(Me(i,Q3),8),b=h.a,y=h.b+e,o=w.Math.atan2(y,b),o<0&&(o+=Fp),o+=t,o>Fp&&(o-=Fp),sf(),wa(1e-10),w.Math.abs(r-o)<=1e-10||r==o||isNaN(r)&&isNaN(o)?0:ro?1:Fg(isNaN(r),isNaN(o))}function bV(e){var t,n,i,r,o,a,h;for(h=new hn,i=new q(e.a.b);i.a=e.o)throw V(new mne);h=t>>5,a=t&31,o=pa(1,Mn(pa(a,1))),r?e.n[n][h]=qa(e.n[n][h],o):e.n[n][h]=Nr(e.n[n][h],gse(o)),o=pa(o,1),i?e.n[n][h]=qa(e.n[n][h],o):e.n[n][h]=Nr(e.n[n][h],gse(o))}catch(p){throw p=Ri(p),ce(p,333)?V(new Ks($U+e.o+"*"+e.p+FU+t+bs+n+BU)):V(p)}}function MJt(e,t,n,i){var r,o,a,h,p,b,v,y,E;for(E=new zd(new w_e(e)),h=J(W(Rh,1),p1,10,0,[t,n]),p=0,b=h.length;p0&&(i=(!e.n&&(e.n=new Ie($s,e,1,7)),c(le(e.n,0),135)).a,!i||Hn(Hn((t.a+=' "',t),i),'"'))),Hn(_g(Hn(_g(Hn(_g(Hn(_g((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function Sit(e){var t,n,i;return e.Db&64?Jz(e):(t=new Fu(V0e),n=e.k,n?Hn(Hn((t.a+=' "',t),n),'"'):(!e.n&&(e.n=new Ie($s,e,1,7)),e.n.i>0&&(i=(!e.n&&(e.n=new Ie($s,e,1,7)),c(le(e.n,0),135)).a,!i||Hn(Hn((t.a+=' "',t),i),'"'))),Hn(_g(Hn(_g(Hn(_g(Hn(_g((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function PJt(e,t){var n,i,r,o,a;for(t==(P8(),BJ)&&eI(c(pi(e.a,(Zb(),wN)),15)),r=c(pi(e.a,(Zb(),wN)),15).Kc();r.Ob();)switch(i=c(r.Pb(),105),n=c(Je(i.j,0),113).d.j,o=new iu(i.j),ir(o,new D9e),t.g){case 2:zz(e,o,n,(lw(),k0),1);break;case 1:case 0:a=mWt(o),zz(e,new Jd(o,0,a),n,(lw(),k0),0),zz(e,new Jd(o,a,o.c.length),n,k0,1)}}function vV(e,t){var n,i,r,o,a,h,p;if(t==null||t.length==0)return null;if(r=c(Zo(e.a,t),143),!r){for(i=(h=new td(e.b).a.vc().Kc(),new yb(h));i.a.Ob();)if(n=(o=c(i.a.Pb(),44),c(o.md(),143)),a=n.c,p=t.length,wt(a.substr(a.length-p,p),t)&&(t.length==a.length||rs(a,a.length-t.length-1)==46)){if(r)return null;r=n}r&&zs(e.a,t,r)}return r}function _Jt(e,t){var n,i,r,o;return n=new vF,i=c(co(Zs(new gt(null,new yt(e.f,16)),n),Hb(new ln,new Dt,new Hr,new Ro,J(W(Ws,1),Ce,108,0,[(cu(),vm),ao]))),21),r=i.gc(),i=c(co(Zs(new gt(null,new yt(t.f,16)),n),Hb(new ln,new Dt,new Hr,new Ro,J(W(Ws,1),Ce,108,0,[vm,ao]))),21),o=i.gc(),rr.p?(jr(o,fn),o.d&&(h=o.o.b,t=o.a.b,o.a.b=h-t)):o.j==fn&&r.p>e.p&&(jr(o,Ht),o.d&&(h=o.o.b,t=o.a.b,o.a.b=-(h-t)));break}return r}function lI(e,t,n,i,r){var o,a,h,p,b,v,y;if(!(ce(t,207)||ce(t,366)||ce(t,193)))throw V(new Ft("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return a=e.a/2,p=t.i+i-a,v=t.j+r-a,b=p+t.g+e.a,y=v+t.f+e.a,o=new Hc,$n(o,new Ae(p,v)),$n(o,new Ae(p,y)),$n(o,new Ae(b,y)),$n(o,new Ae(b,v)),h=new cV(o),no(h,t),n&&Jn(e.b,t,h),h}function hk(e,t,n){var i,r,o,a,h,p,b,v,y,E;for(o=new Ae(t,n),v=new q(e.a);v.a1,h&&(i=new Ae(r,n.b),$n(t.a,i)),S8(t.a,J(W(Ar,1),Oe,8,0,[E,y]))}function ql(){ql=U,RD=new Eb(nh,0),CN=new Eb("NIKOLOV",1),MN=new Eb("NIKOLOV_PIXEL",2),ive=new Eb("NIKOLOV_IMPROVED",3),rve=new Eb("NIKOLOV_IMPROVED_PIXEL",4),nve=new Eb("DUMMYNODE_PERCENTAGE",5),sve=new Eb("NODECOUNT_PERCENTAGE",6),$D=new Eb("NO_BOUNDARY",7),Ww=new Eb("MODEL_ORDER_LEFT_TO_RIGHT",8),Dm=new Eb("MODEL_ORDER_RIGHT_TO_LEFT",9)}function qJt(e){var t,n,i,r,o;for(i=e.length,t=new j6,o=0;o=40,a&&zYt(e),QQt(e),xXt(e),n=HYe(e),i=0;n&&i0&&$n(e.f,o)):(e.c[a]-=b+1,e.c[a]<=0&&e.a[a]>0&&$n(e.e,o))))}function Rit(e,t,n,i){var r,o,a,h,p,b,v;for(p=new Ae(n,i),Ir(p,c(D(t,(Si(),w5)),8)),v=wn(t.b,0);v.b!=v.d.c;)b=c(dn(v),40),li(b.e,p),$n(e.b,b);for(h=c(co(Ioe(new gt(null,new yt(t.a,16))),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)]))),15).Kc();h.Ob();){for(a=c(h.Pb(),65),o=wn(a.a,0);o.b!=o.d.c;)r=c(dn(o),8),r.a+=p.a,r.b+=p.b;$n(e.a,a)}}function Qfe(e,t){var n,i,r,o;if(0<(ce(e,16)?c(e,16).gc():ld(e.Kc()))){if(r=t,1=0&&po*2?(v=new yP(y),b=zc(a)/Pu(a),p=zV(v,t,new ky,n,i,r,b),li(Ha(v.e),p),y.c.length=0,o=0,Tt(y.c,v),Tt(y.c,a),o=zc(v)*Pu(v)+zc(a)*Pu(a)):(Tt(y.c,a),o+=zc(a)*Pu(a));return y}function Fit(e,t){var n,i,r,o,a,h;if(h=c(D(t,(Ge(),Ji)),101),h==(Br(),Kh)||h==uc)for(r=new Ae(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a).b,a=new q(e.a);a.an?t:n;b<=y;++b)b==n?h=i++:(o=r[b],v=L.am(o.Lk()),b==t&&(p=b==y&&!v?i-1:i),v&&++i);return E=c(B8(e,t,n),76),h!=p&&Bx(e,new c7(e.e,7,a,De(h),A.md(),p)),E}}else return c(rV(e,t,n),76);return c(B8(e,t,n),76)}function uYt(e,t){var n,i,r,o,a,h,p;for(t.Ug("Port order processing",1),p=c(D(e,(Ge(),Lme)),430),i=new q(e.b);i.a=0&&(h=iKt(e,a),!(h&&(b<22?p.l|=1<>>1,a.m=v>>>1|(y&1)<<21,a.l=E>>>1|(v&1)<<21,--b;return n&&Lq(p),o&&(i?(m0=B4(e),r&&(m0=kJe(m0,(j4(),Ape)))):m0=wc(e.l,e.m,e.h)),p}function fYt(e,t){var n,i,r,o,a,h,p,b,v,y;for(b=e.e[t.c.p][t.p]+1,p=t.c.a.c.length+1,h=new q(e.a);h.a0&&(Bt(0,e.length),e.charCodeAt(0)==45||(Bt(0,e.length),e.charCodeAt(0)==43))?1:0,i=a;in)throw V(new Rf(Ew+e+'"'));return h}function hYt(e){var t,n,i,r,o,a,h;for(a=new Ai,o=new q(e.a);o.a1)&&t==1&&c(e.a[e.b],10).k==(Kt(),qo)?y3(c(e.a[e.b],10),(Gu(),Bh)):i&&(!n||(e.c-e.b&e.a.length-1)>1)&&t==1&&c(e.a[e.c-1&e.a.length-1],10).k==(Kt(),qo)?y3(c(e.a[e.c-1&e.a.length-1],10),(Gu(),T0)):(e.c-e.b&e.a.length-1)==2?(y3(c(A8(e),10),(Gu(),Bh)),y3(c(A8(e),10),T0)):KGt(e,r),Uoe(e)}function gYt(e,t,n){var i,r,o,a,h;for(o=0,r=new Jt((!e.a&&(e.a=new Ie(ti,e,10,11)),e.a));r.e!=r.i.gc();)i=c(tn(r),27),a="",(!i.n&&(i.n=new Ie($s,i,1,7)),i.n).i==0||(a=c(le((!i.n&&(i.n=new Ie($s,i,1,7)),i.n),0),135).a),h=new Dq(o++,t,a),no(h,i),Ne(h,(Si(),CS),i),h.e.b=i.j+i.f/2,h.f.a=w.Math.max(i.g,1),h.e.a=i.i+i.g/2,h.f.b=w.Math.max(i.f,1),$n(t.b,h),dc(n.f,i,h)}function wYt(e){var t,n,i,r,o;i=c(D(e,(Pe(),gi)),27),o=c(Me(i,(Ge(),Yp)),181).Hc((Lu(),og)),e.e||(r=c(D(e,cc),21),t=new Ae(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),r.Hc((Cs(),Nl))?(bi(i,Ji,(Br(),uc)),kw(i,t.a,t.b,!1,!0)):Xe(We(Me(i,xJ)))||kw(i,t.a,t.b,!0,!0)),o?bi(i,Yp,lt(og)):bi(i,Yp,(n=c(Fa(XS),9),new ll(n,c(ha(n,n.length),9),0)))}function Zfe(e,t,n){var i,r,o,a;if(t[0]>=e.length)return n.o=0,!0;switch(rs(e,t[0])){case 43:r=1;break;case 45:r=-1;break;default:return n.o=0,!0}if(++t[0],o=t[0],a=A_(e,t),a==0&&t[0]==o)return!1;if(t[0]h&&(h=r,v.c.length=0),r==h&&$e(v,new xr(n.c.i,n)));jt(),ir(v,e.c),Vg(e.b,p.p,v)}}function yYt(e,t){var n,i,r,o,a,h,p,b,v;for(a=new q(t.b);a.ah&&(h=r,v.c.length=0),r==h&&$e(v,new xr(n.d.i,n)));jt(),ir(v,e.c),Vg(e.f,p.p,v)}}function xYt(e,t){var n,i,r,o,a,h,p,b;if(b=We(D(t,(Io(),nwt))),b==null||(Ut(b),b)){for(GUt(e,t),r=new Re,p=wn(t.b,0);p.b!=p.d.c;)a=c(dn(p),40),n=Bae(e,a,null),n&&(no(n,t),Tt(r.c,n));if(e.a=null,e.b=null,r.c.length>1)for(i=new q(r);i.a=0&&h!=n&&(o=new Pr(e,1,h,a,null),i?i.nj(o):i=o),n>=0&&(o=new Pr(e,1,n,h==n?a:null,t),i?i.nj(o):i=o)),i}function Kit(e){var t,n,i;if(e.b==null){if(i=new Kd,e.i!=null&&(Os(i,e.i),i.a+=":"),e.f&256){for(e.f&256&&e.a!=null&&(BTt(e.i)||(i.a+="//"),Os(i,e.a)),e.d!=null&&(i.a+="/",Os(i,e.d)),e.f&16&&(i.a+="/"),t=0,n=e.j.length;tE?!1:(y=(p=dj(i,E,!1),p.a),v+h+y<=t.b&&(u7(n,o-n.s),n.c=!0,u7(i,o-n.s),z7(i,n.s,n.t+n.d+h),i.k=!0,cue(n.q,i),A=!0,r&&(EP(t,i),i.j=t,e.c.length>a&&(G7((St(a,e.c.length),c(e.c[a],186)),i),(St(a,e.c.length),c(e.c[a],186)).a.c.length==0&&Qd(e,a)))),A)}function CYt(e,t){var n,i,r,o,a,h;if(t.Ug("Partition midprocessing",1),r=new tw,Yi(di(new gt(null,new yt(e.a,16)),new dSe),new OPe(r)),r.d!=0){for(h=c(co(Moe((o=r.i,new gt(null,(o||(r.i=new Av(r,r.c))).Nc()))),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)]))),15),i=h.Kc(),n=c(i.Pb(),17);i.Ob();)a=c(i.Pb(),17),xWt(c(pi(r,n),21),c(pi(r,a),21)),n=a;t.Vg()}}function Vit(e,t,n){var i,r,o,a,h,p,b,v;if(t.p==0){for(t.p=1,a=n,a||(r=new Re,o=(i=c(Fa(ks),9),new ll(i,c(ha(i,i.length),9),0)),a=new xr(r,o)),c(a.a,15).Fc(t),t.k==(Kt(),rr)&&c(a.b,21).Fc(c(D(t,(Pe(),Ao)),64)),p=new q(t.j);p.a0){if(r=c(e.Ab.g,2033),t==null){for(o=0;on.s&&ha)return qe(),Xt;break;case 4:case 3:if(v<0)return qe(),Ht;if(v+n>o)return qe(),fn}return p=(b+h/2)/a,i=(v+n/2)/o,p+i<=1&&p-i<=0?(qe(),qt):p+i>=1&&p-i>=0?(qe(),Xt):i<.5?(qe(),Ht):(qe(),fn)}function _Yt(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$;for(n=!1,v=pe(ye(D(t,(Ge(),Gw)))),L=h0*v,r=new q(t.b);r.ap+L&&($=y.g+E.g,E.a=(E.g*E.a+y.g*y.a)/$,E.g=$,y.f=E,n=!0)),o=h,y=E;return n}function Xit(e,t,n,i,r,o,a){var h,p,b,v,y,E;for(E=new Ly,b=t.Kc();b.Ob();)for(h=c(b.Pb(),853),y=new q(h.Rf());y.a0?h.a?(b=h.b.Mf().b,r>b&&(e.v||h.c.d.c.length==1?(a=(r-b)/2,h.d.d=a,h.d.a=a):(n=c(Je(h.c.d,0),187).Mf().b,i=(n-b)/2,h.d.d=w.Math.max(0,i),h.d.a=r-i-b))):h.d.a=e.t+r:o8(e.u)&&(o=kae(h.b),o.d<0&&(h.d.d=-o.d),o.d+o.a>h.b.Mf().b&&(h.d.a=o.d+o.a-h.b.Mf().b))}function ya(){ya=U,$3=new qr((Un(),JN),De(1)),AL=new qr(rg,80),Cht=new qr(a3e,5),mht=new qr(K2,Mk),Iht=new qr(nQ,De(1)),Nht=new qr(iQ,(_t(),!0)),$ge=new Bg(50),Sht=new qr(S1,$ge),Lge=WN,Fge=HS,vht=new qr(UY,!1),Rge=XN,kht=Bm,jht=M0,xht=ig,yht=U2,Eht=Hm,Dge=(Pae(),fht),pX=ght,TL=aht,dX=hht,Bge=pht,Aht=x5,Pht=gR,Tht=YN,Mht=pR,Hge=(u3(),zm),new qr(ex,Hge)}function DYt(e,t){var n;switch(w7(e)){case 6:return Dr(t);case 7:return Nb(t);case 8:return Ib(t);case 3:return Array.isArray(t)&&(n=w7(t),!(n>=14&&n<=16));case 11:return t!=null&&typeof t===WV;case 12:return t!=null&&(typeof t===vI||typeof t==WV);case 0:return vz(t,e.__elementTypeId$);case 2:return ZH(t)&&t.Tm!==de;case 1:return ZH(t)&&t.Tm!==de||vz(t,e.__elementTypeId$);default:return!0}}function RYt(e){var t,n,i,r;i=e.o,Tb(),e.A.dc()||fi(e.A,Sge)?r=i.a:(e.D?r=w.Math.max(i.a,ej(e.f)):r=ej(e.f),e.A.Hc((Lu(),iC))&&!e.B.Hc((vu(),JS))&&(r=w.Math.max(r,ej(c(Ls(e.p,(qe(),Ht)),252))),r=w.Math.max(r,ej(c(Ls(e.p,fn),252)))),t=uJe(e),t&&(r=w.Math.max(r,t.a))),Xe(We(e.e.Tf().of((Un(),Bm))))?i.a=w.Math.max(i.a,r):i.a=r,n=e.f.i,n.c=0,n.b=r,IV(e.f)}function Jit(e,t){var n,i,r,o;return i=w.Math.min(w.Math.abs(e.c-(t.c+t.b)),w.Math.abs(e.c+e.b-t.c)),o=w.Math.min(w.Math.abs(e.d-(t.d+t.a)),w.Math.abs(e.d+e.a-t.d)),n=w.Math.abs(e.c+e.b/2-(t.c+t.b/2)),n>e.b/2+t.b/2||(r=w.Math.abs(e.d+e.a/2-(t.d+t.a/2)),r>e.a/2+t.a/2)?1:n==0&&r==0?0:n==0?o/r+1:r==0?i/n+1:w.Math.min(i/n,o/r)+1}function $Yt(e,t){var n,i,r,o,a,h,p;for(o=0,h=0,p=0,r=new q(e.f.e);r.a0&&e.d!=(k8(),bX)&&(h+=a*(i.d.a+e.a[t.a][i.a]*(t.d.a-i.d.a)/n)),n>0&&e.d!=(k8(),gX)&&(p+=a*(i.d.b+e.a[t.a][i.a]*(t.d.b-i.d.b)/n)));switch(e.d.g){case 1:return new Ae(h/o,t.d.b);case 2:return new Ae(t.d.a,p/o);default:return new Ae(h/o,p/o)}}function Yit(e){var t,n,i,r,o,a;for(n=(!e.a&&(e.a=new cr(il,e,5)),e.a).i+2,a=new ac(n),$e(a,new Ae(e.j,e.k)),Yi(new gt(null,(!e.a&&(e.a=new cr(il,e,5)),new yt(e.a,16))),new oOe(a)),$e(a,new Ae(e.b,e.c)),t=1;t0&&(C7(p,!1,(ar(),Js)),C7(p,!0,so)),mc(t.g,new l$e(e,n)),Jn(e.g,t,n)}function ert(){ert=U;var e;for(Fpe=J(W(kn,1),qn,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),qW=ke(kn,qn,28,37,15,1),Kat=J(W(kn,1),qn,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),Bpe=ke(B0,xU,28,37,14,1),e=2;e<=36;e++)qW[e]=kr(w.Math.pow(e,Fpe[e])),Bpe[e]=X7(jI,qW[e])}function FYt(e){var t;if((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a).i!=1)throw V(new Ft(Cut+(!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a).i));return t=new Hc,I7(c(le((!e.b&&(e.b=new It(cn,e,4,7)),e.b),0),84))&&Gr(t,Kst(e,I7(c(le((!e.b&&(e.b=new It(cn,e,4,7)),e.b),0),84)),!1)),I7(c(le((!e.c&&(e.c=new It(cn,e,5,8)),e.c),0),84))&&Gr(t,Kst(e,I7(c(le((!e.c&&(e.c=new It(cn,e,5,8)),e.c),0),84)),!0)),t}function trt(e,t){var n,i,r,o,a;for(t.d?r=e.a.c==(zf(),Xw)?Tr(t.b):nr(t.b):r=e.a.c==(zf(),x1)?Tr(t.b):nr(t.b),o=!1,i=new Qt(en(r.a.Kc(),new M));bn(i);)if(n=c(on(i),18),a=Xe(e.a.f[e.a.g[t.b.p].p]),!(!a&&!ys(n)&&n.c.i.c==n.d.i.c)&&!(Xe(e.a.n[e.a.g[t.b.p].p])||Xe(e.a.n[e.a.g[t.b.p].p]))&&(o=!0,Ba(e.b,e.a.g[FHt(n,t.b).p])))return t.c=!0,t.a=n,t;return t.c=o,t.a=null,t}function the(e,t,n){var i,r,o,a,h,p,b;if(i=n.gc(),i==0)return!1;if(e.Pj())if(p=e.Qj(),ale(e,t,n),a=i==1?e.Ij(3,null,n.Kc().Pb(),t,p):e.Ij(5,null,n,t,p),e.Mj()){for(h=i<100?null:new H1(i),o=t+i,r=t;r0){for(a=0;a>16==-15&&e.Cb.Yh()&&iq(new QK(e.Cb,9,13,n,e.c,l1(wu(c(e.Cb,62)),e))):ce(e.Cb,90)&&e.Db>>16==-23&&e.Cb.Yh()&&(t=e.c,ce(t,90)||(t=(kt(),na)),ce(n,90)||(n=(kt(),na)),iq(new QK(e.Cb,9,10,n,t,l1(Uo(c(e.Cb,29)),e)))))),e.c}function KYt(e,t,n){var i,r,o,a,h,p,b,v,y;for(n.Ug("Hyperedge merging",1),hGt(e,t),p=new Vr(t.b,0);p.b0,h=QP(t,o),pre(n?h.b:h.g,t),Kv(h).c.length==1&&Ui(i,h,i.c.b,i.c),r=new xr(o,t),Q1(e.o,r),Ac(e.e.a,o))}function urt(e,t){var n,i,r,o,a,h,p;return i=w.Math.abs(IA(e.b).a-IA(t.b).a),h=w.Math.abs(IA(e.b).b-IA(t.b).b),r=0,p=0,n=1,a=1,i>e.b.b/2+t.b.b/2&&(r=w.Math.min(w.Math.abs(e.b.c-(t.b.c+t.b.b)),w.Math.abs(e.b.c+e.b.b-t.b.c)),n=1-r/i),h>e.b.a/2+t.b.a/2&&(p=w.Math.min(w.Math.abs(e.b.d-(t.b.d+t.b.a)),w.Math.abs(e.b.d+e.b.a-t.b.d)),a=1-p/h),o=w.Math.min(n,a),(1-o)*w.Math.sqrt(i*i+h*h)}function VYt(e){var t,n,i,r;for(qV(e,e.e,e.f,(nw(),N0),!0,e.c,e.i),qV(e,e.e,e.f,N0,!1,e.c,e.i),qV(e,e.e,e.f,D2,!0,e.c,e.i),qV(e,e.e,e.f,D2,!1,e.c,e.i),HYt(e,e.c,e.e,e.f,e.i),i=new Vr(e.i,0);i.b=65;n--)_f[n]=n-65<<24>>24;for(i=122;i>=97;i--)_f[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)_f[r]=r-48+52<<24>>24;for(_f[43]=62,_f[47]=63,o=0;o<=25;o++)A1[o]=65+o&fr;for(a=26,p=0;a<=51;++a,p++)A1[a]=97+p&fr;for(e=52,h=0;e<=61;++e,h++)A1[e]=48+h&fr;A1[62]=43,A1[63]=47}function lrt(e,t){var n,i,r,o,a,h;return r=nue(e),h=nue(t),r==h?e.e==t.e&&e.a<54&&t.a<54?e.ft.f?1:0:(i=e.e-t.e,n=(e.d>0?e.d:w.Math.floor((e.a-1)*wot)+1)-(t.d>0?t.d:w.Math.floor((t.a-1)*wot)+1),n>i+1?r:n0&&(a=Dv(a,yrt(i))),bQe(o,a))):rb&&(E=0,A+=p+t,p=0),hk(a,E,A),n=w.Math.max(n,E+v.a),p=w.Math.max(p,v.b),E+=v.a+t;return new Ae(n+t,A+p+t)}function she(e,t){var n,i,r,o,a,h,p;if(!cf(e))throw V(new qs(Nut));if(i=cf(e),o=i.g,r=i.f,o<=0&&r<=0)return qe(),ko;switch(h=e.i,p=e.j,t.g){case 2:case 1:if(h<0)return qe(),qt;if(h+e.g>o)return qe(),Xt;break;case 4:case 3:if(p<0)return qe(),Ht;if(p+e.f>r)return qe(),fn}return a=(h+e.g/2)/o,n=(p+e.f/2)/r,a+n<=1&&a-n<=0?(qe(),qt):a+n>=1&&a-n>=0?(qe(),Xt):n<.5?(qe(),Ht):(qe(),fn)}function WYt(e,t,n,i,r){var o,a;if(o=as(Nr(t[0],Ms),Nr(i[0],Ms)),e[0]=Mn(o),o=Ug(o,32),n>=r){for(a=1;a0&&(r.b[a++]=0,r.b[a++]=o.b[0]-1),t=1;t0&&(qF(p,p.d-r.d),r.c==(za(),I0)&&Pjt(p,p.a-r.d),p.d<=0&&p.i>0&&Ui(t,p,t.c.b,t.c)));for(o=new q(e.f);o.a0&&($M(h,h.i-r.d),r.c==(za(),I0)&&_jt(h,h.b-r.d),h.i<=0&&h.d>0&&Ui(n,h,n.c.b,n.c)))}function YYt(e,t,n,i,r){var o,a,h,p,b,v,y,E,A;for(jt(),ir(e,new yNe),a=RE(e),A=new Re,E=new Re,h=null,p=0;a.b!=0;)o=c(a.b==0?null:(rn(a.b!=0),gl(a,a.a.a)),163),!h||zc(h)*Pu(h)/21&&(p>zc(h)*Pu(h)/2||a.b==0)&&(y=new yP(E),v=zc(h)/Pu(h),b=zV(y,t,new ky,n,i,r,v),li(Ha(y.e),b),h=y,Tt(A.c,y),p=0,E.c.length=0));return wr(A,E),A}function Wo(e,t,n,i,r){id();var o,a,h,p,b,v,y;if(Xse(e,"src"),Xse(n,"dest"),y=Ou(e),p=Ou(n),pse((y.i&4)!=0,"srcType is not an array"),pse((p.i&4)!=0,"destType is not an array"),v=y.c,a=p.c,pse(v.i&1?v==a:(a.i&1)==0,"Array types don't match"),RRt(e,t,n,i,r),!(v.i&1)&&y!=p)if(b=yp(e),o=yp(n),be(e)===be(n)&&ti;)Vi(o,h,b[--t]);else for(h=i+r;i0),i.a.Xb(i.c=--i.b),y>E+p&&_u(i);for(a=new q(A);a.a0),i.a.Xb(i.c=--i.b)}}function ZYt(){ci();var e,t,n,i,r,o;if(SQ)return SQ;for(e=new Ku(4),um(e,f0(TW,!0)),wj(e,f0("M",!0)),wj(e,f0("C",!0)),o=new Ku(4),i=0;i<11;i++)tc(o,i,i);return t=new Ku(4),um(t,f0("M",!0)),tc(t,4448,4607),tc(t,65438,65439),r=new W6(2),Pp(r,e),Pp(r,c9),n=new W6(2),n.Jm(wA(o,f0("L",!0))),n.Jm(t),n=new Fb(3,n),n=new Wse(r,n),SQ=n,SQ}function cm(e,t){var n,i,r,o,a,h,p,b;for(n=new RegExp(t,"g"),p=ke(Ye,Oe,2,0,6,1),i=0,b=e,o=null;;)if(h=n.exec(b),h==null||b==""){p[i]=b;break}else a=h.index,p[i]=(Ur(0,a,b.length),b.substr(0,a)),b=fl(b,a+h[0].length,b.length),n.lastIndex=0,o==b&&(p[i]=(Ur(0,1,b.length),b.substr(0,1)),b=(Bt(1,b.length+1),b.substr(1))),o=b,++i;if(e.length>0){for(r=p.length;r>0&&p[r-1]=="";)--r;r0&&(y-=i[0]+e.c,i[0]+=e.c),i[2]>0&&(y-=i[2]+e.c),i[1]=w.Math.max(i[1],y),yA(e.a[1],n.c+t.b+i[0]-(i[1]-y)/2,i[1]);for(o=e.a,h=0,b=o.length;h0?(e.n.c.length-1)*e.i:0,i=new q(e.n);i.a1)for(i=wn(r,0);i.b!=i.d.c;)for(n=c(dn(i),235),o=0,p=new q(n.e);p.a0&&(t[0]+=e.c,y-=t[0]),t[2]>0&&(y-=t[2]+e.c),t[1]=w.Math.max(t[1],y),xA(e.a[1],i.d+n.d+t[0]-(t[1]-y)/2,t[1]);else for(L=i.d+n.d,A=i.a-n.d-n.a,a=e.a,p=0,v=a.length;p0||dw(r.b.d,e.b.d+e.b.a)==0&&i.b<0||dw(r.b.d+r.b.a,e.b.d)==0&&i.b>0){h=0;break}}else h=w.Math.min(h,utt(e,r,i));h=w.Math.min(h,drt(e,o,h,i))}return h}function dI(e,t){var n,i,r,o,a,h,p;if(e.b<2)throw V(new Ft("The vector chain must contain at least a source and a target point."));for(r=(rn(e.b!=0),c(e.a.a.c,8)),SE(t,r.a,r.b),p=new Ry((!t.a&&(t.a=new cr(il,t,5)),t.a)),a=wn(e,1);a.a=0&&o!=n))throw V(new Ft(WI));for(r=0,p=0;ppe(of(a.g,a.d[0]).a)?(rn(p.b>0),p.a.Xb(p.c=--p.b),Ab(p,a),r=!0):h.e&&h.e.gc()>0&&(o=(!h.e&&(h.e=new Re),h.e).Mc(t),b=(!h.e&&(h.e=new Re),h.e).Mc(n),(o||b)&&((!h.e&&(h.e=new Re),h.e).Fc(a),++a.c));r||Tt(i.c,a)}function oQt(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X;return y=e.a.i+e.a.g/2,E=e.a.i+e.a.g/2,L=t.i+t.g/2,H=t.j+t.f/2,h=new Ae(L,H),b=c(Me(t,(Un(),Q3)),8),b.a=b.a+y,b.b=b.b+E,o=(h.b-b.b)/(h.a-b.a),i=h.b-o*h.a,$=n.i+n.g/2,X=n.j+n.f/2,p=new Ae($,X),v=c(Me(n,Q3),8),v.a=v.a+y,v.b=v.b+E,a=(p.b-v.b)/(p.a-v.a),r=p.b-a*p.a,A=(i-r)/(a-o),b.a>>0,"0"+t.toString(16)),i="\\x"+fl(n,n.length-2,n.length)):e>=xs?(n=(t=e>>>0,"0"+t.toString(16)),i="\\v"+fl(n,n.length-6,n.length)):i=""+String.fromCharCode(e&fr)}return i}function brt(e){var t,n,i;if(Sv(c(D(e,(Ge(),Ji)),101)))for(n=new q(e.j);n.a=t.o&&n.f<=t.f||t.a*.5<=n.f&&t.a*1.5>=n.f){if(a=c(Je(t.n,t.n.c.length-1),209),a.e+a.d+n.g+r<=i&&(o=c(Je(t.n,t.n.c.length-1),209),o.f-e.f+n.f<=e.b||e.a.c.length==1))return nle(t,n),!0;if(t.s+n.g<=i&&(t.t+t.d+n.f+r<=e.b||e.a.c.length==1))return $e(t.b,n),h=c(Je(t.n,t.n.c.length-1),209),$e(t.n,new zA(t.s,h.f+h.a+t.i,t.i)),Dle(c(Je(t.n,t.n.c.length-1),209),n),frt(t,n),!0}return!1}function vrt(e,t,n){var i,r,o,a;return e.Pj()?(r=null,o=e.Qj(),i=e.Ij(1,a=oq(e,t,n),n,t,o),e.Mj()&&!(e.Yi()&&a!=null?fi(a,n):be(a)===be(n))?(a!=null&&(r=e.Oj(a,r)),r=e.Nj(n,r),e.Tj()&&(r=e.Wj(a,n,r)),r?(r.nj(i),r.oj()):e.Jj(i)):(e.Tj()&&(r=e.Wj(a,n,r)),r?(r.nj(i),r.oj()):e.Jj(i)),a):(a=oq(e,t,n),e.Mj()&&!(e.Yi()&&a!=null?fi(a,n):be(a)===be(n))&&(r=null,a!=null&&(r=e.Oj(a,null)),r=e.Nj(n,r),r&&r.oj()),a)}function dQt(e,t){var n,i,r,o,a;if(t.Ug("Path-Like Graph Wrapping",1),e.b.c.length==0){t.Vg();return}if(r=new hfe(e),a=(r.i==null&&(r.i=iue(r,new pte)),pe(r.i)*r.f),n=a/(r.i==null&&(r.i=iue(r,new pte)),pe(r.i)),r.b>n){t.Vg();return}switch(c(D(e,(Ge(),IJ)),351).g){case 2:o=new wte;break;case 0:o=new dte;break;default:o=new bte}if(i=o.og(e,r),!o.pg())switch(c(D(e,PD),352).g){case 2:i=ltt(r,i);break;case 1:i=QZe(r,i)}uZt(e,r,i),t.Vg()}function aj(e,t){var n,i,r,o,a,h,p,b;t%=24,e.q.getHours()!=t&&(i=new w.Date(e.q.getTime()),i.setDate(i.getDate()+1),h=e.q.getTimezoneOffset()-i.getTimezoneOffset(),h>0&&(p=h/60|0,b=h%60,r=e.q.getDate(),n=e.q.getHours(),n+p>=24&&++r,o=new w.Date(e.q.getFullYear(),e.q.getMonth(),r,t+p,e.q.getMinutes()+b,e.q.getSeconds(),e.q.getMilliseconds()),e.q.setTime(o.getTime()))),a=e.q.getTime(),e.q.setTime(a+36e5),e.q.getHours()!=t&&e.q.setTime(a)}function pQt(e,t){var n,i,r,o;if(NPt(e.d,e.e),e.c.a.$b(),pe(ye(D(t.j,(Ge(),yD))))!=0||pe(ye(D(t.j,yD)))!=0)for(n=l2,be(D(t.j,$h))!==be((Gf(),y1))&&Ne(t.j,(Pe(),j0),(_t(),!0)),o=c(D(t.j,wS),17).a,r=0;rr&&++b,$e(a,(St(h+b,t.c.length),c(t.c[h+b],17))),p+=(St(h+b,t.c.length),c(t.c[h+b],17)).a-i,++n;n=H&&e.e[p.p]>L*e.b||ue>=n*H)&&(Tt(E.c,h),h=new Re,Gr(a,o),o.a.$b(),b-=v,A=w.Math.max(A,b*e.b+$),b+=ue,ie=ue,ue=0,v=0,$=0);return new xr(A,E)}function CV(e){var t,n,i,r,o,a,h;if(!e.d){if(h=new UNe,t=t9,o=t.a.zc(e,t),o==null){for(i=new Jt(eo(e));i.e!=i.i.gc();)n=c(tn(i),29),Wi(h,CV(n));t.a.Bc(e)!=null,t.a.gc()==0}for(a=h.i,r=(!e.q&&(e.q=new Ie(ea,e,11,10)),new Jt(e.q));r.e!=r.i.gc();++a)c(tn(r),411);Wi(h,(!e.q&&(e.q=new Ie(ea,e,11,10)),e.q)),Gb(h),e.d=new jv((c(le(Se((X1(),Ot).o),9),19),h.i),h.g),e.e=c(h.g,688),e.e==null&&(e.e=kvt),gu(e).b&=-17}return e.d}function gk(e,t,n,i){var r,o,a,h,p,b;if(b=kc(e.e.Dh(),t),p=0,r=c(e.g,124),Ss(),c(t,69).xk()){for(a=0;a1||L==-1)if(y=c($,71),E=c(v,71),y.dc())E.$b();else for(a=!!Es(t),o=0,h=e.a?y.Kc():y.Ii();h.Ob();)b=c(h.Pb(),58),r=c(df(e,b),58),r?(a?(p=E.dd(r),p==-1?E.Gi(o,r):o!=p&&E.Ui(o,r)):E.Gi(o,r),++o):e.b&&!a&&(E.Gi(o,b),++o);else $==null?v.Wb(null):(r=df(e,$),r==null?e.b&&!Es(t)&&v.Wb($):v.Wb(r))}function vQt(e,t){var n,i,r,o,a,h,p,b;for(n=new Aje,r=new Qt(en(Tr(t).a.Kc(),new M));bn(r);)if(i=c(on(r),18),!ys(i)&&(h=i.c.i,mae(h,LL))){if(b=Rfe(e,h,LL,OL),b==-1)continue;n.b=w.Math.max(n.b,b),!n.a&&(n.a=new Re),$e(n.a,h)}for(a=new Qt(en(nr(t).a.Kc(),new M));bn(a);)if(o=c(on(a),18),!ys(o)&&(p=o.d.i,mae(p,OL))){if(b=Rfe(e,p,OL,LL),b==-1)continue;n.d=w.Math.max(n.d,b),!n.c&&(n.c=new Re),$e(n.c,p)}return n}function yQt(e,t,n,i){var r,o,a,h,p,b,v;if(n.d.i!=t.i){for(r=new yd(e),np(r,(Kt(),_r)),Ne(r,(Pe(),gi),n),Ne(r,(Ge(),Ji),(Br(),uc)),Tt(i.c,r),a=new Go,bo(a,r),jr(a,(qe(),qt)),h=new Go,bo(h,r),jr(h,Xt),v=n.d,Fr(n,a),o=new ew,no(o,n),Ne(o,Xs,null),ls(o,h),Fr(o,v),b=new Vr(n.b,0);b.b1e6)throw V(new YM("power of ten too big"));if(e<=ui)return e3(rI(D3[1],t),t);for(i=rI(D3[1],ui),r=i,n=Oo(e-ui),t=kr(e%ui);Fo(n,ui)>0;)r=Dv(r,i),n=Hl(n,ui);for(r=Dv(r,rI(D3[1],t)),r=e3(r,ui),n=Oo(e-ui);Fo(n,ui)>0;)r=e3(r,ui),n=Hl(n,ui);return r=e3(r,t),r}function xrt(e){var t,n,i,r,o,a,h,p,b,v;for(p=new q(e.a);p.ab&&i>b)v=h,b=pe(t.p[h.p])+pe(t.d[h.p])+h.o.b+h.d.a;else{r=!1,n._g()&&n.bh("bk node placement breaks on "+h+" which should have been after "+v);break}if(!r)break}return n._g()&&n.bh(t+" is feasible: "+r),r}function lhe(e,t,n,i){var r,o,a,h,p,b,v,y,E;if(o=new yd(e),np(o,(Kt(),oc)),Ne(o,(Ge(),Ji),(Br(),uc)),r=0,t){for(a=new Go,Ne(a,(Pe(),gi),t),Ne(o,gi,t.i),jr(a,(qe(),qt)),bo(a,o),E=Vf(t.e),b=E,v=0,y=b.length;v0){if(r<0&&v.a&&(r=p,o=b[0],i=0),r>=0){if(h=v.b,p==r&&(h-=i++,h==0))return 0;if(!Est(t,b,v,h,a)){p=r-1,b[0]=o;continue}}else if(r=-1,!Est(t,b,v,0,a))return 0}else{if(r=-1,rs(v.c,0)==32){if(y=b[0],SWe(t,b),b[0]>y)continue}else if(uAt(t,v.c,b[0])){b[0]+=v.c.length;continue}return 0}return atn(a,n)?b[0]:0}function IQt(e,t,n){var i,r,o,a,h,p,b,v,y,E;for(v=new jA(new uPe(n)),h=ke(Su,_h,28,e.f.e.c.length,16,1),Use(h,h.length),n[t.a]=0,b=new q(e.f.e);b.a=0&&!Uv(e,v,y);)--y;r[v]=y}for(A=0;A=0&&!Uv(e,h,L);)--h;o[L]=h}for(p=0;pt[E]&&Ei[p]&&U_(e,p,E,!1,!0)}function ahe(e){var t,n,i,r,o,a,h,p;n=Xe(We(D(e,(ya(),vht)))),o=e.a.c.d,h=e.a.d.d,n?(a=Bf(Ir(new Ae(h.a,h.b),o),.5),p=Bf(Xr(e.e),.5),t=Ir(li(new Ae(o.a,o.b),a),p),vre(e.d,t)):(r=pe(ye(D(e.a,Cht))),i=e.d,o.a>=h.a?o.b>=h.b?(i.a=h.a+(o.a-h.a)/2+r,i.b=h.b+(o.b-h.b)/2-r-e.e.b):(i.a=h.a+(o.a-h.a)/2+r,i.b=o.b+(h.b-o.b)/2+r):o.b>=h.b?(i.a=o.a+(h.a-o.a)/2+r,i.b=h.b+(o.b-h.b)/2+r):(i.a=o.a+(h.a-o.a)/2+r,i.b=o.b+(h.b-o.b)/2-r-e.e.b))}function hj(e){var t,n,i,r,o,a,h,p;if(!e.f){if(p=new jte,h=new jte,t=t9,a=t.a.zc(e,t),a==null){for(o=new Jt(eo(e));o.e!=o.i.gc();)r=c(tn(o),29),Wi(p,hj(r));t.a.Bc(e)!=null,t.a.gc()==0}for(i=(!e.s&&(e.s=new Ie($c,e,21,17)),new Jt(e.s));i.e!=i.i.gc();)n=c(tn(i),179),ce(n,102)&&yn(h,c(n,19));Gb(h),e.r=new fKe(e,(c(le(Se((X1(),Ot).o),6),19),h.i),h.g),Wi(p,e.r),Gb(p),e.f=new jv((c(le(Se(Ot.o),5),19),p.i),p.g),gu(e).b&=-3}return e.f}function jrt(e){Lg(e,new Ap(Pg(Mg(Ag(Tg(new ep,Rp),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new V9))),Le(e,Rp,KU,Ve(Pge)),Le(e,Rp,qU,Ve(lX)),Le(e,Rp,M3,Ve(rht)),Le(e,Rp,Iw,Ve(Age)),Le(e,Rp,Qhe,Ve(uht)),Le(e,Rp,Zhe,Ve(cht)),Le(e,Rp,Yhe,Ve(lht)),Le(e,Rp,ede,Ve(oht)),Le(e,Rp,cde,Ve(sht)),Le(e,Rp,ude,Ve(uX)),Le(e,Rp,lde,Ve(Tge)),Le(e,Rp,ade,Ve(NL))}function J_(){J_=U,Q3e=J(W(Al,1),Qf,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),Qmt=new RegExp(`[ -\r\f]+`);try{QS=J(W(uin,1),Mt,2114,0,[new X9((Bie(),n_("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",PE((JM(),JM(),Wj))))),new X9(n_("yyyy-MM-dd'T'HH:mm:ss'.'SSS",PE(Wj))),new X9(n_("yyyy-MM-dd'T'HH:mm:ss",PE(Wj))),new X9(n_("yyyy-MM-dd'T'HH:mm",PE(Wj))),new X9(n_("yyyy-MM-dd",PE(Wj)))])}catch(e){if(e=Ri(e),!ce(e,82))throw V(e)}}function CQt(e,t){var n,i,r,o;if(r=mu(e.d,1)!=0,i=zfe(e,t),i==0&&Xe(We(D(t.j,(Pe(),j0)))))return 0;!Xe(We(D(t.j,(Pe(),j0))))&&!Xe(We(D(t.j,C2)))||be(D(t.j,(Ge(),$h)))===be((Gf(),y1))?t.c.mg(t.e,r):r=Xe(We(D(t.j,j0))),uI(e,t,r,!0),Xe(We(D(t.j,C2)))&&Ne(t.j,C2,(_t(),!1)),Xe(We(D(t.j,j0)))&&(Ne(t.j,j0,(_t(),!1)),Ne(t.j,C2,!0)),n=zfe(e,t);do{if(tue(e),n==0)return 0;r=!r,o=n,uI(e,t,r,!1),n=zfe(e,t)}while(o>n);return o}function Srt(e,t){var n,i,r,o;if(r=mu(e.d,1)!=0,i=T_(e,t),i==0&&Xe(We(D(t.j,(Pe(),j0)))))return 0;!Xe(We(D(t.j,(Pe(),j0))))&&!Xe(We(D(t.j,C2)))||be(D(t.j,(Ge(),$h)))===be((Gf(),y1))?t.c.mg(t.e,r):r=Xe(We(D(t.j,j0))),uI(e,t,r,!0),Xe(We(D(t.j,C2)))&&Ne(t.j,C2,(_t(),!1)),Xe(We(D(t.j,j0)))&&(Ne(t.j,j0,(_t(),!1)),Ne(t.j,C2,!0)),n=T_(e,t);do{if(tue(e),n==0)return 0;r=!r,o=n,uI(e,t,r,!1),n=T_(e,t)}while(o>n);return o}function fhe(e,t,n,i){var r,o,a,h,p,b,v,y,E;return p=Ir(new Ae(n.a,n.b),e),b=p.a*t.b-p.b*t.a,v=t.a*i.b-t.b*i.a,y=(p.a*i.b-p.b*i.a)/v,E=b/v,v==0?b==0?(r=li(new Ae(n.a,n.b),Bf(new Ae(i.a,i.b),.5)),o=Z1(e,r),a=Z1(li(new Ae(e.a,e.b),t),r),h=w.Math.sqrt(i.a*i.a+i.b*i.b)*.5,o=0&&y<=1&&E>=0&&E<=1?li(new Ae(e.a,e.b),Bf(new Ae(t.a,t.b),y)):null}function MQt(e,t,n){var i,r,o,a,h;if(i=c(D(e,(Ge(),dJ)),21),n.a>t.a&&(i.Hc((Tp(),RS))?e.c.a+=(n.a-t.a)/2:i.Hc($S)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(i.Hc((Tp(),BS))?e.c.b+=(n.b-t.b)/2:i.Hc(FS)&&(e.c.b+=n.b-t.b)),c(D(e,(Pe(),cc)),21).Hc((Cs(),Nl))&&(n.a>t.a||n.b>t.b))for(h=new q(e.a);h.at.a&&(i.Hc((Tp(),RS))?e.c.a+=(n.a-t.a)/2:i.Hc($S)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(i.Hc((Tp(),BS))?e.c.b+=(n.b-t.b)/2:i.Hc(FS)&&(e.c.b+=n.b-t.b)),c(D(e,(Pe(),cc)),21).Hc((Cs(),Nl))&&(n.a>t.a||n.b>t.b))for(a=new q(e.a);a.a0?e.i:0)>t&&p>0&&(o=0,a+=p+e.i,r=w.Math.max(r,E),i+=p+e.i,p=0,E=0,n&&(++y,$e(e.n,new zA(e.s,a,e.i))),h=0),E+=b.g+(h>0?e.i:0),p=w.Math.max(p,b.f),n&&Dle(c(Je(e.n,y),209),b),o+=b.g+(h>0?e.i:0),++h;return r=w.Math.max(r,E),i+=p,n&&(e.r=r,e.d=i,Ble(e.j)),new al(e.s,e.t,r,i)}function MV(e){var t,n,i,r,o,a,h,p,b,v,y,E;for(e.b=!1,y=Li,p=br,E=Li,b=br,i=e.e.a.ec().Kc();i.Ob();)for(n=c(i.Pb(),272),r=n.a,y=w.Math.min(y,r.c),p=w.Math.max(p,r.c+r.b),E=w.Math.min(E,r.d),b=w.Math.max(b,r.d+r.a),a=new q(n.c);a.ae.o.a&&(v=(p-e.o.a)/2,h.b=w.Math.max(h.b,v),h.c=w.Math.max(h.c,v))}}function _Qt(e){var t,n,i,r,o,a,h,p;for(o=new bVe,aEt(o,(o3(),Fbt)),i=(r=xq(e,ke(Ye,Oe,2,0,6,1)),new h6(new nu(new xB(e,r).b)));i.bh?1:-1:Tue(e.a,t.a,o),r==-1)y=-p,v=a==p?UK(t.a,h,e.a,o):WK(t.a,h,e.a,o);else if(y=a,a==p){if(r==0)return Xf(),Jj;v=UK(e.a,o,t.a,h)}else v=WK(e.a,o,t.a,h);return b=new hp(y,v.length,v),w8(b),b}function OQt(e,t){var n,i,r,o;if(o=crt(t),!t.c&&(t.c=new Ie(du,t,9,9)),Yi(new gt(null,(!t.c&&(t.c=new Ie(du,t,9,9)),new yt(t.c,16))),new hPe(o)),r=c(D(o,(Pe(),cc)),21),Ien(t,r),r.Hc((Cs(),Nl)))for(i=new Jt((!t.c&&(t.c=new Ie(du,t,9,9)),t.c));i.e!=i.i.gc();)n=c(tn(i),123),ttn(e,t,o,n);return c(Me(t,(Ge(),Yp)),181).gc()!=0&&Znt(t,o),Xe(We(D(o,Pme)))&&r.Fc(fD),Ni(o,EN)&&oDe(new dle(pe(ye(D(o,EN)))),o),be(Me(t,Tm))===be((wd(),E1))?Enn(e,t,o):lnn(e,t,o),o}function LQt(e){var t,n,i,r,o,a,h,p;for(r=new q(e.b);r.a0?fl(n.a,0,o-1):""):(Ur(0,o-1,e.length),e.substr(0,o-1)):n?n.a:e}function DQt(e,t){var n,i,r,o,a,h,p;for(t.Ug("Sort By Input Model "+D(e,(Ge(),$h)),1),r=0,i=new q(e.b);i.a=e.b.length?(o[r++]=a.b[i++],o[r++]=a.b[i++]):i>=a.b.length?(o[r++]=e.b[n++],o[r++]=e.b[n++]):a.b[i]0?e.i:0)),++t;for(Jue(e.n,p),e.d=n,e.r=i,e.g=0,e.f=0,e.e=0,e.o=Li,e.p=Li,o=new q(e.b);o.a0&&(r=(!e.n&&(e.n=new Ie($s,e,1,7)),c(le(e.n,0),135)).a,!r||Hn(Hn((t.a+=' "',t),r),'"'))),n=(!e.b&&(e.b=new It(cn,e,4,7)),!(e.b.i<=1&&(!e.c&&(e.c=new It(cn,e,5,8)),e.c.i<=1))),n?t.a+=" [":t.a+=" ",Hn(t,sre(new pB,new Jt(e.b))),n&&(t.a+="]"),t.a+=JU,n&&(t.a+="["),Hn(t,sre(new pB,new Jt(e.c))),n&&(t.a+="]"),t.a)}function $Qt(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At;for(Ee=e.c,Te=t.c,n=to(Ee.a,e,0),i=to(Te.a,t,0),ue=c(pw(e,(Ns(),au)).Kc().Pb(),12),ut=c(pw(e,gc).Kc().Pb(),12),he=c(pw(t,au).Kc().Pb(),12),At=c(pw(t,gc).Kc().Pb(),12),X=Vf(ue.e),He=Vf(ut.g),ie=Vf(he.e),at=Vf(At.g),Qb(e,i,Te),a=ie,v=0,L=a.length;vv?new wp((za(),$m),n,t,b-v):b>0&&v>0&&(new wp((za(),$m),t,n,0),new wp($m,n,t,0))),a)}function HQt(e,t,n){var i,r,o;for(e.a=new Re,o=wn(t.b,0);o.b!=o.d.c;){for(r=c(dn(o),40);c(D(r,(Io(),ah)),17).a>e.a.c.length-1;)$e(e.a,new xr(l2,G1e));i=c(D(r,ah),17).a,n==(ar(),Js)||n==so?(r.e.ape(ye(c(Je(e.a,i),42).b))&&VF(c(Je(e.a,i),42),r.e.a+r.f.a)):(r.e.bpe(ye(c(Je(e.a,i),42).b))&&VF(c(Je(e.a,i),42),r.e.b+r.f.b))}}function Nrt(e,t,n,i){var r,o,a,h,p,b,v;if(o=JP(i),h=Xe(We(D(i,(Ge(),Ime)))),(h||Xe(We(D(e,ED))))&&!Sv(c(D(e,Ji),101)))r=l3(o),p=ehe(e,n,n==(Ns(),gc)?r:$7(r));else switch(p=new Go,bo(p,e),t?(v=p.n,v.a=t.a-e.n.a,v.b=t.b-e.n.b,_et(v,0,0,e.o.a,e.o.b),jr(p,Wit(p,o))):(r=l3(o),jr(p,n==(Ns(),gc)?r:$7(r))),a=c(D(i,(Pe(),cc)),21),b=p.j,o.g){case 2:case 1:(b==(qe(),Ht)||b==fn)&&a.Fc((Cs(),E2));break;case 4:case 3:(b==(qe(),Xt)||b==qt)&&a.Fc((Cs(),E2))}return p}function Crt(e,t){var n,i,r,o,a,h;for(a=new jp(new rp(e.f.b).a);a.b;){if(o=aw(a),r=c(o.ld(),602),t==1){if(r.Af()!=(ar(),Cl)&&r.Af()!=Cf)continue}else if(r.Af()!=(ar(),Js)&&r.Af()!=so)continue;switch(i=c(c(o.md(),42).b,86),h=c(c(o.md(),42).a,194),n=h.c,r.Af().g){case 2:i.g.c=e.e.a,i.g.b=w.Math.max(1,i.g.b+n);break;case 1:i.g.c=i.g.c+n,i.g.b=w.Math.max(1,i.g.b-n);break;case 4:i.g.d=e.e.b,i.g.a=w.Math.max(1,i.g.a+n);break;case 3:i.g.d=i.g.d+n,i.g.a=w.Math.max(1,i.g.a-n)}}}function KQt(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$;for(h=ke(kn,qn,28,t.b.c.length,15,1),b=ke(EX,Ce,273,t.b.c.length,0,1),p=ke(Rh,p1,10,t.b.c.length,0,1),y=e.a,E=0,A=y.length;E0&&p[i]&&(L=Cv(e.b,p[i],r)),$=w.Math.max($,r.c.c.b+L);for(o=new q(v.e);o.a1)throw V(new Ft(ZI));p||(o=jh(t,i.Kc().Pb()),a.Fc(o))}return wue(e,Rae(e,t,n),a)}function Q_(e,t,n){var i,r,o,a,h,p,b,v;if(kd(e.e,t))p=(Ss(),c(t,69).xk()?new fA(t,e):new kE(t,e)),P_(p.c,p.b),X6(p,c(n,16));else{for(v=kc(e.e.Dh(),t),i=c(e.g,124),a=0;a"}p!=null&&(t.a+=""+p)}else e.e?(h=e.e.zb,h!=null&&(t.a+=""+h)):(t.a+="?",e.b?(t.a+=" super ",OV(e.b,t)):e.f&&(t.a+=" extends ",OV(e.f,t)))}function GQt(e){e.b=null,e.a=null,e.o=null,e.q=null,e.v=null,e.w=null,e.B=null,e.p=null,e.Q=null,e.R=null,e.S=null,e.T=null,e.U=null,e.V=null,e.W=null,e.bb=null,e.eb=null,e.ab=null,e.H=null,e.db=null,e.c=null,e.d=null,e.f=null,e.n=null,e.r=null,e.s=null,e.u=null,e.G=null,e.J=null,e.e=null,e.j=null,e.i=null,e.g=null,e.k=null,e.t=null,e.F=null,e.I=null,e.L=null,e.M=null,e.O=null,e.P=null,e.$=null,e.N=null,e.Z=null,e.cb=null,e.K=null,e.D=null,e.A=null,e.C=null,e._=null,e.fb=null,e.X=null,e.Y=null,e.gb=!1,e.hb=!1}function WQt(e){var t,n,i,r;if(i=UV((!e.c&&(e.c=QE(Oo(e.f))),e.c),0),e.e==0||e.a==0&&e.f!=-1&&e.e<0)return i;if(t=nue(e)<0?1:0,n=e.e,r=(i.length+1+w.Math.abs(kr(e.e)),new Cy),t==1&&(r.a+="-"),e.e>0)if(n-=i.length-t,n>=0){for(r.a+="0.";n>Vp.length;n-=Vp.length)xKe(r,Vp);sHe(r,Vp,kr(n)),Hn(r,(Bt(t,i.length+1),i.substr(t)))}else n=t-n,Hn(r,fl(i,t,kr(n))),r.a+=".",Hn(r,toe(i,kr(n)));else{for(Hn(r,(Bt(t,i.length+1),i.substr(t)));n<-Vp.length;n+=Vp.length)xKe(r,Vp);sHe(r,Vp,kr(-n))}return r.a}function LV(e){var t,n,i,r,o,a,h,p,b;return!(e.k!=(Kt(),er)||e.j.c.length<=1||(o=c(D(e,(Ge(),Ji)),101),o==(Br(),uc))||(r=(Yb(),(e.q?e.q:(jt(),jt(),Lh))._b(zw)?i=c(D(e,zw),203):i=c(D(Yr(e),pS),203),i),r==DD)||!(r==L2||r==O2)&&(a=pe(ye(Jb(e,gS))),t=c(D(e,NN),140),!t&&(t=new $re(a,a,a,a)),b=yo(e,(qe(),qt)),p=t.d+t.a+(b.gc()-1)*a,p>e.o.b||(n=yo(e,Xt),h=t.d+t.a+(n.gc()-1)*a,h>e.o.b)))}function XQt(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H;t.Ug("Orthogonal edge routing",1),b=pe(ye(D(e,(Ge(),_2)))),n=pe(ye(D(e,A2))),i=pe(ye(D(e,Zp))),E=new rK(0,n),H=0,a=new Vr(e.b,0),h=null,v=null,p=null,y=null;do v=a.b0?(A=(L-1)*n,h&&(A+=i),v&&(A+=i),At||Xe(We(Me(p,(mf(),BN)))))&&(r=0,o+=v.b+n,Tt(y.c,v),v=new _oe(o,n),i=new Rq(0,v.f,v,n),EP(v,i),r=0),i.b.c.length==0||!Xe(We(Me(Oi(p),(mf(),IY))))&&(p.f>=i.o&&p.f<=i.f||i.a*.5<=p.f&&i.a*1.5>=p.f)?nle(i,p):(a=new Rq(i.s+i.r+n,v.f,v,n),EP(v,a),nle(a,p)),r=p.i+p.g;return Tt(y.c,v),y}function pj(e){var t,n,i,r;if(!(e.b==null||e.b.length<=2)&&!e.a){for(t=0,r=0;r=e.b[r+1])r+=2;else if(n0)for(i=new iu(c(pi(e.a,o),21)),jt(),ir(i,new Zte(t)),r=new Vr(o.b,0);r.b0&&i>=-6?i>=0?EE(o,n-kr(e.e),"."):(Iq(o,t-1,t-1,"0."),EE(o,t+1,Uf(Vp,0,-kr(i)-1))):(n-t>=1&&(EE(o,t,"."),++n),EE(o,n,"E"),i>0&&EE(o,++n,"+"),EE(o,++n,""+c8(Oo(i)))),e.g=o.a,e.g))}function sZt(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He;i=pe(ye(D(t,(Ge(),Mme)))),Ee=c(D(t,wS),17).a,E=4,r=3,Te=20/Ee,A=!1,p=0,a=ui;do{for(o=p!=1,y=p!=0,He=0,H=e.a,ie=0,he=H.length;ieEe)?(p=2,a=ui):p==0?(p=1,a=He):(p=0,a=He)):(A=He>=a||a-He0?1:Fg(isNaN(i),isNaN(0)))>=0^(wa(rh),(w.Math.abs(h)<=rh||h==0||isNaN(h)&&isNaN(0)?0:h<0?-1:h>0?1:Fg(isNaN(h),isNaN(0)))>=0)?w.Math.max(h,i):(wa(rh),(w.Math.abs(i)<=rh||i==0||isNaN(i)&&isNaN(0)?0:i<0?-1:i>0?1:Fg(isNaN(i),isNaN(0)))>0?w.Math.sqrt(h*h+i*i):-w.Math.sqrt(h*h+i*i))}function Pp(e,t){var n,i,r,o,a,h;if(t){if(!e.a&&(e.a=new WM),e.e==2){GM(e.a,t);return}if(t.e==1){for(r=0;r=xs?Os(n,tle(i)):a4(n,i&fr),a=new jK(10,null,0),zMt(e.a,a,h-1)):(n=(a.Mm().length+o,new j6),Os(n,a.Mm())),t.e==0?(i=t.Km(),i>=xs?Os(n,tle(i)):a4(n,i&fr)):Os(n,t.Mm()),c(a,530).b=n.a}}function uZt(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H;if(!n.dc()){for(h=0,E=0,i=n.Kc(),L=c(i.Pb(),17).a;h1&&(p=b.Hg(p,e.a,h));return p.c.length==1?c(Je(p,p.c.length-1),238):p.c.length==2?YQt((St(0,p.c.length),c(p.c[0],238)),(St(1,p.c.length),c(p.c[1],238)),a,o):null}function dZt(e,t,n){var i,r,o,a,h,p,b;for(n.Ug("Find roots",1),e.a.c.length=0,r=wn(t.b,0);r.b!=r.d.c;)i=c(dn(r),40),i.b.b==0&&(Ne(i,(Si(),C0),(_t(),!0)),$e(e.a,i));switch(e.a.c.length){case 0:o=new Dq(0,t,"DUMMY_ROOT"),Ne(o,(Si(),C0),(_t(),!0)),Ne(o,XJ,!0),$n(t.b,o);break;case 1:break;default:for(a=new Dq(0,t,BO),p=new q(e.a);p.a=w.Math.abs(i.b)?(i.b=0,o.d+o.a>a.d&&o.da.c&&o.c0){if(t=new Die(e.i,e.g),n=e.i,o=n<100?null:new H1(n),e.Tj())for(i=0;i0){for(h=e.g,b=e.i,x8(e),o=b<100?null:new H1(b),i=0;i>13|(e.m&15)<<9,r=e.m>>4&8191,o=e.m>>17|(e.h&255)<<5,a=(e.h&1048320)>>8,h=t.l&8191,p=t.l>>13|(t.m&15)<<9,b=t.m>>4&8191,v=t.m>>17|(t.h&255)<<5,y=(t.h&1048320)>>8,at=n*h,ut=i*h,At=r*h,Pt=o*h,nn=a*h,p!=0&&(ut+=n*p,At+=i*p,Pt+=r*p,nn+=o*p),b!=0&&(At+=n*b,Pt+=i*b,nn+=r*b),v!=0&&(Pt+=n*v,nn+=i*v),y!=0&&(nn+=n*y),A=at&yu,L=(ut&511)<<13,E=A+L,H=at>>22,X=ut>>9,ie=(At&262143)<<4,ue=(Pt&31)<<17,$=H+X+ie+ue,Ee=At>>18,Te=Pt>>5,He=(nn&4095)<<8,he=Ee+Te+He,$+=E>>22,E&=yu,he+=$>>22,$&=yu,he&=Sd,wc(E,$,he)}function Frt(e){var t,n,i,r,o,a,h;if(h=c(Je(e.j,0),12),h.g.c.length!=0&&h.e.c.length!=0)throw V(new qs("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(h.g.c.length!=0){for(o=Li,n=new q(h.g);n.a4)if(e.fk(t)){if(e.al()){if(r=c(t,54),i=r.Eh(),p=i==e.e&&(e.ml()?r.yh(r.Fh(),e.il())==e.jl():-1-r.Fh()==e.Lj()),e.nl()&&!p&&!i&&r.Jh()){for(o=0;o0&&Bet(e,h,y);for(r=new q(y);r.ae.d[a.p]&&(n+=Woe(e.b,o)*c(p.b,17).a,Q1(e.a,De(o)));for(;!k6(e.a);)Nce(e.b,c(Vy(e.a),17).a)}return n}function mZt(e,t){var n,i,r,o,a,h,p,b,v,y;if(v=c(D(e,(Pe(),Ao)),64),i=c(Je(e.j,0),12),v==(qe(),Ht)?jr(i,fn):v==fn&&jr(i,Ht),c(D(t,(Ge(),Yp)),181).Hc((Lu(),og))){if(p=pe(ye(D(e,f5))),b=pe(ye(D(e,h5))),a=pe(ye(D(e,Lm))),h=c(D(t,_m),21),h.Hc((uu(),Ad)))for(n=b,y=e.o.a/2-i.n.a,o=new q(i.f);o.a0&&(b=e.n.a/o);break;case 2:case 4:r=e.i.o.b,r>0&&(b=e.n.b/r)}Ne(e,(Pe(),Bw),b)}if(p=e.o,a=e.a,i)a.a=i.a,a.b=i.b,e.d=!0;else if(t!=Tf&&t!=P0&&h!=ko)switch(h.g){case 1:a.a=p.a/2;break;case 2:a.a=p.a,a.b=p.b/2;break;case 3:a.a=p.a/2,a.b=p.b;break;case 4:a.b=p.b/2}else a.a=p.a/2,a.b=p.b/2}function gj(e){var t,n,i,r,o,a,h,p,b,v;if(e.Pj())if(v=e.Ej(),p=e.Qj(),v>0)if(t=new oue(e.pj()),n=v,o=n<100?null:new H1(n),TE(e,n,t.g),r=n==1?e.Ij(4,le(t,0),null,0,p):e.Ij(6,t,null,-1,p),e.Mj()){for(i=new Jt(t);i.e!=i.i.gc();)o=e.Oj(tn(i),o);o?(o.nj(r),o.oj()):e.Jj(r)}else o?(o.nj(r),o.oj()):e.Jj(r);else TE(e,e.Ej(),e.Fj()),e.Jj(e.Ij(6,(jt(),vs),null,-1,p));else if(e.Mj())if(v=e.Ej(),v>0){for(h=e.Fj(),b=v,TE(e,v,h),o=b<100?null:new H1(b),i=0;i1&&zc(a)*Pu(a)/2>h[0]){for(o=0;o<$.c.length-1&&zc(a)*Pu(a)/2>h[o];)++o;L=new Jd($,0,o+1),y=new yP(L),v=zc(a)/Pu(a),p=zV(y,t,new ky,n,i,r,v),li(Ha(y.e),p),Ky(sk(E,y),Ek),A=new Jd($,o+1,$.c.length),zle(E,A),$.c.length=0,b=0,$Ke(h,h.length,0)}else H=E.b.c.length==0?null:Je(E.b,0),H!=null&&mq(E,0),b>0&&(h[b]=h[b-1]),h[b]+=zc(a)*Pu(a),++b,Tt($.c,a);return $}function SZt(e,t){var n,i,r,o;n=t.b,o=new iu(n.j),r=0,i=n.j,i.c.length=0,Gg(c(kp(e.b,(qe(),Ht),(lw(),Rw)),15),n),r=q7(o,r,new $9e,i),Gg(c(kp(e.b,Ht,k0),15),n),r=q7(o,r,new A9e,i),Gg(c(kp(e.b,Ht,Dw),15),n),Gg(c(kp(e.b,Xt,Rw),15),n),Gg(c(kp(e.b,Xt,k0),15),n),r=q7(o,r,new F9e,i),Gg(c(kp(e.b,Xt,Dw),15),n),Gg(c(kp(e.b,fn,Rw),15),n),r=q7(o,r,new B9e,i),Gg(c(kp(e.b,fn,k0),15),n),r=q7(o,r,new H9e,i),Gg(c(kp(e.b,fn,Dw),15),n),Gg(c(kp(e.b,qt,Rw),15),n),r=q7(o,r,new O9e,i),Gg(c(kp(e.b,qt,k0),15),n),Gg(c(kp(e.b,qt,Dw),15),n)}function EZt(e,t,n){var i,r,o,a,h,p,b,v,y,E,A;for(h=new q(t);h.a.5?X-=a*2*(L-.5):L<.5&&(X+=o*2*(.5-L)),r=h.d.b,XH.a-$-v&&(X=H.a-$-v),h.n.a=t+X}}function MZt(e){var t,n,i,r,o;if(i=c(D(e,(Ge(),Ec)),171),i==(yl(),S0)){for(n=new Qt(en(Tr(e).a.Kc(),new M));bn(n);)if(t=c(on(n),18),!QUe(t))throw V(new Hd(eG+V7(e)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(i==Cm){for(o=new Qt(en(nr(e).a.Kc(),new M));bn(o);)if(r=c(on(o),18),!QUe(r))throw V(new Hd(eG+V7(e)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function wI(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L;if(e.e&&e.c.c>19&&(t=B4(t),p=!p),a=dWt(t),o=!1,r=!1,i=!1,e.h==II&&e.m==0&&e.l==0)if(r=!0,o=!0,a==-1)e=SFe((j4(),Tpe)),i=!0,p=!p;else return h=dfe(e,a),p&&Lq(h),n&&(m0=wc(0,0,0)),h;else e.h>>19&&(o=!0,e=B4(e),i=!0,p=!p);return a!=-1?KRt(e,a,p,o,n):Qle(e,t)<0?(n&&(o?m0=B4(e):m0=wc(e.l,e.m,e.h)),wc(0,0,0)):aYt(i?e:wc(e.l,e.m,e.h),t,p,o,r,n)}function FV(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L;if(a=e.e,p=t.e,a==0)return t;if(p==0)return e;if(o=e.d,h=t.d,o+h==2)return n=Nr(e.a[0],Ms),i=Nr(t.a[0],Ms),a==p?(v=as(n,i),L=Mn(v),A=Mn(W1(v,32)),A==0?new ad(a,L):new hp(a,2,J(W(kn,1),qn,28,15,[L,A]))):(Xf(),RT(a<0?Hl(i,n):Hl(n,i),0)?o0(a<0?Hl(i,n):Hl(n,i)):a8(o0(e1(a<0?Hl(i,n):Hl(n,i)))));if(a==p)E=a,y=o>=h?WK(e.a,o,t.a,h):WK(t.a,h,e.a,o);else{if(r=o!=h?o>h?1:-1:Tue(e.a,t.a,o),r==0)return Xf(),Jj;r==1?(E=a,y=UK(e.a,o,t.a,h)):(E=p,y=UK(t.a,h,e.a,o))}return b=new hp(E,y.length,y),w8(b),b}function AZt(e,t){var n,i,r,o,a,h,p;if(!(e.g>t.f||t.g>e.f)){for(n=0,i=0,a=e.w.a.ec().Kc();a.Ob();)r=c(a.Pb(),12),Gq(vo(J(W(Ar,1),Oe,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&++n;for(h=e.r.a.ec().Kc();h.Ob();)r=c(h.Pb(),12),Gq(vo(J(W(Ar,1),Oe,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&--n;for(p=t.w.a.ec().Kc();p.Ob();)r=c(p.Pb(),12),Gq(vo(J(W(Ar,1),Oe,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&++i;for(o=t.r.a.ec().Kc();o.Ob();)r=c(o.Pb(),12),Gq(vo(J(W(Ar,1),Oe,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&--i;n=0)return n;switch(Qg(Vs(e,n))){case 2:{if(wt("",r1(e,n.qk()).xe())){if(p=VE(Vs(e,n)),h=d4(Vs(e,n)),v=bfe(e,t,p,h),v)return v;for(r=Gfe(e,t),a=0,y=r.gc();a1)throw V(new Ft(ZI));for(v=kc(e.e.Dh(),t),i=c(e.g,124),a=0;a1,b=new ff(E.b);wo(b.a)||wo(b.b);)p=c(wo(b.a)?K(b.a):K(b.b),18),y=p.c==E?p.d:p.c,w.Math.abs(vo(J(W(Ar,1),Oe,8,0,[y.i.n,y.n,y.a])).b-a.b)>1&&mXt(e,p,a,o,E)}}function RZt(e){var t,n,i,r,o,a;if(r=new Vr(e.e,0),i=new Vr(e.a,0),e.d)for(n=0;nOG;){for(o=t,a=0;w.Math.abs(t-o)0),r.a.Xb(r.c=--r.b),QYt(e,e.b-a,o,i,r),rn(r.b0),i.a.Xb(i.c=--i.b)}if(!e.d)for(n=0;n0?(e.f[v.p]=A/(v.e.c.length+v.g.c.length),e.c=w.Math.min(e.c,e.f[v.p]),e.b=w.Math.max(e.b,e.f[v.p])):h&&(e.f[v.p]=A)}}function FZt(e){e.b=null,e.bb=null,e.fb=null,e.qb=null,e.a=null,e.c=null,e.d=null,e.e=null,e.f=null,e.n=null,e.M=null,e.L=null,e.Q=null,e.R=null,e.K=null,e.db=null,e.eb=null,e.g=null,e.i=null,e.j=null,e.k=null,e.gb=null,e.o=null,e.p=null,e.q=null,e.r=null,e.$=null,e.ib=null,e.S=null,e.T=null,e.t=null,e.s=null,e.u=null,e.v=null,e.w=null,e.B=null,e.A=null,e.C=null,e.D=null,e.F=null,e.G=null,e.H=null,e.I=null,e.J=null,e.P=null,e.Z=null,e.U=null,e.V=null,e.W=null,e.X=null,e.Y=null,e._=null,e.ab=null,e.cb=null,e.hb=null,e.nb=null,e.lb=null,e.mb=null,e.ob=null,e.pb=null,e.jb=null,e.kb=null,e.N=!1,e.O=!1}function BZt(e,t,n){var i,r,o,a;for(n.Ug("Graph transformation ("+e.a+")",1),a=iw(t.a),o=new q(t.b);o.a=h.b.c)&&(h.b=t),(!h.c||t.c<=h.c.c)&&(h.d=h.c,h.c=t),(!h.e||t.d>=h.e.d)&&(h.e=t),(!h.f||t.d<=h.f.d)&&(h.f=t);return i=new f_(($4(),Lw)),ZE(e,ndt,new nu(J(W(hN,1),Mt,382,0,[i]))),a=new f_(km),ZE(e,tdt,new nu(J(W(hN,1),Mt,382,0,[a]))),r=new f_(xm),ZE(e,edt,new nu(J(W(hN,1),Mt,382,0,[r]))),o=new f_(v2),ZE(e,Zht,new nu(J(W(hN,1),Mt,382,0,[o]))),aV(i.c,Lw),aV(r.c,xm),aV(o.c,v2),aV(a.c,km),h.a.c.length=0,wr(h.a,i.c),wr(h.a,vl(r.c)),wr(h.a,o.c),wr(h.a,vl(a.c)),h}function qZt(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L;for(t.Ug(eut,1),A=pe(ye(Me(e,(Nh(),Fm)))),a=pe(ye(Me(e,(mf(),_S)))),h=c(Me(e,PS),107),eue((!e.a&&(e.a=new Ie(ti,e,10,11)),e.a)),v=Lrt((!e.a&&(e.a=new Ie(ti,e,10,11)),e.a),A,a),!e.a&&(e.a=new Ie(ti,e,10,11)),b=new q(v);b.a0&&(e.a=p+(A-1)*o,t.c.b+=e.a,t.f.b+=e.a)),L.a.gc()!=0&&(E=new rK(1,o),A=yhe(E,t,L,$,t.f.b+p-t.c.b),A>0&&(t.f.b+=p+(A-1)*o))}function Krt(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he;for(v=pe(ye(D(e,(Ge(),Uw)))),i=pe(ye(D(e,Fme))),E=new OF,Ne(E,Uw,v+i),b=t,X=b.d,$=b.c.i,ie=b.d.i,H=qie($.c),ue=qie(ie.c),r=new Re,y=H;y<=ue;y++)h=new yd(e),np(h,(Kt(),_r)),Ne(h,(Pe(),gi),b),Ne(h,Ji,(Br(),uc)),Ne(h,AD,E),A=c(Je(e.b,y),30),y==H?Qb(h,A.a.c.length-n,A):zr(h,A),he=pe(ye(D(b,m1))),he<0&&(he=0,Ne(b,m1,he)),h.o.b=he,L=w.Math.floor(he/2),a=new Go,jr(a,(qe(),qt)),bo(a,h),a.n.b=L,p=new Go,jr(p,Xt),bo(p,h),p.n.b=L,Fr(b,a),o=new ew,no(o,b),Ne(o,Xs,null),ls(o,p),Fr(o,X),PKt(h,b,o),Tt(r.c,o),b=o;return r}function BV(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue;for(p=c(a1(e,(qe(),qt)).Kc().Pb(),12).e,A=c(a1(e,Xt).Kc().Pb(),12).g,h=p.c.length,ue=lf(c(Je(e.j,0),12));h-- >0;){for($=(St(0,p.c.length),c(p.c[0],18)),r=(St(0,A.c.length),c(A.c[0],18)),ie=r.d.e,o=to(ie,r,0),d_t($,r.d,o),ls(r,null),Fr(r,null),L=$.a,t&&$n(L,new gs(ue)),i=wn(r.a,0);i.b!=i.d.c;)n=c(dn(i),8),$n(L,new gs(n));for(X=$.b,E=new q(r.b);E.aa)&&gr(e.b,c(H.b,18));++h}o=a}}}function bhe(e,t){var n;if(t==null||wt(t,Oc)||t.length==0&&e.k!=(f1(),Y3))return null;switch(e.k.g){case 1:return o_(t,$k)?(_t(),Vk):o_(t,QG)?(_t(),v0):null;case 2:try{return De(Wu(t,os,ui))}catch(i){if(i=Ri(i),ce(i,130))return null;throw V(i)}case 4:try{return em(t)}catch(i){if(i=Ri(i),ce(i,130))return null;throw V(i)}case 3:return t;case 5:return cYe(e),ktt(e,t);case 6:return cYe(e),zGt(e,e.a,t);case 7:try{return n=tGt(e),n.cg(t),n}catch(i){if(i=Ri(i),ce(i,33))return null;throw V(i)}default:throw V(new qs("Invalid type set for this layout option."))}}function mhe(e){var t;switch(e.d){case 1:{if(e.Sj())return e.o!=-2;break}case 2:{if(e.Sj())return e.o==-2;break}case 3:case 5:case 4:case 6:case 7:return e.o>-2;default:return!1}switch(t=e.Rj(),e.p){case 0:return t!=null&&Xe(We(t))!=z6(e.k,0);case 1:return t!=null&&c(t,222).a!=Mn(e.k)<<24>>24;case 2:return t!=null&&c(t,180).a!=(Mn(e.k)&fr);case 6:return t!=null&&z6(c(t,168).a,e.k);case 5:return t!=null&&c(t,17).a!=Mn(e.k);case 7:return t!=null&&c(t,191).a!=Mn(e.k)<<16>>16;case 3:return t!=null&&pe(ye(t))!=e.j;case 4:return t!=null&&c(t,161).a!=e.j;default:return t==null?e.n!=null:!fi(t,e.n)}}function bI(e,t,n){var i,r,o,a;return e.ol()&&e.nl()&&(a=QH(e,c(n,58)),be(a)!==be(n))?(e.xj(t),e.Dj(t,zGe(e,t,a)),e.al()&&(o=(r=c(n,54),e.ml()?e.kl()?r.Th(e.b,Es(c(Nt(Tc(e.b),e.Lj()),19)).n,c(Nt(Tc(e.b),e.Lj()).Hk(),29).kk(),null):r.Th(e.b,$i(r.Dh(),Es(c(Nt(Tc(e.b),e.Lj()),19))),null,null):r.Th(e.b,-1-e.Lj(),null,null)),!c(a,54).Ph()&&(o=(i=c(a,54),e.ml()?e.kl()?i.Rh(e.b,Es(c(Nt(Tc(e.b),e.Lj()),19)).n,c(Nt(Tc(e.b),e.Lj()).Hk(),29).kk(),o):i.Rh(e.b,$i(i.Dh(),Es(c(Nt(Tc(e.b),e.Lj()),19))),null,o):i.Rh(e.b,-1-e.Lj(),null,o))),o&&o.oj()),Mu(e.b)&&e.Jj(e.Ij(9,n,a,t,!1)),a):n}function qrt(e){var t,n,i,r,o,a,h,p,b,v;for(i=new Re,a=new q(e.e.a);a.a0&&(a=w.Math.max(a,UXe(e.C.b+i.d.b,r))),v=i,y=r,E=o;e.C&&e.C.c>0&&(A=E+e.C.c,b&&(A+=v.d.c),a=w.Math.max(a,(sf(),wa(yf),w.Math.abs(y-1)<=yf||y==1||isNaN(y)&&isNaN(1)?0:A/(1-y)))),n.n.b=0,n.a.a=a}function Vrt(e,t){var n,i,r,o,a,h,p,b,v,y,E,A;if(n=c(Ls(e.b,t),127),p=c(c(pi(e.r,t),21),87),p.dc()){n.n.d=0,n.n.a=0;return}for(b=e.u.Hc((uu(),Ad)),a=0,e.A.Hc((Lu(),og))&&yit(e,t),h=p.Kc(),v=null,E=0,y=0;h.Ob();)i=c(h.Pb(),117),o=pe(ye(i.b.of((JT(),SL)))),r=i.b.Mf().b,v?(A=y+v.d.a+e.w+i.d.d,a=w.Math.max(a,(sf(),wa(yf),w.Math.abs(E-o)<=yf||E==o||isNaN(E)&&isNaN(o)?0:A/(o-E)))):e.C&&e.C.d>0&&(a=w.Math.max(a,UXe(e.C.d+i.d.d,o))),v=i,E=o,y=r;e.C&&e.C.a>0&&(A=y+e.C.a,b&&(A+=v.d.a),a=w.Math.max(a,(sf(),wa(yf),w.Math.abs(E-1)<=yf||E==1||isNaN(E)&&isNaN(1)?0:A/(1-E)))),n.n.d=0,n.a.b=a}function UZt(e,t,n,i,r,o,a,h){var p,b,v,y,E,A,L,$,H,X;if(L=!1,b=Efe(n.q,t.f+t.b-n.q.f),A=i.f>t.b&&h,X=r-(n.q.e+b-a),y=(p=dj(i,X,!1),p.a),A&&y>i.f)return!1;if(A){for(E=0,H=new q(t.d);H.a=(St(o,e.c.length),c(e.c[o],186)).e,!A&&y>t.b&&!v)?!1:((v||A||y<=t.b)&&(v&&y>t.b?(n.d=y,u7(n,Aet(n,y))):(GZe(n.q,b),n.c=!0),u7(i,r-(n.s+n.r)),z7(i,n.q.e+n.q.d,t.f),EP(t,i),e.c.length>o&&(G7((St(o,e.c.length),c(e.c[o],186)),i),(St(o,e.c.length),c(e.c[o],186)).a.c.length==0&&Qd(e,o)),L=!0),L)}function Urt(e,t,n){var i,r,o,a,h,p;for(this.g=e,h=t.d.length,p=n.d.length,this.d=ke(Rh,p1,10,h+p,0,1),a=0;a0?fq(this,this.f/this.a):of(t.g,t.d[0]).a!=null&&of(n.g,n.d[0]).a!=null?fq(this,(pe(of(t.g,t.d[0]).a)+pe(of(n.g,n.d[0]).a))/2):of(t.g,t.d[0]).a!=null?fq(this,of(t.g,t.d[0]).a):of(n.g,n.d[0]).a!=null&&fq(this,of(n.g,n.d[0]).a)}function GZt(e,t){var n,i,r,o,a,h,p,b,v,y;for(e.a=new jqe(MRt(KS)),i=new q(t.a);i.a=1&&(H-a>0&&y>=0?(p.n.a+=$,p.n.b+=o*a):H-a<0&&v>=0&&(p.n.a+=$*H,p.n.b+=o));e.o.a=t.a,e.o.b=t.b,Ne(e,(Ge(),Yp),(Lu(),i=c(Fa(XS),9),new ll(i,c(ha(i,i.length),9),0)))}function JZt(e,t,n,i,r,o){var a;if(!(t==null||!rz(t,oxe,cxe)))throw V(new Ft("invalid scheme: "+t));if(!e&&!(n!=null&&$f(n,_c(35))==-1&&n.length>0&&(Bt(0,n.length),n.charCodeAt(0)!=47)))throw V(new Ft("invalid opaquePart: "+n));if(e&&!(t!=null&&rE(PR,t.toLowerCase()))&&!(n==null||!rz(n,ZS,e9)))throw V(new Ft(Clt+n));if(e&&t!=null&&rE(PR,t.toLowerCase())&&!Mqt(n))throw V(new Ft(Clt+n));if(!LFt(i))throw V(new Ft("invalid device: "+i));if(!v$t(r))throw a=r==null?"invalid segments: null":"invalid segment: "+g$t(r),V(new Ft(a));if(!(o==null||$f(o,_c(35))==-1))throw V(new Ft("invalid query: "+o))}function YZt(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X;if(n.Ug("Network simplex layering",1),e.b=t,X=c(D(t,(Ge(),wS)),17).a*4,H=e.b.a,H.c.length<1){n.Vg();return}for(o=WJt(e,H),$=null,r=wn(o,0);r.b!=r.d.c;){for(i=c(dn(r),15),h=X*kr(w.Math.sqrt(i.gc())),a=lYt(i),kV($ne(YSt(Fne(AH(a),h),$),!0),n.eh(1)),E=e.b.b,L=new q(a.a);L.a1)for($=ke(kn,qn,28,e.b.b.c.length,15,1),y=0,b=new q(e.b.b);b.a0){c_(e,n,0),n.a+=String.fromCharCode(i),r=vBt(t,o),c_(e,n,r),o+=r-1;continue}i==39?o+10&&L.a<=0){p.c.length=0,Tt(p.c,L);break}A=L.i-L.d,A>=h&&(A>h&&(p.c.length=0,h=A),Tt(p.c,L))}p.c.length!=0&&(a=c(Je(p,g_(r,p.c.length)),118),ue.a.Bc(a)!=null,a.g=v++,ohe(a,t,n,i),p.c.length=0)}for(H=e.c.length+1,E=new q(e);E.abr||t.o==eg&&v=h&&r<=p)h<=r&&o<=p?(n[v++]=r,n[v++]=o,i+=2):h<=r?(n[v++]=r,n[v++]=p,e.b[i]=p+1,a+=2):o<=p?(n[v++]=h,n[v++]=o,i+=2):(n[v++]=h,n[v++]=p,e.b[i]=p+1);else if(ph0)&&h<10);Hne(e.c,new k8e),Jrt(e),UMt(e.c),HZt(e.f)}function oen(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$;for(n=c(D(e,(Ge(),Ji)),101),a=e.f,o=e.d,h=a.a+o.b+o.c,p=0-o.d-e.c.b,v=a.b+o.d+o.a-e.c.b,b=new Re,y=new Re,r=new q(t);r.a=2){for(p=wn(n,0),a=c(dn(p),8),h=c(dn(p),8);h.a0&&C7(b,!0,(ar(),so)),h.k==(Kt(),rr)&&Pqe(b),Jn(e.f,h,t)}}function len(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he;for(r=c(D(e,(Si(),CS)),27),b=ui,v=ui,h=os,p=os,ue=wn(e.b,0);ue.b!=ue.d.c;)X=c(dn(ue),40),A=X.e,L=X.f,b=w.Math.min(b,A.a-L.a/2),v=w.Math.min(v,A.b-L.b/2),h=w.Math.max(h,A.a+L.a/2),p=w.Math.max(p,A.b+L.b/2);for(E=c(Me(r,(Io(),Jve)),107),ie=wn(e.b,0);ie.b!=ie.d.c;)X=c(dn(ie),40),y=D(X,CS),ce(y,207)&&(o=c(y,27),cl(o,X.e.a,X.e.b),oI(o,X));for(H=wn(e.a,0);H.b!=H.d.c;)$=c(dn(H),65),i=c(D($,CS),74),i&&(t=$.a,n=Zv(i,!0,!0),dI(t,n));he=h-b+(E.b+E.c),a=p-v+(E.d+E.a),Xe(We(Me(r,(Un(),Bm))))||kw(r,he,a,!1,!1),bi(r,z2,he-(E.b+E.c)),bi(r,q2,a-(E.d+E.a))}function Qrt(e,t){var n,i,r,o,a,h,p,b,v,y;for(p=!0,r=0,b=e.g[t.p],v=t.o.b+e.o,n=e.d[t.p][2],dl(e.b,b,De(c(Je(e.b,b),17).a-1+n)),dl(e.c,b,pe(ye(Je(e.c,b)))-v+n*e.f),++b,b>=e.j?(++e.j,$e(e.b,De(1)),$e(e.c,v)):(i=e.d[t.p][1],dl(e.b,b,De(c(Je(e.b,b),17).a+1-i)),dl(e.c,b,pe(ye(Je(e.c,b)))+v-i*e.f)),(e.r==(ql(),CN)&&(c(Je(e.b,b),17).a>e.k||c(Je(e.b,b-1),17).a>e.k)||e.r==MN&&(pe(ye(Je(e.c,b)))>e.n||pe(ye(Je(e.c,b-1)))>e.n))&&(p=!1),a=new Qt(en(Tr(t).a.Kc(),new M));bn(a);)o=c(on(a),18),h=o.c.i,e.g[h.p]==b&&(y=Qrt(e,h),r=r+c(y.a,17).a,p=p&&Xe(We(y.b)));return e.g[t.p]=b,r=r+e.d[t.p][0],new xr(De(r),(_t(),!!p))}function Zrt(e,t){var n,i,r,o,a;n=pe(ye(D(t,(Ge(),Ea)))),n<2&&Ne(t,Ea,2),i=c(D(t,Zu),88),i==(ar(),Mf)&&Ne(t,Zu,JP(t)),r=c(D(t,wpt),17),r.a==0?Ne(t,(Pe(),U3),new oz):Ne(t,(Pe(),U3),new ZA(r.a)),o=We(D(t,dS)),o==null&&Ne(t,dS,(_t(),be(D(t,Md))===be((bd(),S5)))),Yi(new gt(null,new yt(t.a,16)),new Yte(e)),Yi(mo(new gt(null,new yt(t.b,16)),new ute),new Qte(e)),a=new Grt(t),Ne(t,(Pe(),M2),a),zE(e.a),Ka(e.a,(ss(),Sa),c(D(t,Wp),188)),Ka(e.a,Dh,c(D(t,Jp),188)),Ka(e.a,Xo,c(D(t,hS),188)),Ka(e.a,sc,c(D(t,MD),188)),Ka(e.a,ro,lRt(c(D(t,Md),223))),Vie(e.a,rnn(t)),Ne(t,uJ,wI(e.a,t))}function yhe(e,t,n,i,r){var o,a,h,p,b,v,y,E,A,L,$,H,X;for(y=new hn,a=new Re,Qet(e,n,e.d.Ag(),a,y),Qet(e,i,e.d.Bg(),a,y),e.b=.2*($=int(mo(new gt(null,new yt(a,16)),new c7e)),H=int(mo(new gt(null,new yt(a,16)),new u7e)),w.Math.min($,H)),o=0,h=0;h=2&&(X=knt(a,!0,E),!e.e&&(e.e=new A_e(e)),gBt(e.e,X,a,e.b)),iet(a,E),gen(a),A=-1,v=new q(a);v.ah)}function est(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie;for(b=Li,v=Li,h=br,p=br,E=new q(t.i);E.a-1){for(r=wn(h,0);r.b!=r.d.c;)i=c(dn(r),131),i.v=a;for(;h.b!=0;)for(i=c(Rz(h,0),131),n=new q(i.i);n.a-1){for(o=new q(h);o.a0)&&(Rte(p,w.Math.min(p.o,r.o-1)),$M(p,p.i-1),p.i==0&&Tt(h.c,p))}}function nst(e,t,n,i,r){var o,a,h,p;return p=Li,a=!1,h=fhe(e,Ir(new Ae(t.a,t.b),e),li(new Ae(n.a,n.b),r),Ir(new Ae(i.a,i.b),n)),o=!!h&&!(w.Math.abs(h.a-e.a)<=Mw&&w.Math.abs(h.b-e.b)<=Mw||w.Math.abs(h.a-t.a)<=Mw&&w.Math.abs(h.b-t.b)<=Mw),h=fhe(e,Ir(new Ae(t.a,t.b),e),n,r),h&&((w.Math.abs(h.a-e.a)<=Mw&&w.Math.abs(h.b-e.b)<=Mw)==(w.Math.abs(h.a-t.a)<=Mw&&w.Math.abs(h.b-t.b)<=Mw)||o?p=w.Math.min(p,h8(Ir(h,n))):a=!0),h=fhe(e,Ir(new Ae(t.a,t.b),e),i,r),h&&(a||(w.Math.abs(h.a-e.a)<=Mw&&w.Math.abs(h.b-e.b)<=Mw)==(w.Math.abs(h.a-t.a)<=Mw&&w.Math.abs(h.b-t.b)<=Mw)||o)&&(p=w.Math.min(p,h8(Ir(h,i)))),p}function ist(e){Lg(e,new Ap(eT(Pg(Mg(Ag(Tg(new ep,p0),ect),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new b8e),jc))),Le(e,p0,Ej,Ve(Uge)),Le(e,p0,bO,(_t(),!0)),Le(e,p0,a2,Ve(Fht)),Le(e,p0,A3,Ve(Bht)),Le(e,p0,T3,Ve(Hht)),Le(e,p0,Ak,Ve($ht)),Le(e,p0,Ij,Ve(Wge)),Le(e,p0,Pk,Ve(Kht)),Le(e,p0,bde,Ve(Vge)),Le(e,p0,vde,Ve(qge)),Le(e,p0,yde,Ve(zge)),Le(e,p0,xde,Ve(Gge)),Le(e,p0,mde,Ve(_L))}function wen(e){var t,n,i,r,o,a,h,p;for(t=null,i=new q(e);i.a0&&n.c==0&&(!t&&(t=new Re),Tt(t.c,n));if(t)for(;t.c.length!=0;){if(n=c(Qd(t,0),239),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new Re),new q(n.b));o.ato(e,n,0))return new xr(r,n)}else if(pe(of(r.g,r.d[0]).a)>pe(of(n.g,n.d[0]).a))return new xr(r,n)}for(h=(!n.e&&(n.e=new Re),n.e).Kc();h.Ob();)a=c(h.Pb(),239),p=(!a.b&&(a.b=new Re),a.b),$b(0,p.c.length),_6(p.c,0,n),a.c==p.c.length&&Tt(t.c,a)}return null}function ben(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X;for(t.Ug("Interactive crossing minimization",1),a=0,o=new q(e.b);o.a0&&(n+=p.n.a+p.o.a/2,++y),L=new q(p.j);L.a0&&(n/=y),X=ke($r,Rs,28,i.a.c.length,15,1),h=0,b=new q(i.a);b.a=h&&r<=p)h<=r&&o<=p?i+=2:h<=r?(e.b[i]=p+1,a+=2):o<=p?(n[v++]=r,n[v++]=h-1,i+=2):(n[v++]=r,n[v++]=h-1,e.b[i]=p+1,a+=2);else if(p2?(v=new Re,wr(v,new Jd(X,1,X.b)),o=zst(v,ue+e.a),ie=new cV(o),no(ie,t),Tt(n.c,ie)):i?ie=c(Yt(e.b,Ih(t)),272):ie=c(Yt(e.b,c0(t)),272),p=Ih(t),i&&(p=c0(t)),a=wVt(H,p),b=ue+e.a,a.a?(b+=w.Math.abs(H.b-y.b),$=new Ae(y.a,(y.b+H.b)/2)):(b+=w.Math.abs(H.a-y.a),$=new Ae((y.a+H.a)/2,y.b)),i?Jn(e.d,t,new $le(ie,a,$,b)):Jn(e.c,t,new $le(ie,a,$,b)),Jn(e.b,t,ie),L=(!t.n&&(t.n=new Ie($s,t,1,7)),t.n),A=new Jt(L);A.e!=A.i.gc();)E=c(tn(A),135),r=lI(e,E,!0,0,0),Tt(n.c,r)}function men(e){var t,n,i,r,o,a,h;if(!e.A.dc()){if(e.A.Hc((Lu(),rC))&&(c(Ls(e.b,(qe(),Ht)),127).k=!0,c(Ls(e.b,fn),127).k=!0,t=e.q!=(Br(),Kh)&&e.q!=uc,Ote(c(Ls(e.b,Xt),127),t),Ote(c(Ls(e.b,qt),127),t),Ote(e.g,t),e.A.Hc(og)&&(c(Ls(e.b,Ht),127).j=!0,c(Ls(e.b,fn),127).j=!0,c(Ls(e.b,Xt),127).k=!0,c(Ls(e.b,qt),127).k=!0,e.g.k=!0)),e.A.Hc(iC))for(e.a.j=!0,e.a.k=!0,e.g.j=!0,e.g.k=!0,h=e.B.Hc((vu(),JS)),r=gz(),o=0,a=r.length;o0),c(v.a.Xb(v.c=--v.b),18));o!=i&&v.b>0;)e.a[o.p]=!0,e.a[i.p]=!0,o=(rn(v.b>0),c(v.a.Xb(v.c=--v.b),18));v.b>0&&_u(v)}}function sst(e,t,n){var i,r,o,a,h,p,b,v,y,E,A;if(!e.b)return!1;for(a=null,E=null,p=new YK(null,null),r=1,p.a[1]=e.b,y=p;y.a[r];)b=r,h=E,E=y,y=y.a[r],i=e.a.Ne(t,y.d),r=i<0?0:1,i==0&&(!n.c||_o(y.e,n.d))&&(a=y),!(y&&y.b)&&!kb(y.a[r])&&(kb(y.a[1-r])?E=E.a[b]=PP(y,r):kb(y.a[1-r])||(A=E.a[1-b],A&&(!kb(A.a[1-b])&&!kb(A.a[b])?(E.b=!1,A.b=!0,y.b=!0):(o=h.a[1]==E?1:0,kb(A.a[b])?h.a[o]=_Ve(E,b):kb(A.a[1-b])&&(h.a[o]=PP(E,b)),y.b=h.a[o].b=!0,h.a[o].a[0].b=!1,h.a[o].a[1].b=!1))));return a&&(n.b=!0,n.d=a.e,y!=a&&(v=new YK(y.d,y.e),xzt(e,p,a,v),E==a&&(E=v)),E.a[E.a[1]==y?1:0]=y.a[y.a[0]?0:1],--e.c),e.b=p.a[1],e.b&&(e.b.b=!1),n.b}function xen(e){var t,n,i,r,o,a,h,p,b,v,y,E;for(r=new q(e.a.a.b);r.a0?r-=864e5:r+=864e5,p=new Mre(as(Oo(t.q.getTime()),r))),v=new Cy,b=e.a.length,o=0;o=97&&i<=122||i>=65&&i<=90){for(a=o+1;a=b)throw V(new Ft("Missing trailing '"));a+1=14&&v<=16))?t.a._b(i)?(n.a?Hn(n.a,n.b):n.a=new Fu(n.d),U6(n.a,"[...]")):(h=yp(i),b=new i8(t),fd(n,cst(h,b))):ce(i,183)?fd(n,ZVt(c(i,183))):ce(i,195)?fd(n,$qt(c(i,195))):ce(i,201)?fd(n,Wzt(c(i,201))):ce(i,2111)?fd(n,Fqt(c(i,2111))):ce(i,53)?fd(n,QVt(c(i,53))):ce(i,376)?fd(n,wUt(c(i,376))):ce(i,846)?fd(n,YVt(c(i,846))):ce(i,109)&&fd(n,JVt(c(i,109))):fd(n,i==null?Oc:uo(i));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function bk(e,t){var n,i,r,o;o=e.F,t==null?(e.F=null,z4(e,null)):(e.F=(Ut(t),t),i=$f(t,_c(60)),i!=-1?(r=(Ur(0,i,t.length),t.substr(0,i)),$f(t,_c(46))==-1&&!wt(r,x3)&&!wt(r,Bj)&&!wt(r,tL)&&!wt(r,Hj)&&!wt(r,Kj)&&!wt(r,qj)&&!wt(r,zj)&&!wt(r,Vj)&&(r=Hlt),n=GT(t,_c(62)),n!=-1&&(r+=""+(Bt(n+1,t.length+1),t.substr(n+1))),z4(e,r)):(r=t,$f(t,_c(46))==-1&&(i=$f(t,_c(91)),i!=-1&&(r=(Ur(0,i,t.length),t.substr(0,i))),!wt(r,x3)&&!wt(r,Bj)&&!wt(r,tL)&&!wt(r,Hj)&&!wt(r,Kj)&&!wt(r,qj)&&!wt(r,zj)&&!wt(r,Vj)?(r=Hlt,i!=-1&&(r+=""+(Bt(i,t.length+1),t.substr(i)))):r=t),z4(e,r),r==t&&(e.F=e.D))),e.Db&4&&!(e.Db&1)&&ai(e,new Pr(e,1,5,o,t))}function ust(e,t){var n,i,r,o,a,h,p,b,v,y;if(p=t.length-1,h=(Bt(p,t.length),t.charCodeAt(p)),h==93){if(a=$f(t,_c(91)),a>=0)return r=IFt(e,(Ur(1,a,t.length),t.substr(1,a-1))),v=(Ur(a+1,p,t.length),t.substr(a+1,p-(a+1))),Qtn(e,v,r)}else{if(n=-1,Lpe==null&&(Lpe=new RegExp("\\d")),Lpe.test(String.fromCharCode(h))&&(n=Gre(t,_c(46),p-1),n>=0)){i=c(VK(e,WWe(e,(Ur(1,n,t.length),t.substr(1,n-1))),!1),61),b=0;try{b=Wu((Bt(n+1,t.length+1),t.substr(n+1)),os,ui)}catch(E){throw E=Ri(E),ce(E,130)?(o=E,V(new fP(o))):V(E)}if(b>16==-10?n=c(e.Cb,292).Yk(t,n):e.Db>>16==-15&&(!t&&(t=(kt(),Pf)),!b&&(b=(kt(),Pf)),e.Cb.Yh()&&(p=new hd(e.Cb,1,13,b,t,l1(wu(c(e.Cb,62)),e),!1),n?n.nj(p):n=p));else if(ce(e.Cb,90))e.Db>>16==-23&&(ce(t,90)||(t=(kt(),na)),ce(b,90)||(b=(kt(),na)),e.Cb.Yh()&&(p=new hd(e.Cb,1,10,b,t,l1(Uo(c(e.Cb,29)),e),!1),n?n.nj(p):n=p));else if(ce(e.Cb,457))for(h=c(e.Cb,850),a=(!h.b&&(h.b=new zM(new sB)),h.b),o=(i=new jp(new rp(a.a).a),new VM(i));o.a.b;)r=c(aw(o.a).ld(),89),n=mk(r,L_(r,h),n)}return n}function Ien(e,t){var n,i,r,o,a,h,p,b,v,y,E;for(a=Xe(We(Me(e,(Ge(),Am)))),E=c(Me(e,_m),21),p=!1,b=!1,y=new Jt((!e.c&&(e.c=new Ie(du,e,9,9)),e.c));y.e!=y.i.gc()&&(!p||!b);){for(o=c(tn(y),123),h=0,r=xh(zu(J(W(Qu,1),Mt,20,0,[(!o.d&&(o.d=new It(tr,o,8,5)),o.d),(!o.e&&(o.e=new It(tr,o,7,4)),o.e)])));bn(r)&&(i=c(on(r),74),v=a&&mw(i)&&Xe(We(Me(i,Xp))),n=Brt((!i.b&&(i.b=new It(cn,i,4,7)),i.b),o)?e==Oi(io(c(le((!i.c&&(i.c=new It(cn,i,5,8)),i.c),0),84))):e==Oi(io(c(le((!i.b&&(i.b=new It(cn,i,4,7)),i.b),0),84))),!((v||n)&&(++h,h>1))););(h>0||E.Hc((uu(),Ad))&&(!o.n&&(o.n=new Ie($s,o,1,7)),o.n).i>0)&&(p=!0),h>1&&(b=!0)}p&&t.Fc((Cs(),Nl)),b&&t.Fc((Cs(),sS))}function lst(e){var t,n,i,r,o,a,h,p,b,v,y,E;if(E=c(Me(e,(Un(),ig)),21),E.dc())return null;if(h=0,a=0,E.Hc((Lu(),rC))){for(v=c(Me(e,HS),101),i=2,n=2,r=2,o=2,t=Oi(e)?c(Me(Oi(e),ng),88):c(Me(e,ng),88),b=new Jt((!e.c&&(e.c=new Ie(du,e,9,9)),e.c));b.e!=b.i.gc();)if(p=c(tn(b),123),y=c(Me(p,W2),64),y==(qe(),ko)&&(y=she(p,t),bi(p,W2,y)),v==(Br(),uc))switch(y.g){case 1:i=w.Math.max(i,p.i+p.g);break;case 2:n=w.Math.max(n,p.j+p.f);break;case 3:r=w.Math.max(r,p.i+p.g);break;case 4:o=w.Math.max(o,p.j+p.f)}else switch(y.g){case 1:i+=p.g+2;break;case 2:n+=p.f+2;break;case 3:r+=p.g+2;break;case 4:o+=p.f+2}h=w.Math.max(i,r),a=w.Math.max(n,o)}return kw(e,h,a,!0,!0)}function HV(e,t,n,i,r){var o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he;for(ie=c(co(vP(di(new gt(null,new yt(t.d,16)),new YPe(n)),new QPe(n)),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)]))),15),y=ui,v=os,p=new q(t.b.j);p.a0,b?b&&(E=X.p,a?++E:--E,y=c(Je(X.c.a,E),10),i=AJe(y),A=!(fV(i,Te,n[0])||tqe(i,Te,n[0]))):A=!0),L=!1,Ee=t.D.i,Ee&&Ee.c&&h.e&&(v=a&&Ee.p>0||!a&&Ee.p=0){for(p=null,h=new Vr(v.a,b+1);h.ba?1:Fg(isNaN(0),isNaN(a)))<0&&(wa(rh),(w.Math.abs(a-1)<=rh||a==1||isNaN(a)&&isNaN(1)?0:a<1?-1:a>1?1:Fg(isNaN(a),isNaN(1)))<0)&&(wa(rh),(w.Math.abs(0-h)<=rh||h==0||isNaN(0)&&isNaN(h)?0:0h?1:Fg(isNaN(0),isNaN(h)))<0)&&(wa(rh),(w.Math.abs(h-1)<=rh||h==1||isNaN(h)&&isNaN(1)?0:h<1?-1:h>1?1:Fg(isNaN(h),isNaN(1)))<0)),o)}function Pen(e){var t,n,i,r;if(n=e.D!=null?e.D:e.B,t=$f(n,_c(91)),t!=-1){i=(Ur(0,t,n.length),n.substr(0,t)),r=new Kd;do r.a+="[";while((t=Zx(n,91,++t))!=-1);wt(i,x3)?r.a+="Z":wt(i,Bj)?r.a+="B":wt(i,tL)?r.a+="C":wt(i,Hj)?r.a+="D":wt(i,Kj)?r.a+="F":wt(i,qj)?r.a+="I":wt(i,zj)?r.a+="J":wt(i,Vj)?r.a+="S":(r.a+="L",r.a+=""+i,r.a+=";");try{return null}catch(o){if(o=Ri(o),!ce(o,63))throw V(o)}}else if($f(n,_c(46))==-1){if(wt(n,x3))return Su;if(wt(n,Bj))return Zc;if(wt(n,tL))return Al;if(wt(n,Hj))return $r;if(wt(n,Kj))return Ym;if(wt(n,qj))return kn;if(wt(n,zj))return B0;if(wt(n,Vj))return ey}return null}function _en(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He;for(e.e=t,h=_Ut(t),Te=new Re,i=new q(h);i.a=0&&$=b.c.c.length?v=Voe((Kt(),er),_r):v=Voe((Kt(),_r),_r),v*=2,o=n.a.g,n.a.g=w.Math.max(o,o+(v-o)),a=n.b.g,n.b.g=w.Math.max(a,a+(v-a)),r=t}}function Ren(e){var t,n,i,r;for(Yi(di(new gt(null,new yt(e.a.b,16)),new b9e),new m9e),mqt(e),Yi(di(new gt(null,new yt(e.a.b,16)),new v9e),new y9e),e.c==(bd(),tx)&&(Yi(di(mo(new gt(null,new yt(new ip(e.f),1)),new x9e),new k9e),new zPe(e)),Yi(di(Zs(mo(mo(new gt(null,new yt(e.d.b,16)),new j9e),new S9e),new E9e),new I9e),new UPe(e))),r=new Ae(Li,Li),t=new Ae(br,br),i=new q(e.a.b);i.a0&&(t.a+=bs),tO(c(tn(h),167),t);for(t.a+=JU,p=new Ry((!i.c&&(i.c=new It(cn,i,5,8)),i.c));p.e!=p.i.gc();)p.e>0&&(t.a+=bs),tO(c(tn(p),167),t);t.a+=")"}}function $en(e,t,n){var i,r,o,a,h,p,b,v;for(p=new Jt((!e.a&&(e.a=new Ie(ti,e,10,11)),e.a));p.e!=p.i.gc();)for(h=c(tn(p),27),r=new Qt(en(xd(h).a.Kc(),new M));bn(r);){if(i=c(on(r),74),!i.b&&(i.b=new It(cn,i,4,7)),!(i.b.i<=1&&(!i.c&&(i.c=new It(cn,i,5,8)),i.c.i<=1)))throw V(new Iy("Graph must not contain hyperedges."));if(!nj(i)&&h!=io(c(le((!i.c&&(i.c=new It(cn,i,5,8)),i.c),0),84)))for(b=new lHe,no(b,i),Ne(b,(e0(),F3),i),Ejt(b,c(Qs(Is(n.f,h)),153)),Cjt(b,c(Yt(n,io(c(le((!i.c&&(i.c=new It(cn,i,5,8)),i.c),0),84))),153)),$e(t.c,b),a=new Jt((!i.n&&(i.n=new Ie($s,i,1,7)),i.n));a.e!=a.i.gc();)o=c(tn(a),135),v=new fUe(b,o.a),no(v,o),Ne(v,F3,o),v.e.a=w.Math.max(o.g,1),v.e.b=w.Math.max(o.f,1),ahe(v),$e(t.d,v)}}function Fen(e,t,n){var i,r,o,a,h,p,b,v,y,E;switch(n.Ug("Node promotion heuristic",1),e.i=t,e.r=c(D(t,(Ge(),E0)),243),e.r!=(ql(),Ww)&&e.r!=Dm?htn(e):$Xt(e),v=c(D(e.i,Eme),17).a,o=new uSe,e.r.g){case 2:case 1:wk(e,o);break;case 3:for(e.r=$D,wk(e,o),p=0,h=new q(e.b);h.ae.k&&(e.r=CN,wk(e,o));break;case 4:for(e.r=$D,wk(e,o),b=0,r=new q(e.c);r.ae.n&&(e.r=MN,wk(e,o));break;case 6:E=kr(w.Math.ceil(e.g.length*v/100)),wk(e,new PPe(E));break;case 5:y=kr(w.Math.ceil(e.e*v/100)),wk(e,new _Pe(y));break;case 8:Gst(e,!0);break;case 9:Gst(e,!1);break;default:wk(e,o)}e.r!=Ww&&e.r!=Dm?uXt(e,t):CJt(e,t),n.Vg()}function Ben(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue;for(y=e.b,v=new Vr(y,0),Ab(v,new Qo(e)),ie=!1,a=1;v.b0&&(E.d+=v.n.d,E.d+=v.d),E.a>0&&(E.a+=v.n.a,E.a+=v.d),E.b>0&&(E.b+=v.n.b,E.b+=v.d),E.c>0&&(E.c+=v.n.c,E.c+=v.d),E}function fst(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L;for(E=n.d,y=n.c,o=new Ae(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),a=o.b,b=new q(e.a);b.a0&&(e.c[t.c.p][t.p].d+=mu(e.i,24)*TI*.07000000029802322-.03500000014901161,e.c[t.c.p][t.p].a=e.c[t.c.p][t.p].d/e.c[t.c.p][t.p].b)}}function qen(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H;for(L=new q(e);L.ai.d,i.d=w.Math.max(i.d,t),h&&n&&(i.d=w.Math.max(i.d,i.a),i.a=i.d+r);break;case 3:n=t>i.a,i.a=w.Math.max(i.a,t),h&&n&&(i.a=w.Math.max(i.a,i.d),i.d=i.a+r);break;case 2:n=t>i.c,i.c=w.Math.max(i.c,t),h&&n&&(i.c=w.Math.max(i.b,i.c),i.b=i.c+r);break;case 4:n=t>i.b,i.b=w.Math.max(i.b,t),h&&n&&(i.b=w.Math.max(i.b,i.c),i.c=i.b+r)}}}function dst(e,t){var n,i,r,o,a,h,p,b,v;return b="",t.length==0?e.ne(Bhe,ZV,-1,-1):(v=tm(t),wt(v.substr(0,3),"at ")&&(v=(Bt(3,v.length+1),v.substr(3))),v=v.replace(/\[.*?\]/g,""),a=v.indexOf("("),a==-1?(a=v.indexOf("@"),a==-1?(b=v,v=""):(b=tm((Bt(a+1,v.length+1),v.substr(a+1))),v=tm((Ur(0,a,v.length),v.substr(0,a))))):(n=v.indexOf(")",a),b=(Ur(a+1,n,v.length),v.substr(a+1,n-(a+1))),v=tm((Ur(0,a,v.length),v.substr(0,a)))),a=$f(v,_c(46)),a!=-1&&(v=(Bt(a+1,v.length+1),v.substr(a+1))),(v.length==0||wt(v,"Anonymous function"))&&(v=ZV),h=GT(b,_c(58)),r=Gre(b,_c(58),h-1),p=-1,i=-1,o=Bhe,h!=-1&&r!=-1&&(o=(Ur(0,r,b.length),b.substr(0,r)),p=CBe((Ur(r+1,h,b.length),b.substr(r+1,h-(r+1)))),i=CBe((Bt(h+1,b.length+1),b.substr(h+1)))),e.ne(o,v,p,i))}function Uen(e){var t,n,i,r,o,a,h,p,b,v,y;for(b=new q(e);b.a0||v.j==qt&&v.e.c.length-v.g.c.length<0)){t=!1;break}for(r=new q(v.g);r.a=b&&Ee>=H&&(E+=L.n.b+$.n.b+$.a.b-he,++h));if(n)for(a=new q(ie.e);a.a=b&&Ee>=H&&(E+=L.n.b+$.n.b+$.a.b-he,++h))}h>0&&(Te+=E/h,++A)}A>0?(t.a=r*Te/A,t.g=A):(t.a=0,t.g=0)}function Wen(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He;for(o=e.f.b,E=o.a,v=o.b,L=e.e.g,A=e.e.f,Iv(e.e,o.a,o.b),Te=E/L,He=v/A,b=new Jt(PA(e.e));b.e!=b.i.gc();)p=c(tn(b),135),vc(p,p.i*Te),yc(p,p.j*He);for(ie=new Jt(fK(e.e));ie.e!=ie.i.gc();)X=c(tn(ie),123),he=X.i,Ee=X.j,he>0&&vc(X,he*Te),Ee>0&&yc(X,Ee*He);for(M8(e.b,new p8e),t=new Re,h=new jp(new rp(e.c).a);h.b;)a=aw(h),i=c(a.ld(),74),n=c(a.md(),407).a,r=Zv(i,!1,!1),y=ret(Ih(i),Z7(r),n),dI(y,r),ue=met(i),ue&&to(t,ue,0)==-1&&(Tt(t.c,ue),Uqe(ue,(rn(y.b!=0),c(y.a.a.c,8)),n));for(H=new jp(new rp(e.d).a);H.b;)$=aw(H),i=c($.ld(),74),n=c($.md(),407).a,r=Zv(i,!1,!1),y=ret(c0(i),T7(Z7(r)),n),y=T7(y),dI(y,r),ue=vet(i),ue&&to(t,ue,0)==-1&&(Tt(t.c,ue),Uqe(ue,(rn(y.b!=0),c(y.c.b.c,8)),n))}function pst(e,t,n,i){var r,o,a,h,p;return h=new She(t),FWt(h,i),r=!0,e&&e.pf((Un(),ng))&&(o=c(e.of((Un(),ng)),88),r=o==(ar(),Mf)||o==Js||o==so),dit(h,!1),mc(h.e.Rf(),new ese(h,!1,r)),SK(h,h.f,(Ga(),Mo),(qe(),Ht)),SK(h,h.f,To,fn),SK(h,h.g,Mo,qt),SK(h,h.g,To,Xt),BQe(h,Ht),BQe(h,fn),qqe(h,Xt),qqe(h,qt),Tb(),a=h.A.Hc((Lu(),qm))&&h.B.Hc((vu(),oC))?rQe(h):null,a&&WSt(h.a,a),Ven(h),UHt(h),GHt(h),men(h),RYt(h),vKt(h),dz(h,Ht),dz(h,fn),jJt(h),fZt(h),n&&(NFt(h),yKt(h),dz(h,Xt),dz(h,qt),p=h.B.Hc((vu(),JS)),stt(h,p,Ht),stt(h,p,fn),ott(h,p,Xt),ott(h,p,qt),Yi(new gt(null,new yt(new td(h.i),0)),new Ra),Yi(di(new gt(null,Qse(h.r).a.oc()),new $1),new F1),Oqt(h),h.e.Pf(h.o),Yi(new gt(null,Qse(h.r).a.oc()),new wy)),h.o}function Xen(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$;for(b=Li,i=new q(e.a.b);i.a1)for(A=new phe(L,ue,i),Qr(ue,new k$e(e,A)),Tt(a.c,A),y=ue.a.ec().Kc();y.Ob();)v=c(y.Pb(),42),Ac(o,v.b);if(h.a.gc()>1)for(A=new phe(L,h,i),Qr(h,new j$e(e,A)),Tt(a.c,A),y=h.a.ec().Kc();y.Ob();)v=c(y.Pb(),42),Ac(o,v.b)}}function Zen(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X;if($=e.n,H=e.o,E=e.d,y=pe(ye(Jb(e,(Ge(),kJ)))),t){for(v=y*(t.gc()-1),A=0,p=t.Kc();p.Ob();)a=c(p.Pb(),10),v+=a.o.a,A=w.Math.max(A,a.o.b);for(X=$.a-(v-H.a)/2,o=$.b-E.d+A,i=H.a/(t.gc()+1),r=i,h=t.Kc();h.Ob();)a=c(h.Pb(),10),a.n.a=X,a.n.b=o-a.o.b,X+=a.o.a+y,b=jnt(a),b.n.a=a.o.a/2-b.a.a,b.n.b=a.o.b,L=c(D(a,(Pe(),hD)),12),L.e.c.length+L.g.c.length==1&&(L.n.a=r-L.a.a,L.n.b=0,bo(L,e)),r+=i}if(n){for(v=y*(n.gc()-1),A=0,p=n.Kc();p.Ob();)a=c(p.Pb(),10),v+=a.o.a,A=w.Math.max(A,a.o.b);for(X=$.a-(v-H.a)/2,o=$.b+H.b+E.a-A,i=H.a/(n.gc()+1),r=i,h=n.Kc();h.Ob();)a=c(h.Pb(),10),a.n.a=X,a.n.b=o,X+=a.o.a+y,b=jnt(a),b.n.a=a.o.a/2-b.a.a,b.n.b=0,L=c(D(a,(Pe(),hD)),12),L.e.c.length+L.g.c.length==1&&(L.n.a=r-L.a.a,L.n.b=H.b,bo(L,e)),r+=i}}function etn(e,t){var n,i,r,o,a,h;if(c(D(t,(Pe(),cc)),21).Hc((Cs(),Nl))){for(h=new q(t.a);h.a=0&&a0&&(c(Ls(e.b,t),127).a.b=n)}function stn(e,t,n,i){var r,o,a,h,p,b,v,y,E,A,L,$;if(E=pe(ye(D(e,(Ge(),f5)))),A=pe(ye(D(e,h5))),y=pe(ye(D(e,Lm))),h=e.o,o=c(Je(e.j,0),12),a=o.n,$=kVt(o,y),!!$){if(t.Hc((uu(),Ad)))switch(c(D(e,(Pe(),Ao)),64).g){case 1:$.c=(h.a-$.b)/2-a.a,$.d=A;break;case 3:$.c=(h.a-$.b)/2-a.a,$.d=-A-$.a;break;case 2:n&&o.e.c.length==0&&o.g.c.length==0?(v=i?$.a:c(Je(o.f,0),72).o.b,$.d=(h.b-v)/2-a.b):$.d=h.b+A-a.b,$.c=-E-$.b;break;case 4:n&&o.e.c.length==0&&o.g.c.length==0?(v=i?$.a:c(Je(o.f,0),72).o.b,$.d=(h.b-v)/2-a.b):$.d=h.b+A-a.b,$.c=E}else if(t.Hc(_0))switch(c(D(e,(Pe(),Ao)),64).g){case 1:case 3:$.c=a.a+E;break;case 2:case 4:n&&!o.c?(v=i?$.a:c(Je(o.f,0),72).o.b,$.d=(h.b-v)/2-a.b):$.d=a.b+A}for(r=$.d,b=new q(o.f);b.a=t.length)return{done:!0};var r=t[i++];return{value:[r,n.get(r)],done:!1}}}},nJt()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(t){return this.obj[":"+t]},e.prototype.set=function(t,n){this.obj[":"+t]=n},e.prototype[EU]=function(t){delete this.obj[":"+t]},e.prototype.keys=function(){var t=[];for(var n in this.obj)n.charCodeAt(0)==58&&t.push(n.substring(1));return t}),e}function Si(){Si=U,CS=new mi(wde),new Fi("DEPTH",De(0)),JJ=new Fi("FAN",De(0)),$ve=new Fi(Bct,De(0)),C0=new Fi("ROOT",(_t(),!1)),ZJ=new Fi("LEFTNEIGHBOR",null),Fgt=new Fi("RIGHTNEIGHBOR",null),VD=new Fi("LEFTSIBLING",null),eY=new Fi("RIGHTSIBLING",null),XJ=new Fi("DUMMY",!1),new Fi("LEVEL",De(0)),Hve=new Fi("REMOVABLE_EDGES",new Ai),LN=new Fi("XCOOR",De(0)),DN=new Fi("YCOOR",De(0)),UD=new Fi("LEVELHEIGHT",0),ef=new Fi("LEVELMIN",0),Ia=new Fi("LEVELMAX",0),YJ=new Fi("GRAPH_XMIN",0),QJ=new Fi("GRAPH_YMIN",0),Fve=new Fi("GRAPH_XMAX",0),Bve=new Fi("GRAPH_YMAX",0),Rve=new Fi("COMPACT_LEVEL_ASCENSION",!1),WJ=new Fi("COMPACT_CONSTRAINTS",new Re),NS=new Fi("ID",""),MS=new Fi("POSITION",De(0)),k1=new Fi("PRELIM",0),b5=new Fi("MODIFIER",0),w5=new mi(Qot),ON=new mi(Zot)}function ltn(e){rhe();var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H;if(e==null)return null;if(y=e.length*8,y==0)return"";for(h=y%24,A=y/24|0,E=h!=0?A+1:A,o=null,o=ke(Al,Qf,28,E*4,15,1),b=0,v=0,t=0,n=0,i=0,a=0,r=0,p=0;p>24,b=(t&3)<<24>>24,L=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,$=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,H=i&-128?(i>>6^252)<<24>>24:i>>6<<24>>24,o[a++]=A1[L],o[a++]=A1[$|b<<4],o[a++]=A1[v<<2|H],o[a++]=A1[i&63];return h==8?(t=e[r],b=(t&3)<<24>>24,L=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,o[a++]=A1[L],o[a++]=A1[b<<4],o[a++]=61,o[a++]=61):h==16&&(t=e[r],n=e[r+1],v=(n&15)<<24>>24,b=(t&3)<<24>>24,L=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,$=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[a++]=A1[L],o[a++]=A1[$|b<<4],o[a++]=A1[v<<2],o[a++]=61),Uf(o,0,o.length)}function atn(e,t){var n,i,r,o,a,h,p;if(e.e==0&&e.p>0&&(e.p=-(e.p-1)),e.p>os&&zoe(t,e.p-d0),a=t.q.getDate(),YE(t,1),e.k>=0&&QAt(t,e.k),e.c>=0?YE(t,e.c):e.k>=0?(p=new yue(t.q.getFullYear()-d0,t.q.getMonth(),35),i=35-p.q.getDate(),YE(t,w.Math.min(i,a))):YE(t,a),e.f<0&&(e.f=t.q.getHours()),e.b>0&&e.f<12&&(e.f+=12),qEt(t,e.f==24&&e.g?0:e.f),e.j>=0&&OOt(t,e.j),e.n>=0&&UOt(t,e.n),e.i>=0&&xFe(t,as(fs(X7(Oo(t.q.getTime()),d1),d1),e.i)),e.a&&(r=new oT,zoe(r,r.q.getFullYear()-d0-80),NB(Oo(t.q.getTime()),Oo(r.q.getTime()))&&zoe(t,r.q.getFullYear()-d0+100)),e.d>=0){if(e.c==-1)n=(7+e.d-t.q.getDay())%7,n>3&&(n-=7),h=t.q.getMonth(),YE(t,t.q.getDate()+n),t.q.getMonth()!=h&&YE(t,t.q.getDate()+(n>0?-7:7));else if(t.q.getDay()!=e.d)return!1}return e.o>os&&(o=t.q.getTimezoneOffset(),xFe(t,as(Oo(t.q.getTime()),(e.o-o)*60*d1))),!0}function vst(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he;if(r=D(t,(Pe(),gi)),!!ce(r,207)){for(L=c(r,27),$=t.e,E=new gs(t.c),o=t.d,E.a+=o.b,E.b+=o.d,he=c(Me(L,(Ge(),TD)),181),qc(he,(vu(),mR))&&(A=c(Me(L,Tme),107),vjt(A,o.a),Njt(A,o.d),yjt(A,o.b),Ijt(A,o.c)),n=new Re,v=new q(t.a);v.ai.c.length-1;)$e(i,new xr(l2,G1e));n=c(D(r,ah),17).a,rd(c(D(e,Jw),88))?(r.e.ape(ye((St(n,i.c.length),c(i.c[n],42)).b))&&VF((St(n,i.c.length),c(i.c[n],42)),r.e.a+r.f.a)):(r.e.bpe(ye((St(n,i.c.length),c(i.c[n],42)).b))&&VF((St(n,i.c.length),c(i.c[n],42)),r.e.b+r.f.b))}for(o=wn(e.b,0);o.b!=o.d.c;)r=c(dn(o),40),n=c(D(r,(Io(),ah)),17).a,Ne(r,(Si(),ef),ye((St(n,i.c.length),c(i.c[n],42)).a)),Ne(r,Ia,ye((St(n,i.c.length),c(i.c[n],42)).b));t.Vg()}function htn(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$;for(e.o=pe(ye(D(e.i,(Ge(),Gw)))),e.f=pe(ye(D(e.i,Zp))),e.j=e.i.b.c.length,h=e.j-1,E=0,e.k=0,e.n=0,e.b=af(ke(es,Oe,17,e.j,0,1)),e.c=af(ke(dr,Oe,345,e.j,7,1)),a=new q(e.i.b);a.a0&&$e(e.q,v),$e(e.p,v);t-=i,A=p+t,b+=t*e.f,dl(e.b,h,De(A)),dl(e.c,h,b),e.k=w.Math.max(e.k,A),e.n=w.Math.max(e.n,b),e.e+=t,t+=$}}function qe(){qe=U;var e;ko=new xE(kj,0),Ht=new xE(fO,1),Xt=new xE(LU,2),fn=new xE(DU,3),qt=new xE(RU,4),Af=(jt(),new Kx((e=c(Fa(ks),9),new ll(e,c(ha(e,e.length),9),0)))),Aa=i1(Ci(Ht,J(W(ks,1),Ho,64,0,[]))),Ml=i1(Ci(Xt,J(W(ks,1),Ho,64,0,[]))),tl=i1(Ci(fn,J(W(ks,1),Ho,64,0,[]))),Ql=i1(Ci(qt,J(W(ks,1),Ho,64,0,[]))),Dc=i1(Ci(Ht,J(W(ks,1),Ho,64,0,[fn]))),Ic=i1(Ci(Xt,J(W(ks,1),Ho,64,0,[qt]))),Pa=i1(Ci(Ht,J(W(ks,1),Ho,64,0,[qt]))),fu=i1(Ci(Ht,J(W(ks,1),Ho,64,0,[Xt]))),nl=i1(Ci(fn,J(W(ks,1),Ho,64,0,[qt]))),Tl=i1(Ci(Xt,J(W(ks,1),Ho,64,0,[fn]))),hu=i1(Ci(Ht,J(W(ks,1),Ho,64,0,[Xt,qt]))),Lc=i1(Ci(Xt,J(W(ks,1),Ho,64,0,[fn,qt]))),Rc=i1(Ci(Ht,J(W(ks,1),Ho,64,0,[fn,qt]))),Qc=i1(Ci(Ht,J(W(ks,1),Ho,64,0,[Xt,fn]))),lc=i1(Ci(Ht,J(W(ks,1),Ho,64,0,[Xt,fn,qt])))}function dtn(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He;for(t.Ug(vct,1),$=new Re,Te=new Re,b=new q(e.b);b.a0&&(ue-=A),ghe(a,ue),v=0,E=new q(a.a);E.a0),h.a.Xb(h.c=--h.b)),p=.4*i*v,!o&&h.b0&&(p=(Bt(0,t.length),t.charCodeAt(0)),p!=64)){if(p==37&&(y=t.lastIndexOf("%"),b=!1,y!=0&&(y==E-1||(b=(Bt(y+1,t.length),t.charCodeAt(y+1)==46))))){if(a=(Ur(1,y,t.length),t.substr(1,y-1)),ue=wt("%",a)?null:Ihe(a),i=0,b)try{i=Wu((Bt(y+2,t.length+1),t.substr(y+2)),os,ui)}catch(he){throw he=Ri(he),ce(he,130)?(h=he,V(new fP(h))):V(he)}for(H=Zce(e.Gh());H.Ob();)if(L=FP(H),ce(L,519)&&(r=c(L,598),ie=r.d,(ue==null?ie==null:wt(ue,ie))&&i--==0))return r;return null}if(v=t.lastIndexOf("."),A=v==-1?t:(Ur(0,v,t.length),t.substr(0,v)),n=0,v!=-1)try{n=Wu((Bt(v+1,t.length+1),t.substr(v+1)),os,ui)}catch(he){if(he=Ri(he),ce(he,130))A=t;else throw V(he)}for(A=wt("%",A)?null:Ihe(A),$=Zce(e.Gh());$.Ob();)if(L=FP($),ce(L,197)&&(o=c(L,197),X=o.xe(),(A==null?X==null:wt(A,X))&&n--==0))return o;return null}return ust(e,t)}function xtn(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie;for(v=new hn,p=new tw,i=new q(e.a.a.b);i.at.d.c){if(A=e.c[t.a.d],H=e.c[y.a.d],A==H)continue;va(la(ua(aa(ca(new Rl,1),100),A),H))}}}}}function ktn(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te;if(E=c(c(pi(e.r,t),21),87),t==(qe(),Xt)||t==qt){wst(e,t);return}for(o=t==Ht?(fw(),iN):(fw(),rN),he=t==Ht?(Pc(),Qa):(Pc(),ja),n=c(Ls(e.b,t),127),i=n.i,r=i.c+$v(J(W($r,1),Rs,28,15,[n.n.b,e.C.b,e.k])),X=i.c+i.b-$v(J(W($r,1),Rs,28,15,[n.n.c,e.C.c,e.k])),a=Bne(nse(o),e.t),ie=t==Ht?br:Li,y=E.Kc();y.Ob();)b=c(y.Pb(),117),!(!b.c||b.c.d.c.length<=0)&&(H=b.b.Mf(),$=b.e,A=b.c,L=A.i,L.b=(p=A.n,A.e.a+p.b+p.c),L.a=(h=A.n,A.e.b+h.d+h.a),GE(he,nde),A.f=he,Va(A,(ou(),ka)),L.c=$.a-(L.b-H.a)/2,Ee=w.Math.min(r,$.a),Te=w.Math.max(X,$.a+H.a),L.cTe&&(L.c=Te-L.b),$e(a.d,new UH(L,Gue(a,L))),ie=t==Ht?w.Math.max(ie,$.b+b.b.Mf().b):w.Math.min(ie,$.b));for(ie+=t==Ht?e.t:-e.t,ue=hle((a.e=ie,a)),ue>0&&(c(Ls(e.b,t),127).a.b=ue),v=E.Kc();v.Ob();)b=c(v.Pb(),117),!(!b.c||b.c.d.c.length<=0)&&(L=b.c.i,L.c-=b.e.a,L.d-=b.e.b)}function jtn(e){var t,n,i,r,o,a,h,p,b,v,y,E,A;for(t=new hn,p=new Jt(e);p.e!=p.i.gc();){for(h=c(tn(p),27),n=new sr,Jn(fX,h,n),A=new l8e,r=c(co(new gt(null,new Wg(new Qt(en(sI(h).a.Kc(),new M)))),RKe(A,su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)])))),85),bXe(n,c(r.xc((_t(),!0)),16),new a8e),i=c(co(di(c(r.xc(!1),15).Lc(),new f8e),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[ao]))),15),a=i.Kc();a.Ob();)o=c(a.Pb(),74),E=met(o),E&&(b=c(Qs(Is(t.f,E)),21),b||(b=Knt(E),dc(t.f,E,b)),Gr(n,b));for(r=c(co(new gt(null,new Wg(new Qt(en(xd(h).a.Kc(),new M)))),RKe(A,su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[ao])))),85),bXe(n,c(r.xc(!0),16),new h8e),i=c(co(di(c(r.xc(!1),15).Lc(),new d8e),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[ao]))),15),y=i.Kc();y.Ob();)v=c(y.Pb(),74),E=vet(v),E&&(b=c(Qs(Is(t.f,E)),21),b||(b=Knt(E),dc(t.f,E,b)),Gr(n,b))}}function Stn(e,t){AV();var n,i,r,o,a,h,p,b,v,y,E,A,L,$;if(p=Fo(e,0)<0,p&&(e=e1(e)),Fo(e,0)==0)switch(t){case 0:return"0";case 1:return Sk;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return A=new B1,t<0?A.a+="0E+":A.a+="0E",A.a+=t==os?"2147483648":""+-t,A.a}v=18,y=ke(Al,Qf,28,v+1,15,1),n=v,$=e;do b=$,$=X7($,10),y[--n]=Mn(as(48,Hl(b,fs($,10))))&fr;while(Fo($,0)!=0);if(r=Hl(Hl(Hl(v,n),t),1),t==0)return p&&(y[--n]=45),Uf(y,n,v-n);if(t>0&&Fo(r,-6)>=0){if(Fo(r,0)>=0){for(o=n+Mn(r),h=v-1;h>=o;h--)y[h+1]=y[h];return y[++o]=46,p&&(y[--n]=45),Uf(y,n,v-n+1)}for(a=2;NB(a,as(e1(r),1));a++)y[--n]=48;return y[--n]=46,y[--n]=48,p&&(y[--n]=45),Uf(y,n,v-n)}return L=n+1,i=v,E=new Cy,p&&(E.a+="-"),i-L>=1?(dp(E,y[n]),E.a+=".",E.a+=Uf(y,n+1,v-n-1)):E.a+=Uf(y,n,v-n),E.a+="E",Fo(r,0)>0&&(E.a+="+"),E.a+=""+c8(r),E.a}function kw(e,t,n,i,r){var o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te;if(H=new Ae(e.g,e.f),$=Kae(e),$.a=w.Math.max($.a,t),$.b=w.Math.max($.b,n),Te=$.a/H.a,v=$.b/H.b,he=$.a-H.a,p=$.b-H.b,i)for(a=Oi(e)?c(Me(Oi(e),(Un(),ng)),88):c(Me(e,(Un(),ng)),88),h=be(Me(e,(Un(),HS)))===be((Br(),uc)),ie=new Jt((!e.c&&(e.c=new Ie(du,e,9,9)),e.c));ie.e!=ie.i.gc();)switch(X=c(tn(ie),123),ue=c(Me(X,W2),64),ue==(qe(),ko)&&(ue=she(X,a),bi(X,W2,ue)),ue.g){case 1:h||vc(X,X.i*Te);break;case 2:vc(X,X.i+he),h||yc(X,X.j*v);break;case 3:h||vc(X,X.i*Te),yc(X,X.j+p);break;case 4:h||yc(X,X.j*v)}if(Iv(e,$.a,$.b),r)for(E=new Jt((!e.n&&(e.n=new Ie($s,e,1,7)),e.n));E.e!=E.i.gc();)y=c(tn(E),135),A=y.i+y.g/2,L=y.j+y.f/2,Ee=A/H.a,b=L/H.b,Ee+b>=1&&(Ee-b>0&&L>=0?(vc(y,y.i+he),yc(y,y.j+p*b)):Ee-b<0&&A>=0&&(vc(y,y.i+he*Ee),yc(y,y.j+p)));return bi(e,(Un(),ig),(Lu(),o=c(Fa(XS),9),new ll(o,c(ha(o,o.length),9),0))),new Ae(Te,v)}function jst(e){Lg(e,new Ap(eT(Pg(Mg(Ag(Tg(new ep,jl),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new mIe),jl))),Le(e,jl,DO,Ve(Lwt)),Le(e,jl,dm,Ve(Dwt)),Le(e,jl,a2,Ve(Awt)),Le(e,jl,A3,Ve(Pwt)),Le(e,jl,T3,Ve(_wt)),Le(e,jl,Ak,Ve(Twt)),Le(e,jl,Ij,Ve(w2e)),Le(e,jl,Pk,Ve(Owt)),Le(e,jl,BG,Ve(dY)),Le(e,jl,FG,Ve(pY)),Le(e,jl,qO,Ve(m2e)),Le(e,jl,HG,Ve(gY)),Le(e,jl,KG,Ve(v2e)),Le(e,jl,h0e,Ve(y2e)),Le(e,jl,f0e,Ve(b2e)),Le(e,jl,c0e,Ve(YD)),Le(e,jl,u0e,Ve(QD)),Le(e,jl,l0e,Ve(RN)),Le(e,jl,a0e,Ve(x2e)),Le(e,jl,o0e,Ve(g2e))}function nO(e){var t,n,i,r,o,a,h,p,b,v,y;if(e==null)throw V(new Rf(Oc));if(b=e,o=e.length,p=!1,o>0&&(t=(Bt(0,e.length),e.charCodeAt(0)),(t==45||t==43)&&(e=(Bt(1,e.length+1),e.substr(1)),--o,p=t==45)),o==0)throw V(new Rf(Ew+b+'"'));for(;e.length>0&&(Bt(0,e.length),e.charCodeAt(0)==48);)e=(Bt(1,e.length+1),e.substr(1)),--o;if(o>(ert(),Kat)[10])throw V(new Rf(Ew+b+'"'));for(r=0;r0&&(y=-parseInt((Ur(0,i,e.length),e.substr(0,i)),10),e=(Bt(i,e.length+1),e.substr(i)),o-=i,n=!1);o>=a;){if(i=parseInt((Ur(0,a,e.length),e.substr(0,a)),10),e=(Bt(a,e.length+1),e.substr(a)),o-=a,n)n=!1;else{if(Fo(y,h)<0)throw V(new Rf(Ew+b+'"'));y=fs(y,v)}y=Hl(y,i)}if(Fo(y,0)>0)throw V(new Rf(Ew+b+'"'));if(!p&&(y=e1(y),Fo(y,0)<0))throw V(new Rf(Ew+b+'"'));return y}function Ihe(e){RV();var t,n,i,r,o,a,h,p;if(e==null)return null;if(r=$f(e,_c(37)),r<0)return e;for(p=new Fu((Ur(0,r,e.length),e.substr(0,r))),t=ke(Zc,p2,28,4,15,1),h=0,i=0,a=e.length;rr+2&&Pq((Bt(r+1,e.length),e.charCodeAt(r+1)),rxe,sxe)&&Pq((Bt(r+2,e.length),e.charCodeAt(r+2)),rxe,sxe))if(n=VCt((Bt(r+1,e.length),e.charCodeAt(r+1)),(Bt(r+2,e.length),e.charCodeAt(r+2))),r+=2,i>0?(n&192)==128?t[h++]=n<<24>>24:i=0:n>=128&&((n&224)==192?(t[h++]=n<<24>>24,i=2):(n&240)==224?(t[h++]=n<<24>>24,i=3):(n&248)==240&&(t[h++]=n<<24>>24,i=4)),i>0){if(h==i){switch(h){case 2:{dp(p,((t[0]&31)<<6|t[1]&63)&fr);break}case 3:{dp(p,((t[0]&15)<<12|(t[1]&63)<<6|t[2]&63)&fr);break}}h=0,i=0}}else{for(o=0;o=2){if((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a).i==0)n=(K1(),r=new PM,r),yn((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a),n);else if((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a).i>1)for(E=new Ry((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a));E.e!=E.i.gc();)Y8(E);dI(t,c(le((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a),0),166))}if(y)for(i=new Jt((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a));i.e!=i.i.gc();)for(n=c(tn(i),166),b=new Jt((!n.a&&(n.a=new cr(il,n,5)),n.a));b.e!=b.i.gc();)p=c(tn(b),377),h.a=w.Math.max(h.a,p.a),h.b=w.Math.max(h.b,p.b);for(a=new Jt((!e.n&&(e.n=new Ie($s,e,1,7)),e.n));a.e!=a.i.gc();)o=c(tn(a),135),v=c(Me(o,qS),8),v&&cl(o,v.a,v.b),y&&(h.a=w.Math.max(h.a,o.i+o.g),h.b=w.Math.max(h.b,o.j+o.f));return h}function Est(e,t,n,i,r){var o,a,h;if(SWe(e,t),a=t[0],o=rs(n.c,0),h=-1,jue(n))if(i>0){if(a+i>e.length)return!1;h=A_((Ur(0,a+i,e.length),e.substr(0,a+i)),t)}else h=A_(e,t);switch(o){case 71:return h=Jv(e,a,J(W(Ye,1),Oe,2,6,[aot,fot]),t),r.e=h,!0;case 77:return BXt(e,t,r,h,a);case 76:return HXt(e,t,r,h,a);case 69:return PVt(e,t,a,r);case 99:return _Vt(e,t,a,r);case 97:return h=Jv(e,a,J(W(Ye,1),Oe,2,6,["AM","PM"]),t),r.b=h,!0;case 121:return KXt(e,t,a,h,n,r);case 100:return h<=0?!1:(r.c=h,!0);case 83:return h<0?!1:WFt(h,a,t[0],r);case 104:h==12&&(h=0);case 75:case 72:return h<0?!1:(r.f=h,r.g=!1,!0);case 107:return h<0?!1:(r.f=h,r.g=!0,!0);case 109:return h<0?!1:(r.j=h,!0);case 115:return h<0?!1:(r.n=h,!0);case 90:if(aat[p]&&(H=p),y=new q(e.a.b);y.a1;){if(r=_Wt(t),y=o.g,L=c(Me(t,PS),107),$=pe(ye(Me(t,nR))),(!t.a&&(t.a=new Ie(ti,t,10,11)),t.a).i>1&&pe(ye(Me(t,(Nh(),jY))))!=Li&&(o.c+(L.b+L.c))/(o.b+(L.d+L.a))<$?bi(r,(Nh(),Fm),pe(ye(Me(t,Fm)))+pe(ye(Me(t,jY)))):(!t.a&&(t.a=new Ie(ti,t,10,11)),t.a).i>1&&pe(ye(Me(t,(Nh(),kY))))!=Li&&(o.c+(L.b+L.c))/(o.b+(L.d+L.a))>$&&bi(r,(Nh(),Fm),w.Math.max(pe(ye(Me(t,AS))),pe(ye(Me(r,Fm)))-pe(ye(Me(t,kY))))),A=new _ie(i,v),p=Vst(A,r,E),b=p.g,b>=y&&b==b){for(a=0;a<(!r.a&&(r.a=new Ie(ti,r,10,11)),r.a).i;a++)mtt(e,c(le((!r.a&&(r.a=new Ie(ti,r,10,11)),r.a),a),27),c(le((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a),a),27));JWe(t,A),RAt(o,p.c),DAt(o,p.b)}--h}bi(t,(Nh(),m5),o.b),bi(t,X3,o.c),n.Vg()}function Ctn(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie;for(t.Ug("Interactive node layering",1),n=new Re,E=new q(e.a);E.a=h){rn(ie.b>0),ie.a.Xb(ie.c=--ie.b);break}else H.a>p&&(i?(wr(i.b,H.b),i.a=w.Math.max(i.a,H.a),_u(ie)):($e(H.b,v),H.c=w.Math.min(H.c,p),H.a=w.Math.max(H.a,h),i=H));i||(i=new mLe,i.c=p,i.a=h,Ab(ie,i),$e(i.b,v))}for(a=e.b,b=0,X=new q(n);X.aA&&(o&&(ps(Te,E),ps(at,De(b.b-1))),si=n.b,Bi+=E+t,E=0,v=w.Math.max(v,n.b+n.c+nn)),vc(h,si),yc(h,Bi),v=w.Math.max(v,si+nn+n.c),E=w.Math.max(E,y),si+=nn+t;if(v=w.Math.max(v,i),Pt=Bi+E+n.a,Ptth,ut=w.Math.abs(E.b-L.b)>th,(!n&&at&&ut||n&&(at||ut))&&$n(H.a,he)),Gr(H.a,i),i.b==0?E=he:E=(rn(i.b!=0),c(i.c.b.c,8)),pRt(A,y,$),XXe(r)==He&&(Yr(He.i)!=r.a&&($=new Kr,$ae($,Yr(He.i),ie)),Ne(H,aJ,$)),Jzt(A,H,ie),v.a.zc(A,v);ls(H,Ee),Fr(H,He)}for(b=v.a.ec().Kc();b.Ob();)p=c(b.Pb(),18),ls(p,null),Fr(p,null);t.Vg()}function Atn(e,t){var n,i,r,o,a,h,p,b,v,y,E;for(r=c(D(e,(Io(),Jw)),88),v=r==(ar(),Js)||r==so?Cf:so,n=c(co(di(new gt(null,new yt(e.b,16)),new S7e),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)]))),15),p=c(co(Zs(n.Oc(),new F_e(t)),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[ao]))),15),p.Gc(c(co(Zs(n.Oc(),new B_e(t)),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[ao]))),16)),p.jd(new H_e(v)),E=new zd(new K_e(r)),i=new hn,h=p.Kc();h.Ob();)a=c(h.Pb(),240),b=c(a.a,40),Xe(We(a.c))?(E.a.zc(b,(_t(),v0))==null,new Dx(E.a.Zc(b,!1)).a.gc()>0&&Jn(i,b,c(new Dx(E.a.Zc(b,!1)).a.Vc(),40)),new Dx(E.a.ad(b,!0)).a.gc()>1&&Jn(i,ZYe(E,b),b)):(new Dx(E.a.Zc(b,!1)).a.gc()>0&&(o=c(new Dx(E.a.Zc(b,!1)).a.Vc(),40),be(o)===be(Qs(Is(i.f,b)))&&c(D(b,(Si(),WJ)),15).Fc(o)),new Dx(E.a.ad(b,!0)).a.gc()>1&&(y=ZYe(E,b),be(Qs(Is(i.f,y)))===be(b)&&c(D(y,(Si(),WJ)),15).Fc(b)),E.a.Bc(b)!=null)}function Ist(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he;if(e.gc()==1)return c(e.Xb(0),235);if(e.gc()<=0)return new nP;for(r=e.Kc();r.Ob();){for(n=c(r.Pb(),235),L=0,v=ui,y=ui,p=os,b=os,A=new q(n.e);A.ah&&(ue=0,he+=a+X,a=0),iYt($,n,ue,he),t=w.Math.max(t,ue+H.a),a=w.Math.max(a,H.b),ue+=H.a+X;return $}function Ptn(e){rhe();var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H;if(e==null||(o=dP(e),L=oFt(o),L%4!=0))return null;if($=L/4|0,$==0)return ke(Zc,p2,28,0,15,1);for(y=null,t=0,n=0,i=0,r=0,a=0,h=0,p=0,b=0,A=0,E=0,v=0,y=ke(Zc,p2,28,$*3,15,1);A<$-1;A++){if(!nE(a=o[v++])||!nE(h=o[v++])||!nE(p=o[v++])||!nE(b=o[v++]))return null;t=_f[a],n=_f[h],i=_f[p],r=_f[b],y[E++]=(t<<2|n>>4)<<24>>24,y[E++]=((n&15)<<4|i>>2&15)<<24>>24,y[E++]=(i<<6|r)<<24>>24}return!nE(a=o[v++])||!nE(h=o[v++])?null:(t=_f[a],n=_f[h],p=o[v++],b=o[v++],_f[p]==-1||_f[b]==-1?p==61&&b==61?n&15?null:(H=ke(Zc,p2,28,A*3+1,15,1),Wo(y,0,H,0,A*3),H[E]=(t<<2|n>>4)<<24>>24,H):p!=61&&b==61?(i=_f[p],i&3?null:(H=ke(Zc,p2,28,A*3+2,15,1),Wo(y,0,H,0,A*3),H[E++]=(t<<2|n>>4)<<24>>24,H[E]=((n&15)<<4|i>>2&15)<<24>>24,H)):null:(i=_f[p],r=_f[b],y[E++]=(t<<2|n>>4)<<24>>24,y[E++]=((n&15)<<4|i>>2&15)<<24>>24,y[E++]=(i<<6|r)<<24>>24,y))}function _tn(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee;for(t.Ug(vct,1),L=c(D(e,(Ge(),Md)),223),r=new q(e.b);r.a=2){for($=!0,E=new q(o.j),n=c(K(E),12),A=null;E.a0)if(i=y.gc(),b=kr(w.Math.floor((i+1)/2))-1,r=kr(w.Math.ceil((i+1)/2))-1,t.o==If)for(v=r;v>=b;v--)t.a[he.p]==he&&($=c(y.Xb(v),42),L=c($.a,10),!Ba(n,$.b)&&A>e.b.e[L.p]&&(t.a[L.p]=he,t.g[he.p]=t.g[L.p],t.a[he.p]=t.g[he.p],t.f[t.g[he.p].p]=(_t(),!!(Xe(t.f[t.g[he.p].p])&he.k==(Kt(),_r))),A=e.b.e[L.p]));else for(v=b;v<=r;v++)t.a[he.p]==he&&(X=c(y.Xb(v),42),H=c(X.a,10),!Ba(n,X.b)&&A0&&(r=c(Je(H.c.a,Te-1),10),a=e.i[r.p],at=w.Math.ceil(Cv(e.n,r,H)),o=Ee.a.e-H.d.d-(a.a.e+r.o.b+r.d.a)-at),b=Li,Te0&&He.a.e.e-He.a.a-(He.b.e.e-He.b.a)<0,L=ue.a.e.e-ue.a.a-(ue.b.e.e-ue.b.a)<0&&He.a.e.e-He.a.a-(He.b.e.e-He.b.a)>0,A=ue.a.e.e+ue.b.aHe.b.e.e+He.a.a,he=0,!$&&!L&&(E?o+y>0?he=y:b-i>0&&(he=i):A&&(o+h>0?he=h:b-ie>0&&(he=ie))),Ee.a.e+=he,Ee.b&&(Ee.d.e+=he),!1))}function Cst(e,t,n){var i,r,o,a,h,p,b,v,y,E;if(i=new al(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),r=new Ly,e.c)for(a=new q(t.Rf());a.ab&&(i.a+=eBe(ke(Al,Qf,28,-b,15,1))),i.a+="Is",$f(p,_c(32))>=0)for(r=0;r=i.o.b/2}else ie=!y;ie?(X=c(D(i,(Pe(),G3)),15),X?E?o=X:(r=c(D(i,K3),15),r?X.gc()<=r.gc()?o=X:o=r:(o=new Re,Ne(i,K3,o))):(o=new Re,Ne(i,G3,o))):(r=c(D(i,(Pe(),K3)),15),r?y?o=r:(X=c(D(i,G3),15),X?r.gc()<=X.gc()?o=r:o=X:(o=new Re,Ne(i,G3,o))):(o=new Re,Ne(i,K3,o))),o.Fc(e),Ne(e,(Pe(),hD),n),t.d==n?(Fr(t,null),n.e.c.length+n.g.c.length==0&&bo(n,null),YRt(n)):(ls(t,null),n.e.c.length+n.g.c.length==0&&bo(n,null)),Bu(t.a)}function Rtn(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At,Pt,nn,si,Bi;for(n.Ug("MinWidth layering",1),A=t.b,He=t.a,Bi=c(D(t,(Ge(),jme)),17).a,h=c(D(t,Sme),17).a,e.b=pe(ye(D(t,Ea))),e.d=Li,he=new q(He);he.a0?(b=0,H&&(b+=h),b+=(ut-1)*a,ue&&(b+=h),at&&ue&&(b=w.Math.max(b,iXt(ue,a,ie,He))),b=e.a&&(i=vQt(e,ie),v=w.Math.max(v,i.b),he=w.Math.max(he,i.d),$e(h,new xr(ie,i)));for(at=new Re,b=0;b0),H.a.Xb(H.c=--H.b),ut=new Qo(e.b),Ab(H,ut),rn(H.b0){for(E=v<100?null:new H1(v),b=new oue(t),L=b.g,X=ke(kn,qn,28,v,15,1),i=0,he=new sw(v),r=0;r=0;)if(A!=null?fi(A,L[p]):be(A)===be(L[p])){X.length<=i&&(H=X,X=ke(kn,qn,28,2*X.length,15,1),Wo(H,0,X,0,i)),X[i++]=r,yn(he,L[p]);break e}if(A=A,be(A)===be(h))break}}if(b=he,L=he.g,v=i,i>X.length&&(H=X,X=ke(kn,qn,28,i,15,1),Wo(H,0,X,0,i)),i>0){for(ue=!0,o=0;o=0;)p3(e,X[a]);if(i!=v){for(r=v;--r>=i;)p3(b,r);H=X,X=ke(kn,qn,28,i,15,1),Wo(H,0,X,0,i)}t=b}}}else for(t=eKt(e,t),r=e.i;--r>=0;)t.Hc(e.g[r])&&(p3(e,r),ue=!0);if(ue){if(X!=null){for(n=t.gc(),y=n==1?g8(e,4,t.Kc().Pb(),null,X[0],$):g8(e,6,t,X,X[0],$),E=n<100?null:new H1(n),r=t.Kc();r.Ob();)A=r.Pb(),E=Xre(e,c(A,76),E);E?(E.nj(y),E.oj()):ai(e.e,y)}else{for(E=oIt(t.gc()),r=t.Kc();r.Ob();)A=r.Pb(),E=Xre(e,c(A,76),E);E&&E.oj()}return!0}else return!1}function Btn(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue;for(n=new VQe(t),n.a||pYt(t),b=hJt(t),p=new tw,H=new Xnt,$=new q(t.a);$.a<$.c.c.length;)for(L=c(K($),10),r=new Qt(en(nr(L).a.Kc(),new M));bn(r);)i=c(on(r),18),(i.c.i.k==(Kt(),rr)||i.d.i.k==rr)&&(v=Cen(e,i,b,H),mt(p,wz(v.d),v.a));for(a=new Re,ue=c(D(n.c,(Pe(),Cd)),21).Kc();ue.Ob();){switch(ie=c(ue.Pb(),64),A=H.c[ie.g],E=H.b[ie.g],h=H.a[ie.g],o=null,X=null,ie.g){case 4:o=new al(e.d.a,A,b.b.a-e.d.a,E-A),X=new al(e.d.a,A,h,E-A),zg(b,new Ae(o.c+o.b,o.d)),zg(b,new Ae(o.c+o.b,o.d+o.a));break;case 2:o=new al(b.a.a,A,e.c.a-b.a.a,E-A),X=new al(e.c.a-h,A,h,E-A),zg(b,new Ae(o.c,o.d)),zg(b,new Ae(o.c,o.d+o.a));break;case 1:o=new al(A,e.d.b,E-A,b.b.b-e.d.b),X=new al(A,e.d.b,E-A,h),zg(b,new Ae(o.c,o.d+o.a)),zg(b,new Ae(o.c+o.b,o.d+o.a));break;case 3:o=new al(A,b.a.b,E-A,e.c.b-b.a.b),X=new al(A,e.c.b-h,E-A,h),zg(b,new Ae(o.c,o.d)),zg(b,new Ae(o.c+o.b,o.d))}o&&(y=new gLe,y.d=ie,y.b=o,y.c=X,y.a=$A(c(pi(p,wz(ie)),21)),Tt(a.c,y))}return wr(n.b,a),n.d=b$t(KZt(b)),n}function _st(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$;if(n.p[t.p]==null){h=!0,n.p[t.p]=0,a=t,$=n.o==(uf(),eg)?br:Li;do r=e.b.e[a.p],o=a.c.a.c.length,n.o==eg&&r>0||n.o==If&&r=n}function Ktn(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At,Pt,nn;for(ue=t,ie=new tw,he=new tw,v=rw(ue,W0e),i=new eze(e,n,ie,he),uVt(i.a,i.b,i.c,i.d,v),p=(He=ie.i,He||(ie.i=new Av(ie,ie.c))),ut=p.Kc();ut.Ob();)for(at=c(ut.Pb(),166),r=c(pi(ie,at),21),$=r.Kc();$.Ob();)if(L=$.Pb(),Ee=c(Fv(e.d,L),166),Ee)h=(!at.e&&(at.e=new It(Pi,at,10,9)),at.e),yn(h,Ee);else throw a=ud(ue,sh),E=Uut+L+Gut+a,A=E+Hk,V(new Df(A));for(b=(Te=he.i,Te||(he.i=new Av(he,he.c))),Pt=b.Kc();Pt.Ob();)for(At=c(Pt.Pb(),166),o=c(pi(he,At),21),X=o.Kc();X.Ob();)if(H=X.Pb(),Ee=c(Fv(e.d,H),166),Ee)y=(!At.g&&(At.g=new It(Pi,At,9,10)),At.g),yn(y,Ee);else throw a=ud(ue,sh),E=Uut+H+Gut+a,A=E+Hk,V(new Df(A));!n.b&&(n.b=new It(cn,n,4,7)),n.b.i!=0&&(!n.c&&(n.c=new It(cn,n,5,8)),n.c.i!=0)&&(!n.b&&(n.b=new It(cn,n,4,7)),n.b.i<=1&&(!n.c&&(n.c=new It(cn,n,5,8)),n.c.i<=1))&&(!n.a&&(n.a=new Ie(Pi,n,6,6)),n.a).i==1&&(nn=c(le((!n.a&&(n.a=new Ie(Pi,n,6,6)),n.a),0),166),!xz(nn)&&!kz(nn)&&(CP(nn,c(le((!n.b&&(n.b=new It(cn,n,4,7)),n.b),0),84)),MP(nn,c(le((!n.c&&(n.c=new It(cn,n,5,8)),n.c),0),84))))}function qtn(e){var t,n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At;for(ue=e.a,he=0,Ee=ue.length;he0?(y=c(Je(E.c.a,a-1),10),at=Cv(e.b,E,y),H=E.n.b-E.d.d-(y.n.b+y.o.b+y.d.a+at)):H=E.n.b-E.d.d,b=w.Math.min(H,b),a1&&(a=w.Math.min(a,w.Math.abs(c(xl(h.a,1),8).b-v.b)))));else for($=new q(t.j);$.a<$.c.c.length;)for(L=c(K($),12),p=new q(L.e);p.ar&&(o=E.a-r,a=ui,i.c.length=0,r=E.a),E.a>=r&&(Tt(i.c,h),h.a.b>1&&(a=w.Math.min(a,w.Math.abs(c(xl(h.a,h.a.b-2),8).b-E.b)))));if(i.c.length!=0&&o>t.o.a/2&&a>t.o.b/2){for(A=new Go,bo(A,t),jr(A,(qe(),Ht)),A.n.a=t.o.a/2,X=new Go,bo(X,t),jr(X,fn),X.n.a=t.o.a/2,X.n.b=t.o.b,p=new q(i);p.a=b.b?ls(h,X):ls(h,A)):(b=c(OCt(h.a),8),H=h.a.b==0?lf(h.c):c(fa(h.a),8),H.b>=b.b?Fr(h,X):Fr(h,A)),y=c(D(h,(Ge(),Xs)),75),y&&Xb(y,b,!0);t.n.a=r-t.o.a/2}}function Vtn(e,t,n){var i,r,o,a,h,p,b,v,y,E;for(h=wn(e.b,0);h.b!=h.d.c;)if(a=c(dn(h),40),!wt(a.c,BO))for(b=wGt(a,e),t==(ar(),Js)||t==so?ir(b,new X7e):ir(b,new J7e),p=b.c.length,i=0;i=0?A=l3(h):A=$7(l3(h)),e.qf(l5,A)),b=new Kr,E=!1,e.pf(Vw)?(vre(b,c(e.of(Vw),8)),E=!0):t7t(b,a.a/2,a.b/2),A.g){case 4:Ne(v,Ec,(yl(),S0)),Ne(v,pD,(Ep(),S2)),v.o.b=a.b,$<0&&(v.o.a=-$),jr(y,(qe(),Xt)),E||(b.a=a.a),b.a-=a.a;break;case 2:Ne(v,Ec,(yl(),Cm)),Ne(v,pD,(Ep(),n5)),v.o.b=a.b,$<0&&(v.o.a=-$),jr(y,(qe(),qt)),E||(b.a=0);break;case 1:Ne(v,Up,(dd(),I2)),v.o.a=a.a,$<0&&(v.o.b=-$),jr(y,(qe(),fn)),E||(b.b=a.b),b.b-=a.b;break;case 3:Ne(v,Up,(dd(),H3)),v.o.a=a.a,$<0&&(v.o.b=-$),jr(y,(qe(),Ht)),E||(b.b=0)}if(vre(y.n,b),Ne(v,Vw,b),t==sg||t==Kh||t==uc){if(L=0,t==sg&&e.pf(v1))switch(A.g){case 1:case 2:L=c(e.of(v1),17).a;break;case 3:case 4:L=-c(e.of(v1),17).a}else switch(A.g){case 4:case 2:L=o.b,t==Kh&&(L/=r.b);break;case 1:case 3:L=o.a,t==Kh&&(L/=r.a)}Ne(v,Bw,L)}return Ne(v,Ao,A),v}function Utn(){zne();function e(i){var r=this;this.dispatch=function(o){var a=o.data;switch(a.cmd){case"algorithms":var h=fle((jt(),new Lx(new td(L0.b))));i.postMessage({id:a.id,data:h});break;case"categories":var p=fle((jt(),new Lx(new td(L0.c))));i.postMessage({id:a.id,data:p});break;case"options":var b=fle((jt(),new Lx(new td(L0.d))));i.postMessage({id:a.id,data:b});break;case"register":XZt(a.algorithms),i.postMessage({id:a.id});break;case"layout":SQt(a.graph,a.layoutOptions||{},a.options||{}),i.postMessage({id:a.id,data:a.graph});break}},this.saveDispatch=function(o){try{r.dispatch(o)}catch(a){i.postMessage({id:o.data.id,error:a})}}}function t(i){var r=this;this.dispatcher=new e({postMessage:function(o){r.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){r.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===MU&&typeof self!==MU){var n=new e(self);self.onmessage=n.saveDispatch}else typeof d!==MU&&d.exports&&(Object.defineProperty(g,"__esModule",{value:!0}),d.exports={default:t,Worker:t})}function Ost(e,t,n){var i,r,o,a,h,p,b,v,y,E;for(v=new yd(n),no(v,t),Ne(v,(Pe(),gi),t),v.o.a=t.g,v.o.b=t.f,v.n.a=t.i,v.n.b=t.j,$e(n.a,v),Jn(e.a,t,v),((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a).i!=0||Xe(We(Me(t,(Ge(),Am)))))&&Ne(v,vbe,(_t(),!0)),b=c(D(n,cc),21),y=c(D(v,(Ge(),Ji)),101),y==(Br(),P0)?Ne(v,Ji,Tf):y!=Tf&&b.Fc((Cs(),s5)),E=0,i=c(D(n,Zu),88),p=new Jt((!t.c&&(t.c=new Ie(du,t,9,9)),t.c));p.e!=p.i.gc();)h=c(tn(p),123),r=Oi(t),(be(Me(r,$h))!==be((Gf(),y1))||be(Me(r,Wp))===be((c1(),t5))||be(Me(r,Wp))===be((c1(),e5))||Xe(We(Me(r,Kw)))||be(Me(r,Mm))!==be((Cp(),jm))||be(Me(r,E0))===be((ql(),Ww))||be(Me(r,E0))===be((ql(),Dm))||be(Me(r,Jp))===be((h1(),d5))||be(Me(r,Jp))===be((h1(),p5)))&&!Xe(We(Me(t,xD)))&&bi(h,yi,De(E++)),Xe(We(Me(h,Qp)))||ntn(e,h,v,b,i,y);for(a=new Jt((!t.n&&(t.n=new Ie($s,t,1,7)),t.n));a.e!=a.i.gc();)o=c(tn(a),135),!Xe(We(Me(o,Qp)))&&o.a&&$e(v.b,Wq(o));return Xe(We(D(v,fS)))&&b.Fc((Cs(),lD)),Xe(We(D(v,ED)))&&(b.Fc((Cs(),aD)),b.Fc(sS),Ne(v,Ji,Tf)),v}function zV(e,t,n,i,r,o,a){var h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At,Pt,nn,si,Bi;for($=0,At=0,b=new q(e.b);b.a$&&(o&&(ps(Te,A),ps(at,De(v.b-1)),$e(e.d,L),h.c.length=0),si=n.b,Bi+=A+t,A=0,y=w.Math.max(y,n.b+n.c+nn)),Tt(h.c,p),RQe(p,si,Bi),y=w.Math.max(y,si+nn+n.c),A=w.Math.max(A,E),si+=nn+t,L=p;if(wr(e.a,h),$e(e.d,c(Je(h,h.c.length-1),163)),y=w.Math.max(y,i),Pt=Bi+A+n.a,Ptr.d.d+r.d.a?v.f.d=!0:(v.f.d=!0,v.f.a=!0))),i.b!=i.d.c&&(t=n);v&&(o=c(Yt(e.f,a.d.i),60),t.bo.d.d+o.d.a?v.f.d=!0:(v.f.d=!0,v.f.a=!0))}for(h=new Qt(en(Tr(A).a.Kc(),new M));bn(h);)a=c(on(h),18),a.a.b!=0&&(t=c(fa(a.a),8),a.d.j==(qe(),Ht)&&(H=new fj(t,new Ae(t.a,r.d.d),r,a),H.f.a=!0,H.a=a.d,Tt($.c,H)),a.d.j==fn&&(H=new fj(t,new Ae(t.a,r.d.d+r.d.a),r,a),H.f.d=!0,H.a=a.d,Tt($.c,H)))}return $}function Qtn(e,t,n){var i,r,o,a,h,p,b,v,y,E;for(p=new Re,y=t.length,a=kue(n),b=0;b=L&&(ie>L&&(A.c.length=0,L=ie),Tt(A.c,a));A.c.length!=0&&(E=c(Je(A,g_(t,A.c.length)),131),Pt.a.Bc(E)!=null,E.s=$++,yfe(E,ut,Te),A.c.length=0)}for(he=e.c.length+1,h=new q(e);h.aAt.s&&(_u(n),Ac(At.i,i),i.c>0&&(i.a=At,$e(At.t,i),i.b=He,$e(He.i,i)))}function Lst(e,t,n,i,r){var o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At,Pt;for($=new ac(t.b),he=new ac(t.b),E=new ac(t.b),at=new ac(t.b),H=new ac(t.b),He=wn(t,0);He.b!=He.d.c;)for(Ee=c(dn(He),12),h=new q(Ee.g);h.a0,X=Ee.g.c.length>0,b&&X?Tt(E.c,Ee):b?Tt($.c,Ee):X&&Tt(he.c,Ee);for(L=new q($);L.aie.nh()-b.b&&(E=ie.nh()-b.b),A>ie.oh()-b.d&&(A=ie.oh()-b.d),v0){for(ue=wn(e.f,0);ue.b!=ue.d.c;)ie=c(dn(ue),10),ie.p+=E-e.e;Fae(e),Bu(e.f),Ofe(e,i,A)}else{for($n(e.f,A),A.p=i,e.e=w.Math.max(e.e,i),o=new Qt(en(Tr(A).a.Kc(),new M));bn(o);)r=c(on(o),18),!r.c.i.c&&r.c.i.k==(Kt(),qo)&&($n(e.f,r.c.i),r.c.i.p=i-1);e.c=i}else Fae(e),Bu(e.f),i=0,bn(new Qt(en(Tr(A).a.Kc(),new M)))?(E=0,E=KQe(E,A),i=E+2,Ofe(e,i,A)):($n(e.f,A),A.p=0,e.e=w.Math.max(e.e,0),e.b=c(Je(e.d.b,0),30),e.c=0);for(e.f.b==0||Fae(e),e.d.a.c.length=0,X=new Re,b=new q(e.d.b);b.a=48&&t<=57){for(i=t-48;r=48&&t<=57;)if(i=i*10+t-48,i<0)throw V(new Ln(Rn((Pn(),cpe))))}else throw V(new Ln(Rn((Pn(),vlt))));if(n=i,t==44){if(r>=e.j)throw V(new Ln(Rn((Pn(),xlt))));if((t=rs(e.i,r++))>=48&&t<=57){for(n=t-48;r=48&&t<=57;)if(n=n*10+t-48,n<0)throw V(new Ln(Rn((Pn(),cpe))));if(i>n)throw V(new Ln(Rn((Pn(),klt))))}else n=-1}if(t!=125)throw V(new Ln(Rn((Pn(),ylt))));e.bm(r)?(o=(ci(),ci(),new Fb(9,o)),e.d=r+1):(o=(ci(),ci(),new Fb(3,o)),e.d=r),o.Om(i),o.Nm(n),ri(e)}}return o}function rnn(e){var t,n,i,r,o;switch(n=c(D(e,(Pe(),cc)),21),t=KT(zht),r=c(D(e,(Ge(),Tm)),346),r==(wd(),E1)&&Uu(t,Vht),Xe(We(D(e,vJ)))?Kn(t,(ss(),Sa),(hs(),CX)):Kn(t,(ss(),Xo),(hs(),CX)),D(e,(oP(),DS))!=null&&Uu(t,Uht),(Xe(We(D(e,yme)))||Xe(We(D(e,wme))))&&Vc(t,(ss(),ro),(hs(),gwe)),c(D(e,Zu),88).g){case 2:case 3:case 4:Vc(Kn(t,(ss(),Sa),(hs(),bwe)),ro,wwe)}switch(n.Hc((Cs(),lD))&&Vc(Kn(Kn(t,(ss(),Sa),(hs(),pwe)),sc,hwe),ro,dwe),be(D(e,E0))!==be((ql(),RD))&&Kn(t,(ss(),Xo),(hs(),Pwe)),n.Hc(fD)&&(Kn(t,(ss(),Sa),(hs(),Dwe)),Kn(t,Dh,Owe),Kn(t,Xo,Lwe)),be(D(e,vD))!==be((ok(),rS))&&be(D(e,Md))!==be((bd(),QN))&&Vc(t,(ss(),ro),(hs(),Iwe)),Xe(We(D(e,mme)))&&Kn(t,(ss(),Xo),(hs(),Ewe)),Xe(We(D(e,gJ)))&&Kn(t,(ss(),Xo),(hs(),Rwe)),bWt(e)&&(be(D(e,Tm))===be(E1)?i=c(D(e,SN),299):i=c(D(e,pJ),299),o=i==(R4(),ZX)?(hs(),_we):(hs(),Bwe),Kn(t,(ss(),sc),o)),c(D(e,Ume),388).g){case 1:Kn(t,(ss(),sc),(hs(),$we));break;case 2:Vc(Kn(Kn(t,(ss(),Xo),(hs(),uwe)),sc,lwe),ro,awe)}return be(D(e,$h))!==be((Gf(),y1))&&Kn(t,(ss(),Xo),(hs(),Fwe)),t}function Fst(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue;if(bc(e.a,t)){if(Ba(c(Yt(e.a,t),49),n))return 1}else Jn(e.a,t,new sr);if(bc(e.a,n)){if(Ba(c(Yt(e.a,n),49),t))return-1}else Jn(e.a,n,new sr);if(bc(e.e,t)){if(Ba(c(Yt(e.e,t),49),n))return-1}else Jn(e.e,t,new sr);if(bc(e.e,n)){if(Ba(c(Yt(e.a,n),49),t))return 1}else Jn(e.e,n,new sr);if(e.c==(Gf(),LJ)||!Ni(t,(Pe(),yi))||!Ni(n,(Pe(),yi))){for(y=null,b=new q(t.j);b.aa?dk(e,t,n):dk(e,n,t),ra?1:0}return i=c(D(t,(Pe(),yi)),17).a,o=c(D(n,yi),17).a,i>o?dk(e,t,n):dk(e,n,t),io?1:0}function jw(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H;if(n==null)return null;if(e.a!=t.jk())throw V(new Ft(Fk+t.xe()+Aw));if(ce(t,469)){if(H=XXt(c(t,685),n),!H)throw V(new Ft(nW+n+"' is not a valid enumerator of '"+t.xe()+"'"));return H}switch(r1((Wc(),ts),t).Nl()){case 2:{n=nc(n,!1);break}case 3:{n=nc(n,!0);break}}if(i=r1(ts,t).Jl(),i)return i.jk().wi().ti(i,n);if(E=r1(ts,t).Ll(),E){for(H=new Re,b=Fq(n),v=0,y=b.length;v1)for(L=new Ry((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a));L.e!=L.i.gc();)Y8(L);for(a=c(le((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a),0),166),H=si,si>Ee+he?H=Ee+he:siTe+$?X=Te+$:BiEe-he&&HTe-$&&Xsi+nn?at=si+nn:EeBi+He?ut=Bi+He:Tesi-nn&&atBi-He&&utn&&(E=n-1),A=P1+mu(t,24)*TI*y-y/2,A<0?A=1:A>i&&(A=i-1),r=(K1(),p=new AM,p),kP(r,E),xP(r,A),yn((!a.a&&(a.a=new cr(il,a,5)),a.a),r)}function Bst(e){Lg(e,new Ap(Pg(Mg(Ag(Tg(new ep,xu),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new CIe))),Le(e,xu,M3,1.3),Le(e,xu,Tk,(_t(),!1)),Le(e,xu,Iw,B2e),Le(e,xu,dm,15),Le(e,xu,LO,Ve(ibt)),Le(e,xu,a2,Ve(obt)),Le(e,xu,A3,Ve(ubt)),Le(e,xu,T3,Ve(lbt)),Le(e,xu,Ak,Ve(sbt)),Le(e,xu,Ij,Ve(EY)),Le(e,xu,Pk,Ve(abt)),Le(e,xu,x0e,Ve(z2e)),Le(e,xu,k0e,Ve(q2e)),Le(e,xu,y0e,Ve(NY)),Le(e,xu,v0e,Ve(V2e)),Le(e,xu,j0e,Ve(F2e)),Le(e,xu,S0e,Ve(IY)),Le(e,xu,E0e,Ve($2e)),Le(e,xu,I0e,Ve(K2e)),Le(e,xu,Ej,Ve(R2e)),Le(e,xu,RO,Ve(rbt)),Le(e,xu,b0e,Ve(FN)),Le(e,xu,w0e,Ve(D2e)),Le(e,xu,m0e,Ve(BN)),Le(e,xu,g0e,Ve(H2e))}function UV(e,t){AV();var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He;if(ue=e.e,v=e.d,r=e.a,ue==0)switch(t){case 0:return"0";case 1:return Sk;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return X=new B1,X.a+="0E",X.a+=-t,X.a}if($=v*10+1+7,H=ke(Al,Qf,28,$+1,15,1),n=$,v==1)if(o=r[0],o<0){He=Nr(o,Ms);do y=He,He=X7(He,10),H[--n]=48+Mn(Hl(y,fs(He,10)))&fr;while(Fo(He,0)!=0)}else{He=o;do y=He,He=He/10|0,H[--n]=48+(y-He*10)&fr;while(He!=0)}else{he=ke(kn,qn,28,v,15,1),Te=v,Wo(r,0,he,0,Te);e:for(;;){for(ie=0,h=Te-1;h>=0;h--)Ee=as(pa(ie,32),Nr(he[h],Ms)),A=Gqt(Ee),he[h]=Mn(A),ie=Mn(Ug(A,32));L=Mn(ie),E=n;do H[--n]=48+L%10&fr;while((L=L/10|0)!=0&&n!=0);for(i=9-E+n,a=0;a0;a++)H[--n]=48;for(p=Te-1;he[p]==0;p--)if(p==0)break e;Te=p+1}for(;H[n]==48;)++n}return b=ue<0,b&&(H[--n]=45),Uf(H,n,$-n)}function Hst(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te;switch(e.c=t,e.g=new hn,n=(Dg(),new Cg(e.c)),i=new BM(n),ule(i),ue=_n(Me(e.c,(Y7(),aye))),p=c(Me(e.c,RY),324),Ee=c(Me(e.c,$Y),437),a=c(Me(e.c,cye),490),he=c(Me(e.c,DY),438),e.j=pe(ye(Me(e.c,Sbt))),h=e.a,p.g){case 0:h=e.a;break;case 1:h=e.b;break;case 2:h=e.i;break;case 3:h=e.e;break;case 4:h=e.f;break;default:throw V(new Ft(UO+(p.f!=null?p.f:""+p.g)))}if(e.d=new Pze(h,Ee,a),Ne(e.d,(O4(),Zj),We(Me(e.c,kbt))),e.d.c=Xe(We(Me(e.c,uye))),RA(e.c).i==0)return e.d;for(y=new Jt(RA(e.c));y.e!=y.i.gc();){for(v=c(tn(y),27),A=v.g/2,E=v.f/2,Te=new Ae(v.i+A,v.j+E);bc(e.g,Te);)qg(Te,(w.Math.random()-.5)*th,(w.Math.random()-.5)*th);$=c(Me(v,(Un(),y5)),140),H=new Uze(Te,new al(Te.a-A-e.j/2-$.b,Te.b-E-e.j/2-$.d,v.g+e.j+($.b+$.c),v.f+e.j+($.d+$.a))),$e(e.d.i,H),Jn(e.g,Te,new xr(H,v))}switch(he.g){case 0:if(ue==null)e.d.d=c(Je(e.d.i,0),68);else for(ie=new q(e.d.i);ie.a0?nn+1:1);for(a=new q(Te.g);a.a0?nn+1:1)}e.c[b]==0?$n(e.e,$):e.a[b]==0&&$n(e.f,$),++b}for(L=-1,A=1,y=new Re,e.d=c(D(t,(Pe(),U3)),234);rl>0;){for(;e.e.b!=0;)Bi=c(RH(e.e),10),e.b[Bi.p]=L--,Yfe(e,Bi),--rl;for(;e.f.b!=0;)pu=c(RH(e.f),10),e.b[pu.p]=A++,Yfe(e,pu),--rl;if(rl>0){for(E=os,ie=new q(ue);ie.a=E&&(he>E&&(y.c.length=0,E=he),Tt(y.c,$)));v=e.sg(y),e.b[v.p]=A++,Yfe(e,v),--rl}}for(si=ue.c.length+1,b=0;be.b[Ys]&&(xw(i,!0),Ne(t,yN,(_t(),!0)));e.a=null,e.c=null,e.b=null,Bu(e.f),Bu(e.e),n.Vg()}function Kst(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te;for(Ee=c(le((!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a),0),166),v=new Hc,he=new hn,Te=Yit(Ee),dc(he.f,Ee,Te),E=new hn,i=new Ai,L=xh(zu(J(W(Qu,1),Mt,20,0,[(!t.d&&(t.d=new It(tr,t,8,5)),t.d),(!t.e&&(t.e=new It(tr,t,7,4)),t.e)])));bn(L);){if(A=c(on(L),74),(!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a).i!=1)throw V(new Ft(Cut+(!e.a&&(e.a=new Ie(Pi,e,6,6)),e.a).i));A!=e&&(H=c(le((!A.a&&(A.a=new Ie(Pi,A,6,6)),A.a),0),166),Ui(i,H,i.c.b,i.c),$=c(Qs(Is(he.f,H)),13),$||($=Yit(H),dc(he.f,H,$)),y=n?Ir(new gs(c(Je(Te,Te.c.length-1),8)),c(Je($,$.c.length-1),8)):Ir(new gs((St(0,Te.c.length),c(Te.c[0],8))),(St(0,$.c.length),c($.c[0],8))),dc(E.f,H,y))}if(i.b!=0)for(X=c(Je(Te,n?Te.c.length-1:0),8),b=1;b1&&Ui(v,X,v.c.b,v.c),aq(r)));X=ie}return v}function qst(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At;for(n.Ug(qct,1),At=c(co(di(new gt(null,new yt(t,16)),new iIe),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)]))),15),v=c(co(di(new gt(null,new yt(t,16)),new z_e(t)),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[ao]))),15),L=c(co(di(new gt(null,new yt(t,16)),new q_e(t)),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[ao]))),15),$=ke(zD,HO,40,t.gc(),0,1),a=0;a=0&&ut=0&&!$[A]){$[A]=r,v.gd(h),--h;break}if(A=ut-E,A<$.length&&A>=0&&!$[A]){$[A]=r,v.gd(h),--h;break}}for(L.jd(new rIe),p=$.length-1;p>=0;p--)!$[p]&&!L.dc()&&($[p]=c(L.Xb(0),40),L.gd(0));for(b=0;b<$.length;b++)!$[b]&&!At.dc()&&($[b]=c(At.Xb(0),40),At.gd(0));for(o=0;o<$.length;o++)Ne($[o],(Si(),MS),De(o));for(y=c(QFt(di(new gt(null,new yt(t,16)),new sIe)),534),Te=y,He=0,at=Te.length;He=0;p--)$n(n,(St(p,a.c.length),c(a.c[p],8)));return n}function Vst(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he;for(ue=pe(ye(Me(t,(Nh(),Fm)))),A=pe(ye(Me(t,AS))),E=pe(ye(Me(t,eR))),eue((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a)),X=Lrt((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a),ue,e.b),H=0;HE&&G7((St(E,t.c.length),c(t.c[E],186)),v),v=null;t.c.length>E&&(St(E,t.c.length),c(t.c[E],186)).a.c.length==0;)Ac(t,(St(E,t.c.length),t.c[E]));if(!v){--a;continue}if(!Xe(We(c(Je(v.b,0),27).of((mf(),BN))))&&NYt(t,L,o,v,H,n,E,i)){$=!0;continue}if(H){if(A=L.b,y=v.f,!Xe(We(c(Je(v.b,0),27).of(BN)))&&UZt(t,L,o,v,n,E,i,r)){if($=!0,A=e.j){e.a=-1,e.c=1;return}if(t=rs(e.i,e.d++),e.a=t,e.b==1){switch(t){case 92:if(i=10,e.d>=e.j)throw V(new Ln(Rn((Pn(),ZO))));e.a=rs(e.i,e.d++);break;case 45:(e.e&512)==512&&e.d=e.j||rs(e.i,e.d)!=63)break;if(++e.d>=e.j)throw V(new Ln(Rn((Pn(),gW))));switch(t=rs(e.i,e.d++),t){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(e.d>=e.j)throw V(new Ln(Rn((Pn(),gW))));if(t=rs(e.i,e.d++),t==61)i=16;else if(t==33)i=17;else throw V(new Ln(Rn((Pn(),tlt))));break;case 35:for(;e.d=e.j)throw V(new Ln(Rn((Pn(),ZO))));e.a=rs(e.i,e.d++);break;default:i=0}e.c=i}function pnn(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H;if(n.Ug("Process compaction",1),!!Xe(We(D(t,(Io(),Vve))))){for(r=c(D(t,Jw),88),A=pe(ye(D(t,nY))),HQt(e,t,r),Atn(t,A/2/2),L=t.b,xp(L,new D_e(r)),b=wn(L,0);b.b!=b.d.c;)if(p=c(dn(b),40),!Xe(We(D(p,(Si(),C0))))){if(i=dJt(p,r),$=uQt(p,t),y=0,E=0,i)switch(H=i.e,r.g){case 2:y=H.a-A-p.f.a,$.e.a-A-p.f.ay&&(y=$.e.a+$.f.a+A),E=y+p.f.a;break;case 4:y=H.b-A-p.f.b,$.e.b-A-p.f.by&&(y=$.e.b+$.f.b+A),E=y+p.f.b}else if($)switch(r.g){case 2:y=$.e.a-A-p.f.a,E=y+p.f.a;break;case 1:y=$.e.a+$.f.a+A,E=y+p.f.a;break;case 4:y=$.e.b-A-p.f.b,E=y+p.f.b;break;case 3:y=$.e.b+$.f.b+A,E=y+p.f.b}be(D(t,tY))===be((_8(),_N))?(o=y,a=E,h=H4(di(new gt(null,new yt(e.a,16)),new E$e(o,a))),h.a!=null?r==(ar(),Js)||r==so?p.e.a=y:p.e.b=y:(r==(ar(),Js)||r==Cl?h=H4(di(tXe(new gt(null,new yt(e.a,16))),new R_e(o))):h=H4(di(tXe(new gt(null,new yt(e.a,16))),new $_e(o))),h.a!=null&&(r==Js||r==so?p.e.a=pe(ye((rn(h.a!=null),c(h.a,42)).a)):p.e.b=pe(ye((rn(h.a!=null),c(h.a,42)).a)))),h.a!=null&&(v=to(e.a,(rn(h.a!=null),h.a),0),v>0&&v!=c(D(p,ah),17).a&&(Ne(p,Rve,(_t(),!0)),Ne(p,ah,De(v))))):r==(ar(),Js)||r==so?p.e.a=y:p.e.b=y}n.Vg()}}function Ust(e){var t,n,i,r,o,a,h,p,b;for(e.b=1,ri(e),t=null,e.c==0&&e.a==94?(ri(e),t=(ci(),ci(),new Ku(4)),tc(t,0,qk),h=new Ku(4)):h=(ci(),ci(),new Ku(4)),r=!0;(b=e.c)!=1;){if(b==0&&e.a==93&&!r){t&&(wj(t,h),h=t);break}if(n=e.a,i=!1,b==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:um(h,pk(n)),i=!0;break;case 105:case 73:case 99:case 67:n=(um(h,pk(n)),-1),n<0&&(i=!0);break;case 112:case 80:if(p=tfe(e,n),!p)throw V(new Ln(Rn((Pn(),wW))));um(h,p),i=!0;break;default:n=Dfe(e)}else if(b==24&&!r){if(t&&(wj(t,h),h=t),o=Ust(e),wj(h,o),e.c!=0||e.a!=93)throw V(new Ln(Rn((Pn(),flt))));break}if(ri(e),!i){if(b==0){if(n==91)throw V(new Ln(Rn((Pn(),spe))));if(n==93)throw V(new Ln(Rn((Pn(),ope))));if(n==45&&!r&&e.a!=93)throw V(new Ln(Rn((Pn(),bW))))}if(e.c!=0||e.a!=45||n==45&&r)tc(h,n,n);else{if(ri(e),(b=e.c)==1)throw V(new Ln(Rn((Pn(),eL))));if(b==0&&e.a==93)tc(h,n,n),tc(h,45,45);else{if(b==0&&e.a==93||b==24)throw V(new Ln(Rn((Pn(),bW))));if(a=e.a,b==0){if(a==91)throw V(new Ln(Rn((Pn(),spe))));if(a==93)throw V(new Ln(Rn((Pn(),ope))));if(a==45)throw V(new Ln(Rn((Pn(),bW))))}else b==10&&(a=Dfe(e));if(ri(e),n>a)throw V(new Ln(Rn((Pn(),plt))));tc(h,n,a)}}}r=!1}if(e.c==1)throw V(new Ln(Rn((Pn(),eL))));return Yv(h),pj(h),e.b=0,ri(e),h}function gnn(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee;if(n.Ug("Coffman-Graham Layering",1),t.a.c.length==0){n.Vg();return}for(Ee=c(D(t,(Ge(),kme)),17).a,p=0,a=0,E=new q(t.a);E.a=Ee||!lBt(X,i))&&(i=Kqe(t,v)),zr(X,i),o=new Qt(en(Tr(X).a.Kc(),new M));bn(o);)r=c(on(o),18),!e.a[r.p]&&($=r.c.i,--e.e[$.p],e.e[$.p]==0&&Ky(sk(A,$),Ek));for(b=v.c.length-1;b>=0;--b)$e(t.b,(St(b,v.c.length),c(v.c[b],30)));t.a.c.length=0,n.Vg()}function Gst(e,t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he;he=!1;do for(he=!1,o=t?new ip(e.a.b).a.gc()-2:1;t?o>=0:oc(D(H,yi),17).a)&&(ue=!1);if(ue){for(p=t?o+1:o-1,h=Hoe(e.a,De(p)),a=!1,ie=!0,i=!1,v=wn(h,0);v.b!=v.d.c;)b=c(dn(v),10),Ni(b,yi)?b.p!=y.p&&(a=a|(t?c(D(b,yi),17).ac(D(y,yi),17).a),ie=!1):!a&&ie&&b.k==(Kt(),qo)&&(i=!0,t?E=c(on(new Qt(en(Tr(b).a.Kc(),new M))),18).c.i:E=c(on(new Qt(en(nr(b).a.Kc(),new M))),18).d.i,E==y&&(t?n=c(on(new Qt(en(nr(b).a.Kc(),new M))),18).d.i:n=c(on(new Qt(en(Tr(b).a.Kc(),new M))),18).c.i,(t?c(Cb(e.a,n),17).a-c(Cb(e.a,E),17).a:c(Cb(e.a,E),17).a-c(Cb(e.a,n),17).a)<=2&&(ie=!1)));if(i&&ie&&(t?n=c(on(new Qt(en(nr(y).a.Kc(),new M))),18).d.i:n=c(on(new Qt(en(Tr(y).a.Kc(),new M))),18).c.i,(t?c(Cb(e.a,n),17).a-c(Cb(e.a,y),17).a:c(Cb(e.a,y),17).a-c(Cb(e.a,n),17).a)<=2&&n.k==(Kt(),er)&&(ie=!1)),a||ie){for($=Snt(e,y,t);$.a.gc()!=0;)L=c($.a.ec().Kc().Pb(),10),$.a.Bc(L)!=null,Gr($,Snt(e,L,t));--A,he=!0}}}while(he)}function wnn(e){Nn(e.c,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#decimal"])),Nn(e.d,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#integer"])),Nn(e.e,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#boolean"])),Nn(e.f,Fn,J(W(Ye,1),Oe,2,6,[cs,"EBoolean",ei,"EBoolean:Object"])),Nn(e.i,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#byte"])),Nn(e.g,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Nn(e.j,Fn,J(W(Ye,1),Oe,2,6,[cs,"EByte",ei,"EByte:Object"])),Nn(e.n,Fn,J(W(Ye,1),Oe,2,6,[cs,"EChar",ei,"EChar:Object"])),Nn(e.t,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#double"])),Nn(e.u,Fn,J(W(Ye,1),Oe,2,6,[cs,"EDouble",ei,"EDouble:Object"])),Nn(e.F,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#float"])),Nn(e.G,Fn,J(W(Ye,1),Oe,2,6,[cs,"EFloat",ei,"EFloat:Object"])),Nn(e.I,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#int"])),Nn(e.J,Fn,J(W(Ye,1),Oe,2,6,[cs,"EInt",ei,"EInt:Object"])),Nn(e.N,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#long"])),Nn(e.O,Fn,J(W(Ye,1),Oe,2,6,[cs,"ELong",ei,"ELong:Object"])),Nn(e.Z,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#short"])),Nn(e.$,Fn,J(W(Ye,1),Oe,2,6,[cs,"EShort",ei,"EShort:Object"])),Nn(e._,Fn,J(W(Ye,1),Oe,2,6,[cs,"http://www.w3.org/2001/XMLSchema#string"]))}function bnn(e,t,n,i,r,o,a){var h,p,b,v,y,E,A,L;return E=c(i.a,17).a,A=c(i.b,17).a,y=e.b,L=e.c,h=0,v=0,t==(ar(),Js)||t==so?(v=pE(LYe(Db(Zs(new gt(null,new yt(n.b,16)),new oIe),new K7e))),y.e.b+y.f.b/2>v?(b=++A,h=pe(ye(Tu(_b(Zs(new gt(null,new yt(n.b,16)),new C$e(r,b)),new q7e))))):(p=++E,h=pe(ye(Tu(zy(Zs(new gt(null,new yt(n.b,16)),new M$e(r,p)),new z7e)))))):(v=pE(LYe(Db(Zs(new gt(null,new yt(n.b,16)),new W7e),new H7e))),y.e.a+y.f.a/2>v?(b=++A,h=pe(ye(Tu(_b(Zs(new gt(null,new yt(n.b,16)),new I$e(r,b)),new V7e))))):(p=++E,h=pe(ye(Tu(zy(Zs(new gt(null,new yt(n.b,16)),new N$e(r,p)),new U7e)))))),t==Js?(ps(e.a,new Ae(pe(ye(D(y,(Si(),ef))))-r,h)),ps(e.a,new Ae(L.e.a+L.f.a+r+o,h)),ps(e.a,new Ae(L.e.a+L.f.a+r+o,L.e.b+L.f.b/2)),ps(e.a,new Ae(L.e.a+L.f.a,L.e.b+L.f.b/2))):t==so?(ps(e.a,new Ae(pe(ye(D(y,(Si(),Ia))))+r,y.e.b+y.f.b/2)),ps(e.a,new Ae(y.e.a+y.f.a+r,h)),ps(e.a,new Ae(L.e.a-r-o,h)),ps(e.a,new Ae(L.e.a-r-o,L.e.b+L.f.b/2)),ps(e.a,new Ae(L.e.a,L.e.b+L.f.b/2))):t==Cl?(ps(e.a,new Ae(h,pe(ye(D(y,(Si(),ef))))-r)),ps(e.a,new Ae(h,L.e.b+L.f.b+r+o)),ps(e.a,new Ae(L.e.a+L.f.a/2,L.e.b+L.f.b+r+o)),ps(e.a,new Ae(L.e.a+L.f.a/2,L.e.b+L.f.b+r))):(e.a.b==0||(c(fa(e.a),8).b=pe(ye(D(y,(Si(),Ia))))+r*c(a.b,17).a),ps(e.a,new Ae(h,pe(ye(D(y,(Si(),Ia))))+r*c(a.b,17).a)),ps(e.a,new Ae(h,L.e.b-r*c(a.a,17).a-o))),new xr(De(E),De(A))}function mnn(e){var t,n,i,r,o,a,h,p,b,v,y,E,A;if(a=!0,y=null,i=null,r=null,t=!1,A=cvt,b=null,o=null,h=0,p=pz(e,h,oxe,cxe),p=0&&wt(e.substr(h,2),"//")?(h+=2,p=pz(e,h,ZS,e9),i=(Ur(h,p,e.length),e.substr(h,p-h)),h=p):y!=null&&(h==e.length||(Bt(h,e.length),e.charCodeAt(h)!=47))&&(a=!1,p=fre(e,_c(35),h),p==-1&&(p=e.length),i=(Ur(h,p,e.length),e.substr(h,p-h)),h=p);if(!n&&h0&&rs(v,v.length-1)==58&&(r=v,h=p)),hlV(o))&&(y=o);for(!y&&(y=(St(0,H.c.length),c(H.c[0],185))),$=new q(t.b);$.a<$.c.c.length;)for(L=c(K($),30),he=new q(L.a);he.ay&&(Pt=0,nn+=v+He,v=0),Rit(Ee,a,Pt,nn),t=w.Math.max(t,Pt+Te.a),v=w.Math.max(v,Te.b),Pt+=Te.a+He;for(he=new hn,n=new hn,ut=new q(e);ut.a=-1900?1:0,n>=4?Hn(e,J(W(Ye,1),Oe,2,6,[aot,fot])[h]):Hn(e,J(W(Ye,1),Oe,2,6,["BC","AD"])[h]);break;case 121:$Bt(e,n,i);break;case 77:nYt(e,n,i);break;case 107:p=r.q.getHours(),p==0?Sh(e,24,n):Sh(e,p,n);break;case 83:wWt(e,n,r);break;case 69:v=i.q.getDay(),n==5?Hn(e,J(W(Ye,1),Oe,2,6,["S","M","T","W","T","F","S"])[v]):n==4?Hn(e,J(W(Ye,1),Oe,2,6,[hU,dU,pU,gU,wU,bU,mU])[v]):Hn(e,J(W(Ye,1),Oe,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[v]);break;case 97:r.q.getHours()>=12&&r.q.getHours()<24?Hn(e,J(W(Ye,1),Oe,2,6,["AM","PM"])[1]):Hn(e,J(W(Ye,1),Oe,2,6,["AM","PM"])[0]);break;case 104:y=r.q.getHours()%12,y==0?Sh(e,12,n):Sh(e,y,n);break;case 75:E=r.q.getHours()%12,Sh(e,E,n);break;case 72:A=r.q.getHours(),Sh(e,A,n);break;case 99:L=i.q.getDay(),n==5?Hn(e,J(W(Ye,1),Oe,2,6,["S","M","T","W","T","F","S"])[L]):n==4?Hn(e,J(W(Ye,1),Oe,2,6,[hU,dU,pU,gU,wU,bU,mU])[L]):n==3?Hn(e,J(W(Ye,1),Oe,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[L]):Sh(e,L,1);break;case 76:$=i.q.getMonth(),n==5?Hn(e,J(W(Ye,1),Oe,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[$]):n==4?Hn(e,J(W(Ye,1),Oe,2,6,[tU,nU,iU,rU,j3,sU,oU,cU,uU,lU,aU,fU])[$]):n==3?Hn(e,J(W(Ye,1),Oe,2,6,["Jan","Feb","Mar","Apr",j3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[$]):Sh(e,$+1,n);break;case 81:H=i.q.getMonth()/3|0,n<4?Hn(e,J(W(Ye,1),Oe,2,6,["Q1","Q2","Q3","Q4"])[H]):Hn(e,J(W(Ye,1),Oe,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[H]);break;case 100:X=i.q.getDate(),Sh(e,X,n);break;case 109:b=r.q.getMinutes(),Sh(e,b,n);break;case 115:a=r.q.getSeconds(),Sh(e,a,n);break;case 122:n<4?Hn(e,o.c[0]):Hn(e,o.c[1]);break;case 118:Hn(e,o.b);break;case 90:n<3?Hn(e,lUt(o)):n==3?Hn(e,pUt(o)):Hn(e,gUt(o.a));break;default:return!1}return!0}function The(e,t,n,i){var r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At,Pt,nn,si;if(Iit(t),p=c(le((!t.b&&(t.b=new It(cn,t,4,7)),t.b),0),84),v=c(le((!t.c&&(t.c=new It(cn,t,5,8)),t.c),0),84),h=io(p),b=io(v),a=(!t.a&&(t.a=new Ie(Pi,t,6,6)),t.a).i==0?null:c(le((!t.a&&(t.a=new Ie(Pi,t,6,6)),t.a),0),166),He=c(Yt(e.a,h),10),Pt=c(Yt(e.a,b),10),at=null,nn=null,ce(p,193)&&(Te=c(Yt(e.a,p),305),ce(Te,12)?at=c(Te,12):ce(Te,10)&&(He=c(Te,10),at=c(Je(He.j,0),12))),ce(v,193)&&(At=c(Yt(e.a,v),305),ce(At,12)?nn=c(At,12):ce(At,10)&&(Pt=c(At,10),nn=c(Je(Pt.j,0),12))),!He||!Pt)throw V(new Iy("The source or the target of edge "+t+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for($=new ew,no($,t),Ne($,(Pe(),gi),t),Ne($,(Ge(),Xs),null),A=c(D(i,cc),21),He==Pt&&A.Fc((Cs(),oS)),at||(Ee=(Ns(),gc),ut=null,a&&Sv(c(D(He,Ji),101))&&(ut=new Ae(a.j,a.k),pUe(ut,JE(t)),KUe(ut,n),zb(b,h)&&(Ee=au,li(ut,He.n))),at=Nrt(He,ut,Ee,i)),nn||(Ee=(Ns(),au),si=null,a&&Sv(c(D(Pt,Ji),101))&&(si=new Ae(a.b,a.c),pUe(si,JE(t)),KUe(si,n)),nn=Nrt(Pt,si,Ee,Yr(Pt))),ls($,at),Fr($,nn),(at.e.c.length>1||at.g.c.length>1||nn.e.c.length>1||nn.g.c.length>1)&&A.Fc((Cs(),sS)),E=new Jt((!t.n&&(t.n=new Ie($s,t,1,7)),t.n));E.e!=E.i.gc();)if(y=c(tn(E),135),!Xe(We(Me(y,Qp)))&&y.a)switch(H=Wq(y),$e($.b,H),c(D(H,lh),278).g){case 1:case 2:A.Fc((Cs(),r5));break;case 0:A.Fc((Cs(),i5)),Ne(H,lh,(pf(),k5))}if(o=c(D(i,hS),322),X=c(D(i,MD),323),r=o==(E8(),bN)||X==(V8(),_J),a&&(!a.a&&(a.a=new cr(il,a,5)),a.a).i!=0&&r){for(ie=Z7(a),L=new Hc,he=wn(ie,0);he.b!=he.d.c;)ue=c(dn(he),8),$n(L,new gs(ue));Ne($,Sbe,L)}return $}function knn(e,t,n,i){var r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At,Pt,nn,si,Bi;for(ut=0,At=0,He=new hn,Ee=c(Tu(_b(Zs(new gt(null,new yt(e.b,16)),new G7e),new tIe)),17).a+1,at=ke(kn,qn,28,Ee,15,1),H=ke(kn,qn,28,Ee,15,1),$=0;$1)for(h=nn+1;hb.b.e.b*(1-X)+b.c.e.b*X));L++);if(Te.gc()>0&&(si=b.a.b==0?Xr(b.b.e):c(fa(b.a),8),ue=li(Xr(c(Te.Xb(Te.gc()-1),40).e),c(Te.Xb(Te.gc()-1),40).f),E=li(Xr(c(Te.Xb(0),40).e),c(Te.Xb(0),40).f),L>=Te.gc()-1&&si.b>ue.b&&b.c.e.b>ue.b||L<=0&&si.bb.b.e.a*(1-X)+b.c.e.a*X));L++);if(Te.gc()>0&&(si=b.a.b==0?Xr(b.b.e):c(fa(b.a),8),ue=li(Xr(c(Te.Xb(Te.gc()-1),40).e),c(Te.Xb(Te.gc()-1),40).f),E=li(Xr(c(Te.Xb(0),40).e),c(Te.Xb(0),40).f),L>=Te.gc()-1&&si.a>ue.a&&b.c.e.a>ue.a||L<=0&&si.a=pe(ye(D(e,(Si(),Bve))))&&++At):(A.f&&A.d.e.a<=pe(ye(D(e,(Si(),YJ))))&&++ut,A.g&&A.c.e.a+A.c.f.a>=pe(ye(D(e,(Si(),Fve))))&&++At)}else he==0?Qae(b):he<0&&(++at[nn],++H[Bi],Pt=bnn(b,t,e,new xr(De(ut),De(At)),n,i,new xr(De(H[Bi]),De(at[nn]))),ut=c(Pt.a,17).a,At=c(Pt.b,17).a)}function jnn(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie;if(i=t,p=n,e.b&&i.j==(qe(),qt)&&p.j==(qe(),qt)&&(ie=i,i=p,p=ie),bc(e.a,i)){if(Ba(c(Yt(e.a,i),49),p))return 1}else Jn(e.a,i,new sr);if(bc(e.a,p)){if(Ba(c(Yt(e.a,p),49),i))return-1}else Jn(e.a,p,new sr);if(bc(e.d,i)){if(Ba(c(Yt(e.d,i),49),p))return-1}else Jn(e.d,i,new sr);if(bc(e.d,p)){if(Ba(c(Yt(e.a,p),49),i))return 1}else Jn(e.d,p,new sr);if(i.j!=p.j)return X=fEt(i.j,p.j),X==-1?kl(e,p,i):kl(e,i,p),X;if(i.e.c.length!=0&&p.e.c.length!=0){if(e.b&&(X=lYe(i,p),X!=0))return X==-1?kl(e,p,i):X==1&&kl(e,i,p),X;if(o=c(Je(i.e,0),18).c.i,v=c(Je(p.e,0),18).c.i,o==v)return r=c(D(c(Je(i.e,0),18),(Pe(),yi)),17).a,b=c(D(c(Je(p.e,0),18),yi),17).a,r>b?kl(e,i,p):kl(e,p,i),rb?1:0;for(L=e.c,$=0,H=L.length;$b?kl(e,i,p):kl(e,p,i),rb?1:0):e.b&&(X=lYe(i,p),X!=0)?(X==-1?kl(e,p,i):X==1&&kl(e,i,p),X):(a=0,y=0,Ni(c(Je(i.g,0),18),yi)&&(a=c(D(c(Je(i.g,0),18),yi),17).a),Ni(c(Je(p.g,0),18),yi)&&(y=c(D(c(Je(i.g,0),18),yi),17).a),h&&h==E?Xe(We(D(c(Je(i.g,0),18),Ef)))&&!Xe(We(D(c(Je(p.g,0),18),Ef)))?(kl(e,i,p),1):!Xe(We(D(c(Je(i.g,0),18),Ef)))&&Xe(We(D(c(Je(p.g,0),18),Ef)))?(kl(e,p,i),-1):(a>y?kl(e,i,p):kl(e,p,i),ay?1:0):(e.f&&(e.f._b(h)&&(a=c(e.f.xc(h),17).a),e.f._b(E)&&(y=c(e.f.xc(E),17).a)),a>y?kl(e,i,p):kl(e,p,i),ay?1:0))):i.e.c.length!=0&&p.g.c.length!=0?(kl(e,i,p),1):i.g.c.length!=0&&p.e.c.length!=0?(kl(e,p,i),-1):Ni(i,(Pe(),yi))&&Ni(p,yi)?(r=c(D(i,yi),17).a,b=c(D(p,yi),17).a,r>b?kl(e,i,p):kl(e,p,i),rb?1:0):(kl(e,p,i),-1)}function Snn(e){e.gb||(e.gb=!0,e.b=Eo(e,0),Gi(e.b,18),Mi(e.b,19),e.a=Eo(e,1),Gi(e.a,1),Mi(e.a,2),Mi(e.a,3),Mi(e.a,4),Mi(e.a,5),e.o=Eo(e,2),Gi(e.o,8),Gi(e.o,9),Mi(e.o,10),Mi(e.o,11),Mi(e.o,12),Mi(e.o,13),Mi(e.o,14),Mi(e.o,15),Mi(e.o,16),Mi(e.o,17),Mi(e.o,18),Mi(e.o,19),Mi(e.o,20),Mi(e.o,21),Mi(e.o,22),Mi(e.o,23),Us(e.o),Us(e.o),Us(e.o),Us(e.o),Us(e.o),Us(e.o),Us(e.o),Us(e.o),Us(e.o),Us(e.o),e.p=Eo(e,3),Gi(e.p,2),Gi(e.p,3),Gi(e.p,4),Gi(e.p,5),Mi(e.p,6),Mi(e.p,7),Us(e.p),Us(e.p),e.q=Eo(e,4),Gi(e.q,8),e.v=Eo(e,5),Mi(e.v,9),Us(e.v),Us(e.v),Us(e.v),e.w=Eo(e,6),Gi(e.w,2),Gi(e.w,3),Gi(e.w,4),Mi(e.w,5),e.B=Eo(e,7),Mi(e.B,1),Us(e.B),Us(e.B),Us(e.B),e.Q=Eo(e,8),Mi(e.Q,0),Us(e.Q),e.R=Eo(e,9),Gi(e.R,1),e.S=Eo(e,10),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),Us(e.S),e.T=Eo(e,11),Mi(e.T,10),Mi(e.T,11),Mi(e.T,12),Mi(e.T,13),Mi(e.T,14),Us(e.T),Us(e.T),e.U=Eo(e,12),Gi(e.U,2),Gi(e.U,3),Mi(e.U,4),Mi(e.U,5),Mi(e.U,6),Mi(e.U,7),Us(e.U),e.V=Eo(e,13),Mi(e.V,10),e.W=Eo(e,14),Gi(e.W,18),Gi(e.W,19),Gi(e.W,20),Mi(e.W,21),Mi(e.W,22),Mi(e.W,23),e.bb=Eo(e,15),Gi(e.bb,10),Gi(e.bb,11),Gi(e.bb,12),Gi(e.bb,13),Gi(e.bb,14),Gi(e.bb,15),Gi(e.bb,16),Mi(e.bb,17),Us(e.bb),Us(e.bb),e.eb=Eo(e,16),Gi(e.eb,2),Gi(e.eb,3),Gi(e.eb,4),Gi(e.eb,5),Gi(e.eb,6),Gi(e.eb,7),Mi(e.eb,8),Mi(e.eb,9),e.ab=Eo(e,17),Gi(e.ab,0),Gi(e.ab,1),e.H=Eo(e,18),Mi(e.H,0),Mi(e.H,1),Mi(e.H,2),Mi(e.H,3),Mi(e.H,4),Mi(e.H,5),Us(e.H),e.db=Eo(e,19),Mi(e.db,2),e.c=Qn(e,20),e.d=Qn(e,21),e.e=Qn(e,22),e.f=Qn(e,23),e.i=Qn(e,24),e.g=Qn(e,25),e.j=Qn(e,26),e.k=Qn(e,27),e.n=Qn(e,28),e.r=Qn(e,29),e.s=Qn(e,30),e.t=Qn(e,31),e.u=Qn(e,32),e.fb=Qn(e,33),e.A=Qn(e,34),e.C=Qn(e,35),e.D=Qn(e,36),e.F=Qn(e,37),e.G=Qn(e,38),e.I=Qn(e,39),e.J=Qn(e,40),e.L=Qn(e,41),e.M=Qn(e,42),e.N=Qn(e,43),e.O=Qn(e,44),e.P=Qn(e,45),e.X=Qn(e,46),e.Y=Qn(e,47),e.Z=Qn(e,48),e.$=Qn(e,49),e._=Qn(e,50),e.cb=Qn(e,51),e.K=Qn(e,52))}function Enn(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At,Pt,nn;for(a=new Ai,Te=c(D(n,(Ge(),Zu)),88),$=0,Gr(a,(!t.a&&(t.a=new Ie(ti,t,10,11)),t.a));a.b!=0;)v=c(a.b==0?null:(rn(a.b!=0),gl(a,a.a.a)),27),b=Oi(v),(be(Me(b,$h))!==be((Gf(),y1))||be(Me(b,Wp))===be((c1(),t5))||be(Me(b,Wp))===be((c1(),e5))||Xe(We(Me(b,Kw)))||be(Me(b,Mm))!==be((Cp(),jm))||be(Me(b,E0))===be((ql(),Ww))||be(Me(b,E0))===be((ql(),Dm))||be(Me(b,Jp))===be((h1(),d5))||be(Me(b,Jp))===be((h1(),p5)))&&!Xe(We(Me(v,xD)))&&bi(v,(Pe(),yi),De($++)),X=!Xe(We(Me(v,Qp))),X&&(E=(!v.a&&(v.a=new Ie(ti,v,10,11)),v.a).i!=0,L=ezt(v),A=be(Me(v,Tm))===be((wd(),E1)),nn=!hf(v,(Un(),v5))||JUe(_n(Me(v,v5))),he=null,nn&&A&&(E||L)&&(he=crt(v),Ne(he,Zu,Te),Ni(he,EN)&&oDe(new dle(pe(ye(D(he,EN)))),he),c(Me(v,Yp),181).gc()!=0&&(y=he,Yi(new gt(null,(!v.c&&(v.c=new Ie(du,v,9,9)),new yt(v.c,16))),new dPe(y)),Znt(v,he))),He=n,at=c(Yt(e.a,Oi(v)),10),at&&(He=at.e),ue=Ost(e,v,He),he&&(ue.e=he,he.e=ue,Gr(a,(!v.a&&(v.a=new Ie(ti,v,10,11)),v.a))));for($=0,Ui(a,t,a.c.b,a.c);a.b!=0;){for(o=c(a.b==0?null:(rn(a.b!=0),gl(a,a.a.a)),27),p=new Jt((!o.b&&(o.b=new Ie(tr,o,12,3)),o.b));p.e!=p.i.gc();)h=c(tn(p),74),Iit(h),(be(Me(t,$h))!==be((Gf(),y1))||be(Me(t,Wp))===be((c1(),t5))||be(Me(t,Wp))===be((c1(),e5))||Xe(We(Me(t,Kw)))||be(Me(t,Mm))!==be((Cp(),jm))||be(Me(t,E0))===be((ql(),Ww))||be(Me(t,E0))===be((ql(),Dm))||be(Me(t,Jp))===be((h1(),d5))||be(Me(t,Jp))===be((h1(),p5)))&&bi(h,(Pe(),yi),De($++)),At=io(c(le((!h.b&&(h.b=new It(cn,h,4,7)),h.b),0),84)),Pt=io(c(le((!h.c&&(h.c=new It(cn,h,5,8)),h.c),0),84)),!(Xe(We(Me(h,Qp)))||Xe(We(Me(At,Qp)))||Xe(We(Me(Pt,Qp))))&&(H=mw(h)&&Xe(We(Me(At,Am)))&&Xe(We(Me(h,Xp))),Ee=o,H||zb(Pt,At)?Ee=At:zb(At,Pt)&&(Ee=Pt),He=n,at=c(Yt(e.a,Ee),10),at&&(He=at.e),ie=The(e,h,Ee,He),Ne(ie,(Pe(),ybe),EXt(e,h,t,n)));if(A=be(Me(o,Tm))===be((wd(),E1)),A)for(r=new Jt((!o.a&&(o.a=new Ie(ti,o,10,11)),o.a));r.e!=r.i.gc();)i=c(tn(r),27),nn=!hf(i,(Un(),v5))||JUe(_n(Me(i,v5))),ut=be(Me(i,Tm))===be(E1),nn&&ut&&Ui(a,i,a.c.b,a.c)}}function Pe(){Pe=U;var e,t;gi=new mi(wde),ybe=new mi("coordinateOrigin"),uJ=new mi("processors"),vbe=new Fi("compoundNode",(_t(),!1)),xN=new Fi("insideConnections",!1),Sbe=new mi("originalBendpoints"),Ebe=new mi("originalDummyNodePosition"),Ibe=new mi("originalLabelEdge"),uS=new mi("representedLabels"),cS=new mi("endLabels"),q3=new mi("endLabel.origin"),V3=new Fi("labelSide",(Gu(),eC)),N2=new Fi("maxEdgeThickness",0),Ef=new Fi("reversed",!1),U3=new mi(Yot),Za=new Fi("longEdgeSource",null),Xl=new Fi("longEdgeTarget",null),Nm=new Fi("longEdgeHasLabelDummies",!1),kN=new Fi("longEdgeBeforeLabelDummy",!1),pD=new Fi("edgeConstraint",(Ep(),VX)),Fw=new mi("inLayerLayoutUnit"),Up=new Fi("inLayerConstraint",(dd(),vN)),z3=new Fi("inLayerSuccessorConstraint",new Re),jbe=new Fi("inLayerSuccessorConstraintBetweenNonDummies",!1),lu=new mi("portDummy"),dD=new Fi("crossingHint",De(0)),cc=new Fi("graphProperties",(t=c(Fa(QX),9),new ll(t,c(ha(t,t.length),9),0))),Ao=new Fi("externalPortSide",(qe(),ko)),kbe=new Fi("externalPortSize",new Kr),iJ=new mi("externalPortReplacedDummies"),gD=new mi("externalPortReplacedDummy"),Cd=new Fi("externalPortConnections",(e=c(Fa(ks),9),new ll(e,c(ha(e,e.length),9),0))),Bw=new Fi(Kot,0),mbe=new mi("barycenterAssociates"),G3=new mi("TopSideComments"),K3=new mi("BottomSideComments"),hD=new mi("CommentConnectionPort"),sJ=new Fi("inputCollect",!1),cJ=new Fi("outputCollect",!1),yN=new Fi("cyclic",!1),xbe=new mi("crossHierarchyMap"),aJ=new mi("targetOffset"),new Fi("splineLabelSize",new Kr),M2=new mi("spacings"),wD=new Fi("partitionConstraint",!1),$w=new mi("breakingPoint.info"),Mbe=new mi("splines.survivingEdge"),Gp=new mi("splines.route.start"),T2=new mi("splines.edgeChain"),Cbe=new mi("originalPortConstraints"),Hw=new mi("selfLoopHolder"),o5=new mi("splines.nsPortY"),yi=new mi("modelOrder"),oJ=new mi("longEdgeTargetNode"),j0=new Fi(jct,!1),C2=new Fi(jct,!1),rJ=new mi("layerConstraints.hiddenNodes"),Nbe=new mi("layerConstraints.opposidePort"),lJ=new mi("targetNode.modelOrder")}function Inn(e,t,n,i){var r,o,a,h,p,b,v,y,E,A,L;for(y=wn(e.b,0);y.b!=y.d.c;)if(v=c(dn(y),40),!wt(v.c,BO))for(o=c(co(new gt(null,new yt(LUt(v,e),16)),su(new pn,new vt,new oi,J(W(Ws,1),Ce,108,0,[(cu(),ao)]))),15),t==(ar(),Js)||t==so?o.jd(new Y7e):o.jd(new Q7e),L=o.gc(),r=0;r0&&(h=c(fa(c(o.Xb(r),65).a),8).a,E=v.e.a+v.f.a/2,p=c(fa(c(o.Xb(r),65).a),8).b,A=v.e.b+v.f.b/2,i>0&&w.Math.abs(p-A)/(w.Math.abs(h-E)/40)>50&&(A>p?ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a+i/5.3,v.e.b+v.f.b*a-i/2)):ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a+i/5.3,v.e.b+v.f.b*a+i/2)))),ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a,v.e.b+v.f.b*a))):t==so?(b=pe(ye(D(v,(Si(),ef)))),v.e.a-i>b?ps(c(o.Xb(r),65).a,new Ae(b-n,v.e.b+v.f.b*a)):c(o.Xb(r),65).a.b>0&&(h=c(fa(c(o.Xb(r),65).a),8).a,E=v.e.a+v.f.a/2,p=c(fa(c(o.Xb(r),65).a),8).b,A=v.e.b+v.f.b/2,i>0&&w.Math.abs(p-A)/(w.Math.abs(h-E)/40)>50&&(A>p?ps(c(o.Xb(r),65).a,new Ae(v.e.a-i/5.3,v.e.b+v.f.b*a-i/2)):ps(c(o.Xb(r),65).a,new Ae(v.e.a-i/5.3,v.e.b+v.f.b*a+i/2)))),ps(c(o.Xb(r),65).a,new Ae(v.e.a,v.e.b+v.f.b*a))):t==Cl?(b=pe(ye(D(v,(Si(),Ia)))),v.e.b+v.f.b+i0&&(h=c(fa(c(o.Xb(r),65).a),8).a,E=v.e.a+v.f.a/2,p=c(fa(c(o.Xb(r),65).a),8).b,A=v.e.b+v.f.b/2,i>0&&w.Math.abs(h-E)/(w.Math.abs(p-A)/40)>50&&(E>h?ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a*a-i/2,v.e.b+i/5.3+v.f.b)):ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a*a+i/2,v.e.b+i/5.3+v.f.b)))),ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a*a,v.e.b+v.f.b))):(b=pe(ye(D(v,(Si(),ef)))),XJe(c(o.Xb(r),65),e)?ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a*a,c(fa(c(o.Xb(r),65).a),8).b)):v.e.b-i>b?ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a*a,b-n)):c(o.Xb(r),65).a.b>0&&(h=c(fa(c(o.Xb(r),65).a),8).a,E=v.e.a+v.f.a/2,p=c(fa(c(o.Xb(r),65).a),8).b,A=v.e.b+v.f.b/2,i>0&&w.Math.abs(h-E)/(w.Math.abs(p-A)/40)>50&&(E>h?ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a*a-i/2,v.e.b-i/5.3)):ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a*a+i/2,v.e.b-i/5.3)))),ps(c(o.Xb(r),65).a,new Ae(v.e.a+v.f.a*a,v.e.b)))}function Un(){Un=U;var e,t;v5=new mi(uut),X2=new mi(lut),Dye=(Eh(),HY),emt=new pt(S1e,Dye),K2=new pt(M3,null),tmt=new mi(R0e),$ye=(Tp(),Ci(zY,J(W(VY,1),Ce,298,0,[qY]))),VN=new pt(LO,$ye),UN=new pt(zI,(_t(),!1)),Fye=(ar(),Mf),ng=new pt(MG,Fye),Kye=(bd(),rQ),Hye=new pt(qI,Kye),rmt=new pt(L0e,!1),Vye=(wd(),wR),V2=new pt(OO,Vye),e3e=new Bg(12),S1=new pt(Iw,e3e),WN=new pt(Ej,!1),XY=new pt(RO,!1),XN=new pt(Ij,!1),s3e=(Br(),P0),HS=new pt(XU,s3e),Q3=new mi(DO),JN=new mi(OI),nQ=new mi(wO),iQ=new mi(Sj),Uye=new Hc,Yw=new pt(L1e,Uye),imt=new pt($1e,!1),smt=new pt(F1e,!1),Gye=new b6,y5=new pt(H1e,Gye),hR=new pt(k1e,!1),lmt=new pt(aut,1),z2=new mi(fut),q2=new mi(hut),x5=new pt(LI,!1),new pt(dut,!0),De(0),new pt(put,De(100)),new pt(gut,!1),De(0),new pt(wut,De(4e3)),De(0),new pt(but,De(400)),new pt(mut,!1),new pt(vut,!1),new pt(yut,!0),new pt(xut,!1),Rye=(ZP(),uQ),nmt=new pt(D0e,Rye),amt=new pt(f1e,10),fmt=new pt(h1e,10),l3e=new pt(KU,20),hmt=new pt(d1e,10),a3e=new pt(WU,2),f3e=new pt(CG,10),h3e=new pt(p1e,0),dR=new pt(b1e,5),d3e=new pt(g1e,1),p3e=new pt(w1e,1),rg=new pt(dm,20),dmt=new pt(m1e,10),b3e=new pt(v1e,10),Z3=new mi(y1e),w3e=new IFe,g3e=new pt(K1e,w3e),cmt=new mi(AG),t3e=!1,omt=new pt(TG,t3e),Xye=new Bg(5),Wye=new pt(N1e,Xye),Jye=(im(),t=c(Fa(Ps),9),new ll(t,c(ha(t,t.length),9),0)),U2=new pt(Ak,Jye),i3e=(zv(),A0),n3e=new pt(T1e,i3e),YY=new mi(A1e),QY=new mi(P1e),ZY=new mi(_1e),JY=new mi(O1e),Yye=(e=c(Fa(XS),9),new ll(e,c(ha(e,e.length),9),0)),ig=new pt(a2,Yye),Zye=lt((vu(),I5)),M0=new pt(T3,Zye),Qye=new Ae(0,0),G2=new pt(A3,Qye),Bm=new pt(Tk,!1),Bye=(pf(),k5),GY=new pt(D1e,Bye),UY=new pt(bO,!1),De(1),new pt(kut,null),r3e=new mi(B1e),eQ=new mi(R1e),u3e=(qe(),ko),W2=new pt(j1e,u3e),ju=new mi(x1e),o3e=(uu(),lt(_0)),Hm=new pt(Pk,o3e),tQ=new pt(C1e,!1),c3e=new pt(M1e,!0),gR=new pt(DI,1),m3e=new pt($0e,null),YN=new pt(RI,150),pR=new pt($I,1.414),ex=new pt(Nw,null),pmt=new pt(F0e,1),GN=new pt(E1e,!1),WY=new pt(I1e,!1),qye=new pt(qU,1),zye=(N_(),oQ),new pt(jut,zye),umt=!0,wmt=(u3(),zm),bmt=zm,gmt=zm}function hs(){hs=U,bwe=new or("DIRECTION_PREPROCESSOR",0),pwe=new or("COMMENT_PREPROCESSOR",1),y2=new or("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),NX=new or("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),Dwe=new or("PARTITION_PREPROCESSOR",4),BL=new or("LABEL_DUMMY_INSERTER",5),JL=new or("SELF_LOOP_PREPROCESSOR",6),Em=new or("LAYER_CONSTRAINT_PREPROCESSOR",7),Owe=new or("PARTITION_MIDPROCESSOR",8),Ewe=new or("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),Pwe=new or("NODE_PROMOTION",10),Sm=new or("LAYER_CONSTRAINT_POSTPROCESSOR",11),Lwe=new or("PARTITION_POSTPROCESSOR",12),kwe=new or("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),Rwe=new or("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),uwe=new or("BREAKING_POINT_INSERTER",15),zL=new or("LONG_EDGE_SPLITTER",16),CX=new or("PORT_SIDE_PROCESSOR",17),$L=new or("INVERTED_PORT_PROCESSOR",18),GL=new or("PORT_LIST_SORTER",19),Fwe=new or("SORT_BY_INPUT_ORDER_OF_MODEL",20),UL=new or("NORTH_SOUTH_PORT_PREPROCESSOR",21),lwe=new or("BREAKING_POINT_PROCESSOR",22),_we=new or(gct,23),Bwe=new or(wct,24),WL=new or("SELF_LOOP_PORT_RESTORER",25),$we=new or("SINGLE_EDGE_GRAPH_WRAPPER",26),FL=new or("IN_LAYER_CONSTRAINT_PROCESSOR",27),vwe=new or("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),Twe=new or("LABEL_AND_NODE_SIZE_PROCESSOR",29),Mwe=new or("INNERMOST_NODE_MARGIN_CALCULATOR",30),YL=new or("SELF_LOOP_ROUTER",31),hwe=new or("COMMENT_NODE_MARGIN_CALCULATOR",32),RL=new or("END_LABEL_PREPROCESSOR",33),KL=new or("LABEL_DUMMY_SWITCHER",34),fwe=new or("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),Wk=new or("LABEL_SIDE_SELECTOR",36),Nwe=new or("HYPEREDGE_DUMMY_MERGER",37),jwe=new or("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),Awe=new or("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),tS=new or("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),gwe=new or("CONSTRAINTS_POSTPROCESSOR",41),dwe=new or("COMMENT_POSTPROCESSOR",42),Cwe=new or("HYPERNODE_PROCESSOR",43),Swe=new or("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),qL=new or("LONG_EDGE_JOINER",45),XL=new or("SELF_LOOP_POSTPROCESSOR",46),awe=new or("BREAKING_POINT_REMOVER",47),VL=new or("NORTH_SOUTH_PORT_POSTPROCESSOR",48),Iwe=new or("HORIZONTAL_COMPACTOR",49),HL=new or("LABEL_DUMMY_REMOVER",50),ywe=new or("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),mwe=new or("END_LABEL_SORTER",52),pN=new or("REVERSED_EDGE_RESTORER",53),DL=new or("END_LABEL_POSTPROCESSOR",54),xwe=new or("HIERARCHICAL_NODE_RESIZER",55),wwe=new or("DIRECTION_POSTPROCESSOR",56)}function Ahe(){Ahe=U,Bbe=(b7(),sD),M1t=new pt(Ide,Bbe),H1t=new pt(Nde,(_t(),!1)),Ube=(JA(),nJ),U1t=new pt(xO,Ube),c0t=new pt(Cde,!1),u0t=new pt(Mde,!0),t1t=new pt(Tde,!1),eme=(g7(),RJ),j0t=new pt(Ade,eme),De(1),A0t=new pt(Pde,De(7)),P0t=new pt(_de,!1),K1t=new pt(Ode,!1),Fbe=(c1(),qX),C1t=new pt(nG,Fbe),Xbe=(h1(),MJ),o0t=new pt(KI,Xbe),Gbe=(yl(),jN),Q1t=new pt(Lde,Gbe),De(-1),Y1t=new pt(Dde,null),De(-1),Z1t=new pt(Rde,De(-1)),De(-1),e0t=new pt(iG,De(4)),De(-1),n0t=new pt(rG,De(2)),Wbe=(ql(),RD),s0t=new pt(sG,Wbe),De(0),r0t=new pt(oG,De(0)),X1t=new pt(cG,De(ui)),$be=(E8(),iS),N1t=new pt(Mj,$be),h1t=new pt($de,!1),v1t=new pt(uG,.1),E1t=new pt(lG,!1),x1t=new pt(Fde,null),k1t=new pt(Bde,null),De(-1),j1t=new pt(Hde,null),De(-1),S1t=new pt(Kde,De(-1)),De(0),d1t=new pt(qde,De(40)),Rbe=(R4(),eJ),b1t=new pt(aG,Rbe),Dbe=mN,p1t=new pt(kO,Dbe),Zbe=(V8(),bS),k0t=new pt(f2,Zbe),d0t=new mi(jO),Jbe=(a7(),cD),l0t=new pt(fG,Jbe),Ybe=(J7(),uD),f0t=new pt(hG,Ybe),w0t=new pt(dG,.3),m0t=new mi(pG),Qbe=(Yb(),DD),v0t=new pt(gG,Qbe),qbe=($P(),FJ),O1t=new pt(zde,qbe),zbe=(P8(),HJ),L1t=new pt(Vde,zbe),Vbe=(V4(),yS),D1t=new pt(SO,Vbe),$1t=new pt(EO,.2),P1t=new pt(wG,2),N0t=new pt(Ude,null),M0t=new pt(Gde,10),C0t=new pt(Wde,10),T0t=new pt(Xde,20),De(0),S0t=new pt(Jde,De(0)),De(0),E0t=new pt(Yde,De(0)),De(0),I0t=new pt(Qde,De(0)),n1t=new pt(bG,!1),Pbe=(ok(),rS),r1t=new pt(Zde,Pbe),Abe=(cP(),HX),i1t=new pt(e1e,Abe),z1t=new pt(IO,!1),De(0),q1t=new pt(mG,De(16)),De(0),V1t=new pt(vG,De(5)),ime=(KP(),zJ),Q0t=new pt(Ed,ime),_0t=new pt(NO,10),D0t=new pt(CO,1),nme=(SP(),rD),q0t=new pt(Tj,nme),F0t=new mi(yG),tme=De(1),De(0),H0t=new pt(xG,tme),rme=(jP(),qJ),npt=new pt(MO,rme),Z0t=new mi(TO),W0t=new pt(AO,!0),U0t=new pt(PO,2),J0t=new pt(kG,!0),Kbe=(M_(),oD),A1t=new pt(t1e,Kbe),Hbe=(w3(),Qk),T1t=new pt(n1e,Hbe),Lbe=(Gf(),y1),f1t=new pt(_O,Lbe),a1t=new pt(i1e,!1),l1t=new pt(r1e,!1),_be=(Cp(),jm),s1t=new pt(jG,_be),Obe=(L8(),TJ),u1t=new pt(s1e,Obe),o1t=new pt(SG,0),c1t=new pt(EG,0),W1t=zX,G1t=bN,t0t=OD,i0t=OD,J1t=CJ,y1t=(wd(),E1),I1t=iS,m1t=iS,g1t=iS,w1t=E1,p0t=mS,g0t=bS,a0t=bS,h0t=bS,b0t=OJ,x0t=mS,y0t=mS,R1t=(bd(),tx),F1t=tx,B1t=yS,_1t=QN,O0t=g5,L0t=Rm,R0t=g5,$0t=Rm,z0t=g5,V0t=Rm,B0t=KX,K0t=rD,ipt=g5,rpt=Rm,ept=g5,tpt=Rm,X0t=Rm,G0t=Rm,Y0t=Rm}function Nnn(e,t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At,Pt,nn,si,Bi,pu,Ys,rl,ty,P1,_a,Oa,ug,cx,H0,ux,hh,Vh,nb,lx,ny,dh,lg,_d,r2t,Hxe,ib,u9,EQ,ax,l9,Qm,a9,IQ,s2t;for(Hxe=0,si=t,Ys=0,P1=si.length;Ys0&&(e.a[hh.p]=Hxe++)}for(l9=0,Bi=n,rl=0,_a=Bi.length;rl<_a;++rl){for(Pt=Bi[rl],Oa=0,Vh=new q(Pt.j);Vh.a0;){for(hh=(rn(ny.b>0),c(ny.a.Xb(ny.c=--ny.b),12)),lx=0,h=new q(hh.e);h.a0&&(hh.j==(qe(),Ht)?(e.a[hh.p]=l9,++l9):(e.a[hh.p]=l9+Oa+cx,++cx))}l9+=cx}for(nb=new hn,L=new Ff,nn=t,pu=0,ty=nn.length;pub.b&&(b.b=dh)):hh.i.c==r2t&&(dhb.c&&(b.c=dh));for(x4($,0,$.length,null),ax=ke(kn,qn,28,$.length,15,1),i=ke(kn,qn,28,l9+1,15,1),X=0;X<$.length;X++)ax[X]=$[X].f,i[ax[X]]=1;for(o=0,ie=0;ie0;)He%2>0&&(r+=IQ[He+1]),He=(He-1)/2|0,++IQ[He];for(ut=ke(ngt,Mt,374,$.length*2,0,1),he=0;he<$.length;he++)ut[2*he]=new OA($[he],$[he].e,$[he].b,(v8(),jS)),ut[2*he+1]=new OA($[he],$[he].b,$[he].e,kS);for(x4(ut,0,ut.length,null),ug=0,Ee=0;Ee0&&WE(pu.f),Me(X,m3e)!=null&&(h=c(Me(X,m3e),347),nb=h.Tg(X),Iv(X,w.Math.max(X.g,nb.a),w.Math.max(X.f,nb.b)));if(_a=c(Me(t,S1),107),A=t.g-(_a.b+_a.c),E=t.f-(_a.d+_a.a),dh.bh("Available Child Area: ("+A+"|"+E+")"),bi(t,K2,A/E),MQe(t,r,i.eh(ty)),c(Me(t,ex),280)==kR&&(Nhe(t),Iv(t,_a.b+pe(ye(Me(t,z2)))+_a.c,_a.d+pe(ye(Me(t,q2)))+_a.a)),dh.bh("Executed layout algorithm: "+_n(Me(t,v5))+" on node "+t.k),c(Me(t,ex),280)==zm){if(A<0||E<0)throw V(new Hd("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+t.k));for(hf(t,z2)||hf(t,q2)||Nhe(t),$=pe(ye(Me(t,z2))),L=pe(ye(Me(t,q2))),dh.bh("Desired Child Area: ("+$+"|"+L+")"),ug=A/$,cx=E/L,Oa=w.Math.min(ug,w.Math.min(cx,pe(ye(Me(t,pmt))))),bi(t,gR,Oa),dh.bh(t.k+" -- Local Scale Factor (X|Y): ("+ug+"|"+cx+")"),he=c(Me(t,VN),21),o=0,a=0,Oa'?":wt(tlt,e)?"'(?<' or '(? toIndex: ",Whe=", toIndex: ",Xhe="Index: ",Jhe=", Size: ",Ik="org.eclipse.elk.alg.common",Dn={50:1},Sot="org.eclipse.elk.alg.common.compaction",Eot="Scanline/EventHandler",Ph="org.eclipse.elk.alg.common.compaction.oned",Iot="CNode belongs to another CGroup.",Not="ISpacingsHandler/1",TU="The ",AU=" instance has been finished already.",Cot="The direction ",Mot=" is not supported by the CGraph instance.",Tot="OneDimensionalCompactor",Aot="OneDimensionalCompactor/lambda$0$Type",Pot="Quadruplet",_ot="ScanlineConstraintCalculator",Oot="ScanlineConstraintCalculator/ConstraintsScanlineHandler",Lot="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",Dot="ScanlineConstraintCalculator/Timestamp",Rot="ScanlineConstraintCalculator/lambda$0$Type",Zf={178:1,46:1},PU="org.eclipse.elk.alg.common.compaction.options",xo="org.eclipse.elk.core.data",Yhe="org.eclipse.elk.polyomino.traversalStrategy",Qhe="org.eclipse.elk.polyomino.lowLevelSort",Zhe="org.eclipse.elk.polyomino.highLevelSort",ede="org.eclipse.elk.polyomino.fill",zl={134:1},_U="polyomino",xj="org.eclipse.elk.alg.common.networksimplex",_h={183:1,3:1,4:1},$ot="org.eclipse.elk.alg.common.nodespacing",Lp="org.eclipse.elk.alg.common.nodespacing.cellsystem",Nk="CENTER",Fot={217:1,336:1},tde={3:1,4:1,5:1,603:1},I3="LEFT",N3="RIGHT",nde="Vertical alignment cannot be null",ide="BOTTOM",aO="org.eclipse.elk.alg.common.nodespacing.internal",kj="UNDEFINED",yf=.01,AI="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",Bot="LabelPlacer/lambda$0$Type",Hot="LabelPlacer/lambda$1$Type",Kot="portRatioOrPosition",Ck="org.eclipse.elk.alg.common.overlaps",OU="DOWN",eh="org.eclipse.elk.alg.common.polyomino",fO="NORTH",LU="EAST",DU="SOUTH",RU="WEST",hO="org.eclipse.elk.alg.common.polyomino.structures",rde="Direction",$U="Grid is only of size ",FU=". Requested point (",BU=") is out of bounds.",dO=" Given center based coordinates were (",PI="org.eclipse.elk.graph.properties",qot="IPropertyHolder",sde={3:1,96:1,137:1},C3="org.eclipse.elk.alg.common.spore",zot="org.eclipse.elk.alg.common.utils",Dp={205:1},c2="org.eclipse.elk.core",Vot="Connected Components Compaction",Uot="org.eclipse.elk.alg.disco",pO="org.eclipse.elk.alg.disco.graph",HU="org.eclipse.elk.alg.disco.options",ode="CompactionStrategy",cde="org.eclipse.elk.disco.componentCompaction.strategy",ude="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",lde="org.eclipse.elk.disco.debug.discoGraph",ade="org.eclipse.elk.disco.debug.discoPolys",Got="componentCompaction",Rp="org.eclipse.elk.disco",KU="org.eclipse.elk.spacing.componentComponent",qU="org.eclipse.elk.edge.thickness",M3="org.eclipse.elk.aspectRatio",Iw="org.eclipse.elk.padding",u2="org.eclipse.elk.alg.disco.transform",zU=1.5707963267948966,l2=17976931348623157e292,hm={3:1,4:1,5:1,198:1},Wot={3:1,6:1,4:1,5:1,100:1,115:1},VU="org.eclipse.elk.alg.force",fde="ComponentsProcessor",Xot="ComponentsProcessor/1",hde="ElkGraphImporter/lambda$0$Type",_I="org.eclipse.elk.alg.force.graph",Jot="Component Layout",dde="org.eclipse.elk.alg.force.model",gO="org.eclipse.elk.force.model",pde="org.eclipse.elk.force.iterations",gde="org.eclipse.elk.force.repulsivePower",UU="org.eclipse.elk.force.temperature",th=.001,GU="org.eclipse.elk.force.repulsion",jj="org.eclipse.elk.alg.force.options",Mk=1.600000023841858,jc="org.eclipse.elk.force",OI="org.eclipse.elk.priority",dm="org.eclipse.elk.spacing.nodeNode",WU="org.eclipse.elk.spacing.edgeLabel",wO="org.eclipse.elk.randomSeed",Sj="org.eclipse.elk.separateConnectedComponents",Ej="org.eclipse.elk.interactive",XU="org.eclipse.elk.portConstraints",bO="org.eclipse.elk.edgeLabels.inline",Ij="org.eclipse.elk.omitNodeMicroLayout",Tk="org.eclipse.elk.nodeSize.fixedGraphSize",T3="org.eclipse.elk.nodeSize.options",a2="org.eclipse.elk.nodeSize.constraints",Ak="org.eclipse.elk.nodeLabels.placement",Pk="org.eclipse.elk.portLabels.placement",LI="org.eclipse.elk.topdownLayout",DI="org.eclipse.elk.topdown.scaleFactor",RI="org.eclipse.elk.topdown.hierarchicalNodeWidth",$I="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",Nw="org.eclipse.elk.topdown.nodeType",wde="origin",Yot="random",Qot="boundingBox.upLeft",Zot="boundingBox.lowRight",bde="org.eclipse.elk.stress.fixed",mde="org.eclipse.elk.stress.desiredEdgeLength",vde="org.eclipse.elk.stress.dimension",yde="org.eclipse.elk.stress.epsilon",xde="org.eclipse.elk.stress.iterationLimit",p0="org.eclipse.elk.stress",ect="ELK Stress",A3="org.eclipse.elk.nodeSize.minimum",mO="org.eclipse.elk.alg.force.stress",tct="Layered layout",P3="org.eclipse.elk.alg.layered",FI="org.eclipse.elk.alg.layered.compaction.components",Nj="org.eclipse.elk.alg.layered.compaction.oned",vO="org.eclipse.elk.alg.layered.compaction.oned.algs",$p="org.eclipse.elk.alg.layered.compaction.recthull",xf="org.eclipse.elk.alg.layered.components",nh="NONE",kde="MODEL_ORDER",Ho={3:1,6:1,4:1,9:1,5:1,126:1},nct={3:1,6:1,4:1,5:1,150:1,100:1,115:1},yO="org.eclipse.elk.alg.layered.compound",Ii={47:1},ic="org.eclipse.elk.alg.layered.graph",JU=" -> ",ict="Not supported by LGraph",jde="Port side is undefined",YU={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},p1={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},rct={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},sct=`([{"' \r -`,oct=`)]}"' \r -`,cct="The given string contains parts that cannot be parsed as numbers.",BI="org.eclipse.elk.core.math",uct={3:1,4:1,140:1,214:1,423:1},lct={3:1,4:1,107:1,214:1,423:1},g1="org.eclipse.elk.alg.layered.graph.transform",act="ElkGraphImporter",fct="ElkGraphImporter/lambda$1$Type",hct="ElkGraphImporter/lambda$2$Type",dct="ElkGraphImporter/lambda$4$Type",Gt="org.eclipse.elk.alg.layered.intermediate",pct="Node margin calculation",gct="ONE_SIDED_GREEDY_SWITCH",wct="TWO_SIDED_GREEDY_SWITCH",QU="No implementation is available for the layout processor ",ZU="IntermediateProcessorStrategy",eG="Node '",bct="FIRST_SEPARATE",mct="LAST_SEPARATE",vct="Odd port side processing",vr="org.eclipse.elk.alg.layered.intermediate.compaction",Cj="org.eclipse.elk.alg.layered.intermediate.greedyswitch",Oh="org.eclipse.elk.alg.layered.p3order.counting",HI={230:1},_3="org.eclipse.elk.alg.layered.intermediate.loops",Yu="org.eclipse.elk.alg.layered.intermediate.loops.ordering",g0="org.eclipse.elk.alg.layered.intermediate.loops.routing",Sde="org.eclipse.elk.alg.layered.intermediate.preserveorder",ih="org.eclipse.elk.alg.layered.intermediate.wrapping",Ko="org.eclipse.elk.alg.layered.options",tG="INTERACTIVE",Ede="GREEDY",yct="DEPTH_FIRST",xct="EDGE_LENGTH",kct="SELF_LOOPS",jct="firstTryWithInitialOrder",Ide="org.eclipse.elk.layered.directionCongruency",Nde="org.eclipse.elk.layered.feedbackEdges",xO="org.eclipse.elk.layered.interactiveReferencePoint",Cde="org.eclipse.elk.layered.mergeEdges",Mde="org.eclipse.elk.layered.mergeHierarchyEdges",Tde="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",Ade="org.eclipse.elk.layered.portSortingStrategy",Pde="org.eclipse.elk.layered.thoroughness",_de="org.eclipse.elk.layered.unnecessaryBendpoints",Ode="org.eclipse.elk.layered.generatePositionAndLayerIds",nG="org.eclipse.elk.layered.cycleBreaking.strategy",KI="org.eclipse.elk.layered.layering.strategy",Lde="org.eclipse.elk.layered.layering.layerConstraint",Dde="org.eclipse.elk.layered.layering.layerChoiceConstraint",Rde="org.eclipse.elk.layered.layering.layerId",iG="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",rG="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",sG="org.eclipse.elk.layered.layering.nodePromotion.strategy",oG="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",cG="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",Mj="org.eclipse.elk.layered.crossingMinimization.strategy",$de="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",uG="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",lG="org.eclipse.elk.layered.crossingMinimization.semiInteractive",Fde="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",Bde="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",Hde="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",Kde="org.eclipse.elk.layered.crossingMinimization.positionId",qde="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",aG="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",kO="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",f2="org.eclipse.elk.layered.nodePlacement.strategy",jO="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",fG="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",hG="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",dG="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",pG="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",gG="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",zde="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",Vde="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",SO="org.eclipse.elk.layered.edgeRouting.splines.mode",EO="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",wG="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",Ude="org.eclipse.elk.layered.spacing.baseValue",Gde="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",Wde="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",Xde="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",Jde="org.eclipse.elk.layered.priority.direction",Yde="org.eclipse.elk.layered.priority.shortness",Qde="org.eclipse.elk.layered.priority.straightness",bG="org.eclipse.elk.layered.compaction.connectedComponents",Zde="org.eclipse.elk.layered.compaction.postCompaction.strategy",e1e="org.eclipse.elk.layered.compaction.postCompaction.constraints",IO="org.eclipse.elk.layered.highDegreeNodes.treatment",mG="org.eclipse.elk.layered.highDegreeNodes.threshold",vG="org.eclipse.elk.layered.highDegreeNodes.treeHeight",Ed="org.eclipse.elk.layered.wrapping.strategy",NO="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",CO="org.eclipse.elk.layered.wrapping.correctionFactor",Tj="org.eclipse.elk.layered.wrapping.cutting.strategy",yG="org.eclipse.elk.layered.wrapping.cutting.cuts",xG="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",MO="org.eclipse.elk.layered.wrapping.validify.strategy",TO="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",AO="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",PO="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",kG="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",t1e="org.eclipse.elk.layered.edgeLabels.sideSelection",n1e="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",_O="org.eclipse.elk.layered.considerModelOrder.strategy",i1e="org.eclipse.elk.layered.considerModelOrder.portModelOrder",r1e="org.eclipse.elk.layered.considerModelOrder.noModelOrder",jG="org.eclipse.elk.layered.considerModelOrder.components",s1e="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",SG="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",EG="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",IG="layering",Sct="layering.minWidth",Ect="layering.nodePromotion",_k="crossingMinimization",OO="org.eclipse.elk.hierarchyHandling",Ict="crossingMinimization.greedySwitch",Nct="nodePlacement",Cct="nodePlacement.bk",Mct="edgeRouting",qI="org.eclipse.elk.edgeRouting",kf="spacing",o1e="priority",c1e="compaction",Tct="compaction.postCompaction",Act="Specifies whether and how post-process compaction is applied.",u1e="highDegreeNodes",l1e="wrapping",Pct="wrapping.cutting",_ct="wrapping.validify",a1e="wrapping.multiEdge",NG="edgeLabels",Aj="considerModelOrder",f1e="org.eclipse.elk.spacing.commentComment",h1e="org.eclipse.elk.spacing.commentNode",d1e="org.eclipse.elk.spacing.edgeEdge",CG="org.eclipse.elk.spacing.edgeNode",p1e="org.eclipse.elk.spacing.labelLabel",g1e="org.eclipse.elk.spacing.labelPortHorizontal",w1e="org.eclipse.elk.spacing.labelPortVertical",b1e="org.eclipse.elk.spacing.labelNode",m1e="org.eclipse.elk.spacing.nodeSelfLoop",v1e="org.eclipse.elk.spacing.portPort",y1e="org.eclipse.elk.spacing.individual",x1e="org.eclipse.elk.port.borderOffset",k1e="org.eclipse.elk.noLayout",j1e="org.eclipse.elk.port.side",zI="org.eclipse.elk.debugMode",S1e="org.eclipse.elk.alignment",E1e="org.eclipse.elk.insideSelfLoops.activate",I1e="org.eclipse.elk.insideSelfLoops.yo",MG="org.eclipse.elk.direction",N1e="org.eclipse.elk.nodeLabels.padding",C1e="org.eclipse.elk.portLabels.nextToPortIfPossible",M1e="org.eclipse.elk.portLabels.treatAsGroup",T1e="org.eclipse.elk.portAlignment.default",A1e="org.eclipse.elk.portAlignment.north",P1e="org.eclipse.elk.portAlignment.south",_1e="org.eclipse.elk.portAlignment.west",O1e="org.eclipse.elk.portAlignment.east",LO="org.eclipse.elk.contentAlignment",L1e="org.eclipse.elk.junctionPoints",D1e="org.eclipse.elk.edgeLabels.placement",R1e="org.eclipse.elk.port.index",$1e="org.eclipse.elk.commentBox",F1e="org.eclipse.elk.hypernode",B1e="org.eclipse.elk.port.anchor",TG="org.eclipse.elk.partitioning.activate",AG="org.eclipse.elk.partitioning.partition",DO="org.eclipse.elk.position",H1e="org.eclipse.elk.margins",K1e="org.eclipse.elk.spacing.portsSurrounding",RO="org.eclipse.elk.interactiveLayout",Co="org.eclipse.elk.core.util",q1e={3:1,4:1,5:1,601:1},Oct="NETWORK_SIMPLEX",z1e="SIMPLE",Ts={106:1,47:1},$O="org.eclipse.elk.alg.layered.p1cycles",Id="org.eclipse.elk.alg.layered.p2layers",V1e={413:1,230:1},Lct={846:1,3:1,4:1},Jc="org.eclipse.elk.alg.layered.p3order",As="org.eclipse.elk.alg.layered.p4nodes",Dct={3:1,4:1,5:1,854:1},rh=1e-5,w0="org.eclipse.elk.alg.layered.p4nodes.bk",PG="org.eclipse.elk.alg.layered.p5edges",Ja="org.eclipse.elk.alg.layered.p5edges.orthogonal",_G="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",OG=1e-6,pm="org.eclipse.elk.alg.layered.p5edges.splines",LG=.09999999999999998,FO=1e-8,Rct=4.71238898038469,U1e=3.141592653589793,Nd="org.eclipse.elk.alg.mrtree",DG=.10000000149011612,BO="SUPER_ROOT",Pj="org.eclipse.elk.alg.mrtree.graph",G1e=-17976931348623157e292,rc="org.eclipse.elk.alg.mrtree.intermediate",$ct="Processor compute fanout",HO={3:1,6:1,4:1,5:1,534:1,100:1,115:1},Fct="Set neighbors in level",VI="org.eclipse.elk.alg.mrtree.options",Bct="DESCENDANTS",W1e="org.eclipse.elk.mrtree.compaction",X1e="org.eclipse.elk.mrtree.edgeEndTextureLength",J1e="org.eclipse.elk.mrtree.treeLevel",Y1e="org.eclipse.elk.mrtree.positionConstraint",Q1e="org.eclipse.elk.mrtree.weighting",Z1e="org.eclipse.elk.mrtree.edgeRoutingMode",e0e="org.eclipse.elk.mrtree.searchOrder",Hct="Position Constraint",Sc="org.eclipse.elk.mrtree",Kct="org.eclipse.elk.tree",qct="Processor arrange level",Ok="org.eclipse.elk.alg.mrtree.p2order",Du="org.eclipse.elk.alg.mrtree.p4route",t0e="org.eclipse.elk.alg.radial",Fp=6.283185307179586,n0e="Before",i0e=5e-324,KO="After",r0e="org.eclipse.elk.alg.radial.intermediate",zct="COMPACTION",RG="org.eclipse.elk.alg.radial.intermediate.compaction",Vct={3:1,4:1,5:1,100:1},s0e="org.eclipse.elk.alg.radial.intermediate.optimization",$G="No implementation is available for the layout option ",_j="org.eclipse.elk.alg.radial.options",o0e="org.eclipse.elk.radial.centerOnRoot",c0e="org.eclipse.elk.radial.orderId",u0e="org.eclipse.elk.radial.radius",qO="org.eclipse.elk.radial.rotate",FG="org.eclipse.elk.radial.compactor",BG="org.eclipse.elk.radial.compactionStepSize",l0e="org.eclipse.elk.radial.sorter",a0e="org.eclipse.elk.radial.wedgeCriteria",f0e="org.eclipse.elk.radial.optimizationCriteria",HG="org.eclipse.elk.radial.rotation.targetAngle",KG="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",h0e="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",Uct="Compaction",d0e="rotation",jl="org.eclipse.elk.radial",Gct="org.eclipse.elk.alg.radial.p1position.wedge",p0e="org.eclipse.elk.alg.radial.sorting",Wct=5.497787143782138,Xct=3.9269908169872414,Jct=2.356194490192345,Yct="org.eclipse.elk.alg.rectpacking",zO="org.eclipse.elk.alg.rectpacking.intermediate",qG="org.eclipse.elk.alg.rectpacking.options",g0e="org.eclipse.elk.rectpacking.trybox",w0e="org.eclipse.elk.rectpacking.currentPosition",b0e="org.eclipse.elk.rectpacking.desiredPosition",m0e="org.eclipse.elk.rectpacking.inNewRow",v0e="org.eclipse.elk.rectpacking.widthApproximation.strategy",y0e="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",x0e="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",k0e="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",j0e="org.eclipse.elk.rectpacking.packing.strategy",S0e="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",E0e="org.eclipse.elk.rectpacking.packing.compaction.iterations",I0e="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",zG="widthApproximation",Qct="Compaction Strategy",Zct="packing.compaction",xu="org.eclipse.elk.rectpacking",Lk="org.eclipse.elk.alg.rectpacking.p1widthapproximation",VO="org.eclipse.elk.alg.rectpacking.p2packing",eut="No Compaction",N0e="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",UI="org.eclipse.elk.alg.rectpacking.util",UO="No implementation available for ",gm="org.eclipse.elk.alg.spore",wm="org.eclipse.elk.alg.spore.options",Cw="org.eclipse.elk.sporeCompaction",VG="org.eclipse.elk.underlyingLayoutAlgorithm",C0e="org.eclipse.elk.processingOrder.treeConstruction",M0e="org.eclipse.elk.processingOrder.spanningTreeCostFunction",UG="org.eclipse.elk.processingOrder.preferredRoot",GG="org.eclipse.elk.processingOrder.rootSelection",WG="org.eclipse.elk.structure.structureExtractionStrategy",T0e="org.eclipse.elk.compaction.compactionStrategy",A0e="org.eclipse.elk.compaction.orthogonal",P0e="org.eclipse.elk.overlapRemoval.maxIterations",_0e="org.eclipse.elk.overlapRemoval.runScanline",XG="processingOrder",tut="overlapRemoval",Dk="org.eclipse.elk.sporeOverlap",nut="org.eclipse.elk.alg.spore.p1structure",JG="org.eclipse.elk.alg.spore.p2processingorder",YG="org.eclipse.elk.alg.spore.p3execution",iut="Topdown Layout",rut="Invalid index: ",Rk="org.eclipse.elk.core.alg",h2={341:1},bm={295:1},sut="Make sure its type is registered with the ",O0e=" utility class.",$k="true",QG="false",out="Couldn't clone property '",Mw=.05,ku="org.eclipse.elk.core.options",cut=1.2999999523162842,Tw="org.eclipse.elk.box",L0e="org.eclipse.elk.expandNodes",D0e="org.eclipse.elk.box.packingMode",uut="org.eclipse.elk.algorithm",lut="org.eclipse.elk.resolvedAlgorithm",R0e="org.eclipse.elk.bendPoints",Pnn="org.eclipse.elk.labelManager",aut="org.eclipse.elk.scaleFactor",fut="org.eclipse.elk.childAreaWidth",hut="org.eclipse.elk.childAreaHeight",dut="org.eclipse.elk.animate",put="org.eclipse.elk.animTimeFactor",gut="org.eclipse.elk.layoutAncestors",wut="org.eclipse.elk.maxAnimTime",but="org.eclipse.elk.minAnimTime",mut="org.eclipse.elk.progressBar",vut="org.eclipse.elk.validateGraph",yut="org.eclipse.elk.validateOptions",xut="org.eclipse.elk.zoomToFit",_nn="org.eclipse.elk.font.name",kut="org.eclipse.elk.font.size",$0e="org.eclipse.elk.topdown.sizeApproximator",F0e="org.eclipse.elk.topdown.scaleCap",jut="org.eclipse.elk.edge.type",Sut="partitioning",Eut="nodeLabels",GO="portAlignment",ZG="nodeSize",eW="port",B0e="portLabels",GI="topdown",Iut="insideSelfLoops",Oj="org.eclipse.elk.fixed",WO="org.eclipse.elk.random",H0e={3:1,34:1,22:1,347:1},Nut="port must have a parent node to calculate the port side",Cut="The edge needs to have exactly one edge section. Found: ",Lj="org.eclipse.elk.core.util.adapters",Sl="org.eclipse.emf.ecore",d2="org.eclipse.elk.graph",Mut="EMapPropertyHolder",Tut="ElkBendPoint",Aut="ElkGraphElement",Put="ElkConnectableShape",K0e="ElkEdge",_ut="ElkEdgeSection",Out="EModelElement",Lut="ENamedElement",q0e="ElkLabel",z0e="ElkNode",V0e="ElkPort",Dut={94:1,93:1},O3="org.eclipse.emf.common.notify.impl",b0="The feature '",Dj="' is not a valid changeable feature",Rut="Expecting null",tW="' is not a valid feature",$ut="The feature ID",Fut=" is not a valid feature ID",Lo=32768,But={110:1,94:1,93:1,58:1,54:1,99:1},Lt="org.eclipse.emf.ecore.impl",Bp="org.eclipse.elk.graph.impl",Rj="Recursive containment not allowed for ",Fk="The datatype '",Aw="' is not a valid classifier",nW="The value '",p2={195:1,3:1,4:1},iW="The class '",Bk="http://www.eclipse.org/elk/ElkGraph",U0e="property",$j="value",rW="source",Hut="properties",Kut="identifier",sW="height",oW="width",cW="parent",uW="text",lW="children",qut="hierarchical",G0e="sources",aW="targets",W0e="sections",XO="bendPoints",X0e="outgoingShape",J0e="incomingShape",Y0e="outgoingSections",Q0e="incomingSections",ms="org.eclipse.emf.common.util",Z0e="Severe implementation error in the Json to ElkGraph importer.",sh="id",Zr="org.eclipse.elk.graph.json",epe="Unhandled parameter types: ",zut="startPoint",Vut="An edge must have at least one source and one target (edge id: '",Hk="').",Uut="Referenced edge section does not exist: ",Gut=" (edge id: '",tpe="target",Wut="sourcePoint",Xut="targetPoint",JO="group",ei="name",Jut="connectableShape cannot be null",Yut="edge cannot be null",fW="Passed edge is not 'simple'.",YO="org.eclipse.elk.graph.util",WI="The 'no duplicates' constraint is violated",hW="targetIndex=",Hp=", size=",dW="sourceIndex=",oh={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},pW={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},QO="logging",Qut="measureExecutionTime",Zut="parser.parse.1",elt="parser.parse.2",ZO="parser.next.1",gW="parser.next.2",tlt="parser.next.3",nlt="parser.next.4",Kp="parser.factor.1",npe="parser.factor.2",ilt="parser.factor.3",rlt="parser.factor.4",slt="parser.factor.5",olt="parser.factor.6",clt="parser.atom.1",ult="parser.atom.2",llt="parser.atom.3",ipe="parser.atom.4",wW="parser.atom.5",rpe="parser.cc.1",eL="parser.cc.2",alt="parser.cc.3",flt="parser.cc.5",spe="parser.cc.6",ope="parser.cc.7",bW="parser.cc.8",hlt="parser.ope.1",dlt="parser.ope.2",plt="parser.ope.3",w1="parser.descape.1",glt="parser.descape.2",wlt="parser.descape.3",blt="parser.descape.4",mlt="parser.descape.5",El="parser.process.1",vlt="parser.quantifier.1",ylt="parser.quantifier.2",xlt="parser.quantifier.3",klt="parser.quantifier.4",cpe="parser.quantifier.5",jlt="org.eclipse.emf.common.notify",upe={424:1,686:1},Slt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},XI={378:1,152:1},Fj="index=",mW={3:1,4:1,5:1,129:1},Elt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},lpe={3:1,6:1,4:1,5:1,198:1},Ilt={3:1,4:1,5:1,173:1,379:1},Nlt=";/?:@&=+$,",Clt="invalid authority: ",Mlt="EAnnotation",Tlt="ETypedElement",Alt="EStructuralFeature",Plt="EAttribute",_lt="EClassifier",Olt="EEnumLiteral",Llt="EGenericType",Dlt="EOperation",Rlt="EParameter",$lt="EReference",Flt="ETypeParameter",_i="org.eclipse.emf.ecore.util",vW={79:1},ape={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},Blt="org.eclipse.emf.ecore.util.FeatureMap$Entry",Yc=8192,mm=2048,Bj="byte",tL="char",Hj="double",Kj="float",qj="int",zj="long",Vj="short",Hlt="java.lang.Object",g2={3:1,4:1,5:1,254:1},fpe={3:1,4:1,5:1,688:1},Klt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},lo={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},JI="mixed",Fn="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Vl="kind",qlt={3:1,4:1,5:1,689:1},hpe={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},nL={20:1,31:1,56:1,16:1,15:1,61:1,71:1},iL={51:1,128:1,287:1},rL={76:1,343:1},sL="The value of type '",oL="' must be of type '",w2=1352,Ul="http://www.eclipse.org/emf/2002/Ecore",cL=-32768,Pw="constraints",cs="baseType",zlt="getEStructuralFeature",Vlt="getFeatureID",Uj="feature",Ult="getOperationID",dpe="operation",Glt="defaultValue",Wlt="eTypeParameters",Xlt="isInstance",Jlt="getEEnumLiteral",Ylt="eContainingClass",Wn={57:1},Qlt={3:1,4:1,5:1,124:1},Zlt="org.eclipse.emf.ecore.resource",eat={94:1,93:1,599:1,2034:1},yW="org.eclipse.emf.ecore.resource.impl",ppe="unspecified",YI="simple",uL="attribute",tat="attributeWildcard",lL="element",xW="elementWildcard",Ya="collapse",kW="itemType",aL="namespace",QI="##targetNamespace",Gl="whiteSpace",gpe="wildcards",qp="http://www.eclipse.org/emf/2003/XMLType",jW="##any",Kk="uninitialized",ZI="The multiplicity constraint is violated",fL="org.eclipse.emf.ecore.xml.type",nat="ProcessingInstruction",iat="SimpleAnyType",rat="XMLTypeDocumentRoot",hr="org.eclipse.emf.ecore.xml.type.impl",eN="INF",sat="processing",oat="ENTITIES_._base",wpe="minLength",bpe="ENTITY",hL="NCName",cat="IDREFS_._base",mpe="integer",SW="token",EW="pattern",uat="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",vpe="\\i\\c*",lat="[\\i-[:]][\\c-[:]]*",aat="nonPositiveInteger",tN="maxInclusive",ype="NMTOKEN",fat="NMTOKENS_._base",xpe="nonNegativeInteger",nN="minInclusive",hat="normalizedString",dat="unsignedByte",pat="unsignedInt",gat="18446744073709551615",wat="unsignedShort",bat="processingInstruction",b1="org.eclipse.emf.ecore.xml.type.internal",qk=1114111,mat="Internal Error: shorthands: \\u",Gj="xml:isDigit",IW="xml:isWord",NW="xml:isSpace",CW="xml:isNameChar",MW="xml:isInitialNameChar",vat="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",yat="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",xat="Private Use",TW="ASSIGNED",AW="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",kpe="UNASSIGNED",zk={3:1,122:1},kat="org.eclipse.emf.ecore.xml.type.util",dL={3:1,4:1,5:1,381:1},jpe="org.eclipse.xtext.xbase.lib",jat="Cannot add elements to a Range",Sat="Cannot set elements in a Range",Eat="Cannot remove elements from a Range",Iat="user.agent",l,pL,PW;w.goog=w.goog||{},w.goog.global=w.goog.global||w,pL={},k(1,null,{},N),l.Fb=function(t){return kFe(this,t)},l.Gb=function(){return this.Rm},l.Hb=function(){return Kg(this)},l.Ib=function(){var t;return cp(Ou(this))+"@"+(t=Ei(this)>>>0,t.toString(16))},l.equals=function(e){return this.Fb(e)},l.hashCode=function(){return this.Hb()},l.toString=function(){return this.Ib()};var Nat,Cat,Mat;k(297,1,{297:1,2124:1},mue),l.ve=function(t){var n;return n=new mue,n.i=4,t>1?n.c=zze(this,t-1):n.c=this,n},l.we=function(){return sd(this),this.b},l.xe=function(){return cp(this)},l.ye=function(){return sd(this),this.k},l.ze=function(){return(this.i&4)!=0},l.Ae=function(){return(this.i&1)!=0},l.Ib=function(){return Mce(this)},l.i=0;var Cr=j(No,"Object",1),Spe=j(No,"Class",297);k(2096,1,yI),j(xI,"Optional",2096),k(1191,2096,yI,T),l.Fb=function(t){return t===this},l.Hb=function(){return 2040732332},l.Ib=function(){return"Optional.absent()"},l.Jb=function(t){return Tn(t),v6(),_W};var _W;j(xI,"Absent",1191),k(636,1,{},pB),j(xI,"Joiner",636);var Onn=qi(xI,"Predicate");k(589,1,{178:1,589:1,3:1,46:1},YTe),l.Mb=function(t){return zJe(this,t)},l.Lb=function(t){return zJe(this,t)},l.Fb=function(t){var n;return ce(t,589)?(n=c(t,589),gfe(this.a,n.a)):!1},l.Hb=function(){return Sue(this.a)+306654252},l.Ib=function(){return yVt(this.a)},j(xI,"Predicates/AndPredicate",589),k(419,2096,{419:1,3:1},DM),l.Fb=function(t){var n;return ce(t,419)?(n=c(t,419),fi(this.a,n.a)):!1},l.Hb=function(){return 1502476572+Ei(this.a)},l.Ib=function(){return eot+this.a+")"},l.Jb=function(t){return new DM(DA(t.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},j(xI,"Present",419),k(204,1,vk),l.Nb=function(t){Jr(this,t)},l.Qb=function(){fDe()},j(dt,"UnmodifiableIterator",204),k(2076,204,yk),l.Qb=function(){fDe()},l.Rb=function(t){throw V(new An)},l.Wb=function(t){throw V(new An)},j(dt,"UnmodifiableListIterator",2076),k(399,2076,yk),l.Ob=function(){return this.c0},l.Pb=function(){if(this.c>=this.d)throw V(new po);return this.Xb(this.c++)},l.Tb=function(){return this.c},l.Ub=function(){if(this.c<=0)throw V(new po);return this.Xb(--this.c)},l.Vb=function(){return this.c-1},l.c=0,l.d=0,j(dt,"AbstractIndexedListIterator",399),k(713,204,vk),l.Ob=function(){return wq(this)},l.Pb=function(){return jce(this)},l.e=1,j(dt,"AbstractIterator",713),k(2084,1,{229:1}),l.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},l.Fb=function(t){return $q(this,t)},l.Hb=function(){return Ei(this.Zb())},l.dc=function(){return this.gc()==0},l.ec=function(){return qy(this)},l.Ib=function(){return uo(this.Zb())},j(dt,"AbstractMultimap",2084),k(742,2084,_p),l.$b=function(){IP(this)},l._b=function(t){return TDe(this,t)},l.ac=function(){return new Wx(this,this.c)},l.ic=function(t){return this.hc()},l.bc=function(){return new Av(this,this.c)},l.jc=function(){return this.mc(this.hc())},l.kc=function(){return new XLe(this)},l.lc=function(){return Gz(this.c.vc().Nc(),new O,64,this.d)},l.cc=function(t){return pi(this,t)},l.fc=function(t){return _7(this,t)},l.gc=function(){return this.d},l.mc=function(t){return jt(),new Lx(t)},l.nc=function(){return new WLe(this)},l.oc=function(){return Gz(this.c.Cc().Nc(),new P,64,this.d)},l.pc=function(t,n){return new rP(this,t,n,null)},l.d=0,j(dt,"AbstractMapBasedMultimap",742),k(1696,742,_p),l.hc=function(){return new ac(this.a)},l.jc=function(){return jt(),jt(),vs},l.cc=function(t){return c(pi(this,t),15)},l.fc=function(t){return c(_7(this,t),15)},l.Zb=function(){return Xy(this)},l.Fb=function(t){return $q(this,t)},l.qc=function(t){return c(pi(this,t),15)},l.rc=function(t){return c(_7(this,t),15)},l.mc=function(t){return vK(c(t,15))},l.pc=function(t,n){return YVe(this,t,c(n,15),null)},j(dt,"AbstractListMultimap",1696),k(748,1,Rr),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return this.c.Ob()||this.e.Ob()},l.Pb=function(){var t;return this.e.Ob()||(t=c(this.c.Pb(),44),this.b=t.ld(),this.a=c(t.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},l.Qb=function(){this.e.Qb(),c(Fl(this.a),16).dc()&&this.c.Qb(),--this.d.d},j(dt,"AbstractMapBasedMultimap/Itr",748),k(1129,748,Rr,WLe),l.sc=function(t,n){return n},j(dt,"AbstractMapBasedMultimap/1",1129),k(1130,1,{},P),l.Kb=function(t){return c(t,16).Nc()},j(dt,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),k(1131,748,Rr,XLe),l.sc=function(t,n){return new Og(t,n)},j(dt,"AbstractMapBasedMultimap/2",1131);var Epe=qi(an,"Map");k(2065,1,Sw),l.wc=function(t){M8(this,t)},l.yc=function(t,n,i){return iz(this,t,n,i)},l.$b=function(){this.vc().$b()},l.tc=function(t){return Mz(this,t)},l._b=function(t){return!!dae(this,t,!1)},l.uc=function(t){var n,i,r;for(i=this.vc().Kc();i.Ob();)if(n=c(i.Pb(),44),r=n.md(),be(t)===be(r)||t!=null&&fi(t,r))return!0;return!1},l.Fb=function(t){var n,i,r;if(t===this)return!0;if(!ce(t,85)||(r=c(t,85),this.gc()!=r.gc()))return!1;for(i=r.vc().Kc();i.Ob();)if(n=c(i.Pb(),44),!this.tc(n))return!1;return!0},l.xc=function(t){return Qs(dae(this,t,!1))},l.Hb=function(){return pue(this.vc())},l.dc=function(){return this.gc()==0},l.ec=function(){return new ip(this)},l.zc=function(t,n){throw V(new Bd("Put not supported on this map"))},l.Ac=function(t){C8(this,t)},l.Bc=function(t){return Qs(dae(this,t,!0))},l.gc=function(){return this.vc().gc()},l.Ib=function(){return net(this)},l.Cc=function(){return new td(this)},j(an,"AbstractMap",2065),k(2085,2065,Sw),l.bc=function(){return new rT(this)},l.vc=function(){return GKe(this)},l.ec=function(){var t;return t=this.g,t||(this.g=this.bc())},l.Cc=function(){var t;return t=this.i,t||(this.i=new yRe(this))},j(dt,"Maps/ViewCachingAbstractMap",2085),k(402,2085,Sw,Wx),l.xc=function(t){return FLt(this,t)},l.Bc=function(t){return u$t(this,t)},l.$b=function(){this.d==this.e.c?this.e.$b():dA(new Ise(this))},l._b=function(t){return CYe(this.d,t)},l.Ec=function(){return new QTe(this)},l.Dc=function(){return this.Ec()},l.Fb=function(t){return this===t||fi(this.d,t)},l.Hb=function(){return Ei(this.d)},l.ec=function(){return this.e.ec()},l.gc=function(){return this.d.gc()},l.Ib=function(){return uo(this.d)},j(dt,"AbstractMapBasedMultimap/AsMap",402);var Qu=qi(No,"Iterable");k(31,1,lm),l.Jc=function(t){Qr(this,t)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new yt(this,0)},l.Oc=function(){return new gt(null,this.Nc())},l.Fc=function(t){throw V(new Bd("Add not supported on this collection"))},l.Gc=function(t){return Gr(this,t)},l.$b=function(){hoe(this)},l.Hc=function(t){return Xb(this,t,!1)},l.Ic=function(t){return E7(this,t)},l.dc=function(){return this.gc()==0},l.Mc=function(t){return Xb(this,t,!0)},l.Pc=function(){return Dse(this)},l.Qc=function(t){return G8(this,t)},l.Ib=function(){return u0(this)},j(an,"AbstractCollection",31);var Wl=qi(an,"Set");k(vf,31,Xc),l.Nc=function(){return new yt(this,1)},l.Fb=function(t){return vQe(this,t)},l.Hb=function(){return pue(this)},j(an,"AbstractSet",vf),k(2068,vf,Xc),j(dt,"Sets/ImprovedAbstractSet",2068),k(2069,2068,Xc),l.$b=function(){this.Rc().$b()},l.Hc=function(t){return iQe(this,t)},l.dc=function(){return this.Rc().dc()},l.Mc=function(t){var n;return this.Hc(t)&&ce(t,44)?(n=c(t,44),this.Rc().ec().Mc(n.ld())):!1},l.gc=function(){return this.Rc().gc()},j(dt,"Maps/EntrySet",2069),k(1127,2069,Xc,QTe),l.Hc=function(t){return Hue(this.a.d.vc(),t)},l.Kc=function(){return new Ise(this.a)},l.Rc=function(){return this.a},l.Mc=function(t){var n;return Hue(this.a.d.vc(),t)?(n=c(Fl(c(t,44)),44),NOt(this.a.e,n.ld()),!0):!1},l.Nc=function(){return DE(this.a.d.vc().Nc(),new ZTe(this.a))},j(dt,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),k(1128,1,{},ZTe),l.Kb=function(t){return XUe(this.a,c(t,44))},j(dt,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),k(746,1,Rr,Ise),l.Nb=function(t){Jr(this,t)},l.Pb=function(){var t;return t=c(this.b.Pb(),44),this.a=c(t.md(),16),XUe(this.c,t)},l.Ob=function(){return this.b.Ob()},l.Qb=function(){i4(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},j(dt,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),k(542,2068,Xc,rT),l.$b=function(){this.b.$b()},l.Hc=function(t){return this.b._b(t)},l.Jc=function(t){Tn(t),this.b.wc(new wAe(t))},l.dc=function(){return this.b.dc()},l.Kc=function(){return new y6(this.b.vc().Kc())},l.Mc=function(t){return this.b._b(t)?(this.b.Bc(t),!0):!1},l.gc=function(){return this.b.gc()},j(dt,"Maps/KeySet",542),k(327,542,Xc,Av),l.$b=function(){var t;dA((t=this.b.vc().Kc(),new Jne(this,t)))},l.Ic=function(t){return this.b.ec().Ic(t)},l.Fb=function(t){return this===t||fi(this.b.ec(),t)},l.Hb=function(){return Ei(this.b.ec())},l.Kc=function(){var t;return t=this.b.vc().Kc(),new Jne(this,t)},l.Mc=function(t){var n,i;return i=0,n=c(this.b.Bc(t),16),n&&(i=n.gc(),n.$b(),this.a.d-=i),i>0},l.Nc=function(){return this.b.ec().Nc()},j(dt,"AbstractMapBasedMultimap/KeySet",327),k(747,1,Rr,Jne),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return this.c.Ob()},l.Pb=function(){return this.a=c(this.c.Pb(),44),this.a.ld()},l.Qb=function(){var t;i4(!!this.a),t=c(this.a.md(),16),this.c.Qb(),this.b.a.d-=t.gc(),t.$b(),this.a=null},j(dt,"AbstractMapBasedMultimap/KeySet/1",747),k(503,402,{85:1,133:1},ME),l.bc=function(){return this.Sc()},l.ec=function(){return this.Uc()},l.Sc=function(){return new iE(this.c,this.Wc())},l.Tc=function(){return this.Wc().Tc()},l.Uc=function(){var t;return t=this.b,t||(this.b=this.Sc())},l.Vc=function(){return this.Wc().Vc()},l.Wc=function(){return c(this.d,133)},j(dt,"AbstractMapBasedMultimap/SortedAsMap",503),k(446,503,Lhe,e8),l.bc=function(){return new Gx(this.a,c(c(this.d,133),139))},l.Sc=function(){return new Gx(this.a,c(c(this.d,133),139))},l.ec=function(){var t;return t=this.b,c(t||(this.b=new Gx(this.a,c(c(this.d,133),139))),277)},l.Uc=function(){var t;return t=this.b,c(t||(this.b=new Gx(this.a,c(c(this.d,133),139))),277)},l.Wc=function(){return c(c(this.d,133),139)},l.Xc=function(t){return c(c(this.d,133),139).Xc(t)},l.Yc=function(t){return c(c(this.d,133),139).Yc(t)},l.Zc=function(t,n){return new e8(this.a,c(c(this.d,133),139).Zc(t,n))},l.$c=function(t){return c(c(this.d,133),139).$c(t)},l._c=function(t){return c(c(this.d,133),139)._c(t)},l.ad=function(t,n){return new e8(this.a,c(c(this.d,133),139).ad(t,n))},j(dt,"AbstractMapBasedMultimap/NavigableAsMap",446),k(502,327,tot,iE),l.Nc=function(){return this.b.ec().Nc()},j(dt,"AbstractMapBasedMultimap/SortedKeySet",502),k(401,502,Dhe,Gx),j(dt,"AbstractMapBasedMultimap/NavigableKeySet",401),k(551,31,lm,rP),l.Fc=function(t){var n,i;return bu(this),i=this.d.dc(),n=this.d.Fc(t),n&&(++this.f.d,i&&_E(this)),n},l.Gc=function(t){var n,i,r;return t.dc()?!1:(r=(bu(this),this.d.gc()),n=this.d.Gc(t),n&&(i=this.d.gc(),this.f.d+=i-r,r==0&&_E(this)),n)},l.$b=function(){var t;t=(bu(this),this.d.gc()),t!=0&&(this.d.$b(),this.f.d-=t,vA(this))},l.Hc=function(t){return bu(this),this.d.Hc(t)},l.Ic=function(t){return bu(this),this.d.Ic(t)},l.Fb=function(t){return t===this?!0:(bu(this),fi(this.d,t))},l.Hb=function(){return bu(this),Ei(this.d)},l.Kc=function(){return bu(this),new lse(this)},l.Mc=function(t){var n;return bu(this),n=this.d.Mc(t),n&&(--this.f.d,vA(this)),n},l.gc=function(){return uFe(this)},l.Nc=function(){return bu(this),this.d.Nc()},l.Ib=function(){return bu(this),uo(this.d)},j(dt,"AbstractMapBasedMultimap/WrappedCollection",551);var Il=qi(an,"List");k(744,551,{20:1,31:1,16:1,15:1},Fse),l.jd=function(t){xp(this,t)},l.Nc=function(){return bu(this),this.d.Nc()},l.bd=function(t,n){var i;bu(this),i=this.d.dc(),c(this.d,15).bd(t,n),++this.a.d,i&&_E(this)},l.cd=function(t,n){var i,r,o;return n.dc()?!1:(o=(bu(this),this.d.gc()),i=c(this.d,15).cd(t,n),i&&(r=this.d.gc(),this.a.d+=r-o,o==0&&_E(this)),i)},l.Xb=function(t){return bu(this),c(this.d,15).Xb(t)},l.dd=function(t){return bu(this),c(this.d,15).dd(t)},l.ed=function(){return bu(this),new $Fe(this)},l.fd=function(t){return bu(this),new cze(this,t)},l.gd=function(t){var n;return bu(this),n=c(this.d,15).gd(t),--this.a.d,vA(this),n},l.hd=function(t,n){return bu(this),c(this.d,15).hd(t,n)},l.kd=function(t,n){return bu(this),YVe(this.a,this.e,c(this.d,15).kd(t,n),this.b?this.b:this)},j(dt,"AbstractMapBasedMultimap/WrappedList",744),k(1126,744,{20:1,31:1,16:1,15:1,59:1},NBe),j(dt,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),k(628,1,Rr,lse),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return p4(this),this.b.Ob()},l.Pb=function(){return p4(this),this.b.Pb()},l.Qb=function(){fBe(this)},j(dt,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),k(745,628,Ch,$Fe,cze),l.Qb=function(){fBe(this)},l.Rb=function(t){var n;n=uFe(this.a)==0,(p4(this),c(this.b,128)).Rb(t),++this.a.a.d,n&&_E(this.a)},l.Sb=function(){return(p4(this),c(this.b,128)).Sb()},l.Tb=function(){return(p4(this),c(this.b,128)).Tb()},l.Ub=function(){return(p4(this),c(this.b,128)).Ub()},l.Vb=function(){return(p4(this),c(this.b,128)).Vb()},l.Wb=function(t){(p4(this),c(this.b,128)).Wb(t)},j(dt,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),k(743,551,tot,Cre),l.Nc=function(){return bu(this),this.d.Nc()},j(dt,"AbstractMapBasedMultimap/WrappedSortedSet",743),k(1125,743,Dhe,_Fe),j(dt,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),k(1124,551,Xc,WBe),l.Nc=function(){return bu(this),this.d.Nc()},j(dt,"AbstractMapBasedMultimap/WrappedSet",1124),k(1133,1,{},O),l.Kb=function(t){return ROt(c(t,44))},j(dt,"AbstractMapBasedMultimap/lambda$1$Type",1133),k(1132,1,{},iAe),l.Kb=function(t){return new Og(this.a,t)},j(dt,"AbstractMapBasedMultimap/lambda$2$Type",1132);var zp=qi(an,"Map/Entry");k(358,1,XV),l.Fb=function(t){var n;return ce(t,44)?(n=c(t,44),qf(this.ld(),n.ld())&&qf(this.md(),n.md())):!1},l.Hb=function(){var t,n;return t=this.ld(),n=this.md(),(t==null?0:Ei(t))^(n==null?0:Ei(n))},l.nd=function(t){throw V(new An)},l.Ib=function(){return this.ld()+"="+this.md()},j(dt,not,358),k(2086,31,lm),l.$b=function(){this.od().$b()},l.Hc=function(t){var n;return ce(t,44)?(n=c(t,44),r_t(this.od(),n.ld(),n.md())):!1},l.Mc=function(t){var n;return ce(t,44)?(n=c(t,44),PVe(this.od(),n.ld(),n.md())):!1},l.gc=function(){return this.od().d},j(dt,"Multimaps/Entries",2086),k(749,2086,lm,Mte),l.Kc=function(){return this.a.kc()},l.od=function(){return this.a},l.Nc=function(){return this.a.lc()},j(dt,"AbstractMultimap/Entries",749),k(750,749,Xc,Nne),l.Nc=function(){return this.a.lc()},l.Fb=function(t){return _ae(this,t)},l.Hb=function(){return qXe(this)},j(dt,"AbstractMultimap/EntrySet",750),k(751,31,lm,Tte),l.$b=function(){this.a.$b()},l.Hc=function(t){return n$t(this.a,t)},l.Kc=function(){return this.a.nc()},l.gc=function(){return this.a.d},l.Nc=function(){return this.a.oc()},j(dt,"AbstractMultimap/Values",751),k(2087,31,{849:1,20:1,31:1,16:1}),l.Jc=function(t){Tn(t),_v(this).Jc(new kAe(t))},l.Nc=function(){var t;return t=_v(this).Nc(),Gz(t,new G,64|t.yd()&1296,this.a.d)},l.Fc=function(t){return Lne(),!0},l.Gc=function(t){return Tn(this),Tn(t),ce(t,552)?c_t(c(t,849)):!t.dc()&&cq(this,t.Kc())},l.Hc=function(t){var n;return n=c(Wb(Xy(this.a),t),16),(n?n.gc():0)>0},l.Fb=function(t){return MGt(this,t)},l.Hb=function(){return Ei(_v(this))},l.dc=function(){return _v(this).dc()},l.Mc=function(t){return btt(this,t,1)>0},l.Ib=function(){return uo(_v(this))},j(dt,"AbstractMultiset",2087),k(2089,2068,Xc),l.$b=function(){IP(this.a.a)},l.Hc=function(t){var n,i;return ce(t,504)?(i=c(t,425),c(i.a.md(),16).gc()<=0?!1:(n=sVe(this.a,i.a.ld()),n==c(i.a.md(),16).gc())):!1},l.Mc=function(t){var n,i,r,o;return ce(t,504)&&(i=c(t,425),n=i.a.ld(),r=c(i.a.md(),16).gc(),r!=0)?(o=this.a,vUt(o,n,r)):!1},j(dt,"Multisets/EntrySet",2089),k(1139,2089,Xc,rAe),l.Kc=function(){return new eDe(GKe(Xy(this.a.a)).Kc())},l.gc=function(){return Xy(this.a.a).gc()},j(dt,"AbstractMultiset/EntrySet",1139),k(627,742,_p),l.hc=function(){return this.pd()},l.jc=function(){return this.qd()},l.cc=function(t){return this.rd(t)},l.fc=function(t){return this.sd(t)},l.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},l.qd=function(){return jt(),jt(),yL},l.Fb=function(t){return $q(this,t)},l.rd=function(t){return c(pi(this,t),21)},l.sd=function(t){return c(_7(this,t),21)},l.mc=function(t){return jt(),new Kx(c(t,21))},l.pc=function(t,n){return new WBe(this,t,c(n,21))},j(dt,"AbstractSetMultimap",627),k(1723,627,_p),l.hc=function(){return new zd(this.b)},l.pd=function(){return new zd(this.b)},l.jc=function(){return ooe(new zd(this.b))},l.qd=function(){return ooe(new zd(this.b))},l.cc=function(t){return c(c(pi(this,t),21),87)},l.rd=function(t){return c(c(pi(this,t),21),87)},l.fc=function(t){return c(c(_7(this,t),21),87)},l.sd=function(t){return c(c(_7(this,t),21),87)},l.mc=function(t){return ce(t,277)?ooe(c(t,277)):(jt(),new dre(c(t,87)))},l.Zb=function(){var t;return t=this.f,t||(this.f=ce(this.c,139)?new e8(this,c(this.c,139)):ce(this.c,133)?new ME(this,c(this.c,133)):new Wx(this,this.c))},l.pc=function(t,n){return ce(n,277)?new _Fe(this,t,c(n,277)):new Cre(this,t,c(n,87))},j(dt,"AbstractSortedSetMultimap",1723),k(1724,1723,_p),l.Zb=function(){var t;return t=this.f,c(c(t||(this.f=ce(this.c,139)?new e8(this,c(this.c,139)):ce(this.c,133)?new ME(this,c(this.c,133)):new Wx(this,this.c)),133),139)},l.ec=function(){var t;return t=this.i,c(c(t||(this.i=ce(this.c,139)?new Gx(this,c(this.c,139)):ce(this.c,133)?new iE(this,c(this.c,133)):new Av(this,this.c)),87),277)},l.bc=function(){return ce(this.c,139)?new Gx(this,c(this.c,139)):ce(this.c,133)?new iE(this,c(this.c,133)):new Av(this,this.c)},j(dt,"AbstractSortedKeySortedSetMultimap",1724),k(2109,1,{2046:1}),l.Fb=function(t){return eqt(this,t)},l.Hb=function(){var t;return pue((t=this.g,t||(this.g=new FF(this))))},l.Ib=function(){var t;return net((t=this.f,t||(this.f=new lre(this))))},j(dt,"AbstractTable",2109),k(679,vf,Xc,FF),l.$b=function(){hDe()},l.Hc=function(t){var n,i;return ce(t,479)?(n=c(t,697),i=c(Wb(bqe(this.a),V1(n.c.e,n.b)),85),!!i&&Hue(i.vc(),new Og(V1(n.c.c,n.a),n3(n.c,n.b,n.a)))):!1},l.Kc=function(){return rAt(this.a)},l.Mc=function(t){var n,i;return ce(t,479)?(n=c(t,697),i=c(Wb(bqe(this.a),V1(n.c.e,n.b)),85),!!i&&L$t(i.vc(),new Og(V1(n.c.c,n.a),n3(n.c,n.b,n.a)))):!1},l.gc=function(){return yKe(this.a)},l.Nc=function(){return a_t(this.a)},j(dt,"AbstractTable/CellSet",679),k(2025,31,lm,oAe),l.$b=function(){hDe()},l.Hc=function(t){return Uqt(this.a,t)},l.Kc=function(){return sAt(this.a)},l.gc=function(){return yKe(this.a)},l.Nc=function(){return AVe(this.a)},j(dt,"AbstractTable/Values",2025),k(1697,1696,_p),j(dt,"ArrayListMultimapGwtSerializationDependencies",1697),k(520,1697,_p,bB,Coe),l.hc=function(){return new ac(this.a)},l.a=0,j(dt,"ArrayListMultimap",520),k(678,2109,{678:1,2046:1,3:1},Ttt),j(dt,"ArrayTable",678),k(2021,399,yk,hBe),l.Xb=function(t){return new vue(this.a,t)},j(dt,"ArrayTable/1",2021),k(2022,1,{},eAe),l.td=function(t){return new vue(this.a,t)},j(dt,"ArrayTable/1methodref$getCell$Type",2022),k(2110,1,{697:1}),l.Fb=function(t){var n;return t===this?!0:ce(t,479)?(n=c(t,697),qf(V1(this.c.e,this.b),V1(n.c.e,n.b))&&qf(V1(this.c.c,this.a),V1(n.c.c,n.a))&&qf(n3(this.c,this.b,this.a),n3(n.c,n.b,n.a))):!1},l.Hb=function(){return P7(J(W(Cr,1),Mt,1,5,[V1(this.c.e,this.b),V1(this.c.c,this.a),n3(this.c,this.b,this.a)]))},l.Ib=function(){return"("+V1(this.c.e,this.b)+","+V1(this.c.c,this.a)+")="+n3(this.c,this.b,this.a)},j(dt,"Tables/AbstractCell",2110),k(479,2110,{479:1,697:1},vue),l.a=0,l.b=0,l.d=0,j(dt,"ArrayTable/2",479),k(2024,1,{},tAe),l.td=function(t){return nWe(this.a,t)},j(dt,"ArrayTable/2methodref$getValue$Type",2024),k(2023,399,yk,dBe),l.Xb=function(t){return nWe(this.a,t)},j(dt,"ArrayTable/3",2023),k(2077,2065,Sw),l.$b=function(){dA(this.kc())},l.vc=function(){return new gAe(this)},l.lc=function(){return new Yqe(this.kc(),this.gc())},j(dt,"Maps/IteratorBasedAbstractMap",2077),k(842,2077,Sw),l.$b=function(){throw V(new An)},l._b=function(t){return ADe(this.c,t)},l.kc=function(){return new pBe(this,this.c.b.c.gc())},l.lc=function(){return BH(this.c.b.c.gc(),16,new nAe(this))},l.xc=function(t){var n;return n=c(t8(this.c,t),17),n?this.vd(n.a):null},l.dc=function(){return this.c.b.c.dc()},l.ec=function(){return WH(this.c)},l.zc=function(t,n){var i;if(i=c(t8(this.c,t),17),!i)throw V(new Ft(this.ud()+" "+t+" not in "+WH(this.c)));return this.wd(i.a,n)},l.Bc=function(t){throw V(new An)},l.gc=function(){return this.c.b.c.gc()},j(dt,"ArrayTable/ArrayMap",842),k(2020,1,{},nAe),l.td=function(t){return vqe(this.a,t)},j(dt,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),k(2018,358,XV,iRe),l.ld=function(){return m7t(this.a,this.b)},l.md=function(){return this.a.vd(this.b)},l.nd=function(t){return this.a.wd(this.b,t)},l.b=0,j(dt,"ArrayTable/ArrayMap/1",2018),k(2019,399,yk,pBe),l.Xb=function(t){return vqe(this.a,t)},j(dt,"ArrayTable/ArrayMap/2",2019),k(2017,842,Sw,oqe),l.ud=function(){return"Column"},l.vd=function(t){return n3(this.b,this.a,t)},l.wd=function(t,n){return MJe(this.b,this.a,t,n)},l.a=0,j(dt,"ArrayTable/Row",2017),k(843,842,Sw,lre),l.vd=function(t){return new oqe(this.a,t)},l.zc=function(t,n){return c(n,85),FSt()},l.wd=function(t,n){return c(n,85),BSt()},l.ud=function(){return"Row"},j(dt,"ArrayTable/RowMap",843),k(1157,1,Ju,rRe),l.Ad=function(t){return(this.a.yd()&-262&t)!=0},l.yd=function(){return this.a.yd()&-262},l.zd=function(){return this.a.zd()},l.Nb=function(t){this.a.Nb(new oRe(t,this.b))},l.Bd=function(t){return this.a.Bd(new sRe(t,this.b))},j(dt,"CollectSpliterators/1",1157),k(1158,1,Zt,sRe),l.Cd=function(t){this.a.Cd(this.b.Kb(t))},j(dt,"CollectSpliterators/1/lambda$0$Type",1158),k(1159,1,Zt,oRe),l.Cd=function(t){this.a.Cd(this.b.Kb(t))},j(dt,"CollectSpliterators/1/lambda$1$Type",1159),k(1154,1,Ju,MHe),l.Ad=function(t){return((16464|this.b)&t)!=0},l.yd=function(){return 16464|this.b},l.zd=function(){return this.a.zd()},l.Nb=function(t){this.a.Qe(new uRe(t,this.c))},l.Bd=function(t){return this.a.Re(new cRe(t,this.c))},l.b=0,j(dt,"CollectSpliterators/1WithCharacteristics",1154),k(1155,1,kI,cRe),l.Dd=function(t){this.a.Cd(this.b.td(t))},j(dt,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),k(1156,1,kI,uRe),l.Dd=function(t){this.a.Cd(this.b.td(t))},j(dt,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),k(1150,1,Ju),l.Ad=function(t){return(this.a&t)!=0},l.yd=function(){return this.a},l.zd=function(){return this.e&&(this.b=Yie(this.b,this.e.zd())),Yie(this.b,0)},l.Nb=function(t){this.e&&(this.e.Nb(t),this.e=null),this.c.Nb(new lRe(this,t)),this.b=0},l.Bd=function(t){for(;;){if(this.e&&this.e.Bd(t))return z6(this.b,jI)&&(this.b=Hl(this.b,1)),!0;if(this.e=null,!this.c.Bd(new cAe(this)))return!1}},l.a=0,l.b=0,j(dt,"CollectSpliterators/FlatMapSpliterator",1150),k(1152,1,Zt,cAe),l.Cd=function(t){wIt(this.a,t)},j(dt,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),k(1153,1,Zt,lRe),l.Cd=function(t){HTt(this.a,this.b,t)},j(dt,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),k(1151,1150,Ju,XVe),j(dt,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),k(253,1,JV),l.Fd=function(t){return this.Ed(c(t,253))},l.Ed=function(t){var n;return t==(cB(),LW)?1:t==(oB(),OW)?-1:(n=(uA(),y7(this.a,t.a)),n!=0?n:ce(this,526)==ce(t,526)?0:ce(this,526)?1:-1)},l.Id=function(){return this.a},l.Fb=function(t){return Fle(this,t)},j(dt,"Cut",253),k(1823,253,JV,GLe),l.Ed=function(t){return t==this?0:1},l.Gd=function(t){throw V(new une)},l.Hd=function(t){t.a+="+∞)"},l.Id=function(){throw V(new qs(rot))},l.Hb=function(){return id(),Sle(this)},l.Jd=function(t){return!1},l.Ib=function(){return"+∞"};var OW;j(dt,"Cut/AboveAll",1823),k(526,253,{253:1,526:1,3:1,34:1},yBe),l.Gd=function(t){Yo((t.a+="(",t),this.a)},l.Hd=function(t){dp(Yo(t,this.a),93)},l.Hb=function(){return~Ei(this.a)},l.Jd=function(t){return uA(),y7(this.a,t)<0},l.Ib=function(){return"/"+this.a+"\\"},j(dt,"Cut/AboveValue",526),k(1822,253,JV,ULe),l.Ed=function(t){return t==this?0:-1},l.Gd=function(t){t.a+="(-∞"},l.Hd=function(t){throw V(new une)},l.Id=function(){throw V(new qs(rot))},l.Hb=function(){return id(),Sle(this)},l.Jd=function(t){return!0},l.Ib=function(){return"-∞"};var LW;j(dt,"Cut/BelowAll",1822),k(1824,253,JV,xBe),l.Gd=function(t){Yo((t.a+="[",t),this.a)},l.Hd=function(t){dp(Yo(t,this.a),41)},l.Hb=function(){return Ei(this.a)},l.Jd=function(t){return uA(),y7(this.a,t)<=0},l.Ib=function(){return"\\"+this.a+"/"},j(dt,"Cut/BelowValue",1824),k(547,1,Mh),l.Jc=function(t){Qr(this,t)},l.Ib=function(){return nFt(c(DA(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},j(dt,"FluentIterable",547),k(442,547,Mh,G6),l.Kc=function(){return new Qt(en(this.a.Kc(),new M))},j(dt,"FluentIterable/2",442),k(1059,547,Mh,MFe),l.Kc=function(){return xh(this)},j(dt,"FluentIterable/3",1059),k(724,399,yk,are),l.Xb=function(t){return this.a[t].Kc()},j(dt,"FluentIterable/3/1",724),k(2070,1,{}),l.Ib=function(){return uo(this.Kd().b)},j(dt,"ForwardingObject",2070),k(2071,2070,sot),l.Kd=function(){return this.Ld()},l.Jc=function(t){Qr(this,t)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new yt(this,0)},l.Oc=function(){return new gt(null,this.Nc())},l.Fc=function(t){return this.Ld(),_De()},l.Gc=function(t){return this.Ld(),ODe()},l.$b=function(){this.Ld(),LDe()},l.Hc=function(t){return this.Ld().Hc(t)},l.Ic=function(t){return this.Ld().Ic(t)},l.dc=function(){return this.Ld().b.dc()},l.Kc=function(){return this.Ld().Kc()},l.Mc=function(t){return this.Ld(),DDe()},l.gc=function(){return this.Ld().b.gc()},l.Pc=function(){return this.Ld().Pc()},l.Qc=function(t){return this.Ld().Qc(t)},j(dt,"ForwardingCollection",2071),k(2078,31,Rhe),l.Kc=function(){return this.Od()},l.Fc=function(t){throw V(new An)},l.Gc=function(t){throw V(new An)},l.Md=function(){var t;return t=this.c,t||(this.c=this.Nd())},l.$b=function(){throw V(new An)},l.Hc=function(t){return t!=null&&Xb(this,t,!1)},l.Nd=function(){switch(this.gc()){case 0:return Xg(),Xg(),DW;case 1:return Xg(),new HH(Tn(this.Od().Pb()));default:return new qse(this,this.Pc())}},l.Mc=function(t){throw V(new An)},j(dt,"ImmutableCollection",2078),k(727,2078,Rhe,one),l.Kc=function(){return i3(this.a.Kc())},l.Hc=function(t){return t!=null&&this.a.Hc(t)},l.Ic=function(t){return this.a.Ic(t)},l.dc=function(){return this.a.dc()},l.Od=function(){return i3(this.a.Kc())},l.gc=function(){return this.a.gc()},l.Pc=function(){return this.a.Pc()},l.Qc=function(t){return this.a.Qc(t)},l.Ib=function(){return uo(this.a)},j(dt,"ForwardingImmutableCollection",727),k(307,2078,xk),l.Kc=function(){return this.Od()},l.ed=function(){return this.Pd(0)},l.fd=function(t){return this.Pd(t)},l.jd=function(t){xp(this,t)},l.Nc=function(){return new yt(this,16)},l.kd=function(t,n){return this.Qd(t,n)},l.bd=function(t,n){throw V(new An)},l.cd=function(t,n){throw V(new An)},l.Md=function(){return this},l.Fb=function(t){return bGt(this,t)},l.Hb=function(){return fRt(this)},l.dd=function(t){return t==null?-1:OHt(this,t)},l.Od=function(){return this.Pd(0)},l.Pd=function(t){return vH(this,t)},l.gd=function(t){throw V(new An)},l.hd=function(t,n){throw V(new An)},l.Qd=function(t,n){var i;return GP((i=new vRe(this),new Jd(i,t,n)))};var DW;j(dt,"ImmutableList",307),k(2105,307,xk),l.Kc=function(){return i3(this.Rd().Kc())},l.kd=function(t,n){return GP(this.Rd().kd(t,n))},l.Hc=function(t){return t!=null&&this.Rd().Hc(t)},l.Ic=function(t){return this.Rd().Ic(t)},l.Fb=function(t){return fi(this.Rd(),t)},l.Xb=function(t){return V1(this,t)},l.Hb=function(){return Ei(this.Rd())},l.dd=function(t){return this.Rd().dd(t)},l.dc=function(){return this.Rd().dc()},l.Od=function(){return i3(this.Rd().Kc())},l.gc=function(){return this.Rd().gc()},l.Qd=function(t,n){return GP(this.Rd().kd(t,n))},l.Pc=function(){return this.Rd().Qc(ke(Cr,Mt,1,this.Rd().gc(),5,1))},l.Qc=function(t){return this.Rd().Qc(t)},l.Ib=function(){return uo(this.Rd())},j(dt,"ForwardingImmutableList",2105),k(729,1,kk),l.vc=function(){return ap(this)},l.wc=function(t){M8(this,t)},l.ec=function(){return WH(this)},l.yc=function(t,n,i){return iz(this,t,n,i)},l.Cc=function(){return this.Vd()},l.$b=function(){throw V(new An)},l._b=function(t){return this.xc(t)!=null},l.uc=function(t){return this.Vd().Hc(t)},l.Td=function(){return new tLe(this)},l.Ud=function(){return new nLe(this)},l.Fb=function(t){return i$t(this,t)},l.Hb=function(){return ap(this).Hb()},l.dc=function(){return this.gc()==0},l.zc=function(t,n){return $St()},l.Bc=function(t){throw V(new An)},l.Ib=function(){return zzt(this)},l.Vd=function(){return this.e?this.e:this.e=this.Ud()},l.c=null,l.d=null,l.e=null;var Tat;j(dt,"ImmutableMap",729),k(730,729,kk),l._b=function(t){return ADe(this,t)},l.uc=function(t){return ERe(this.b,t)},l.Sd=function(){return EYe(new sAe(this))},l.Td=function(){return EYe(Hqe(this.b))},l.Ud=function(){return Kf(),new one(Bqe(this.b))},l.Fb=function(t){return IRe(this.b,t)},l.xc=function(t){return t8(this,t)},l.Hb=function(){return Ei(this.b.c)},l.dc=function(){return this.b.c.dc()},l.gc=function(){return this.b.c.gc()},l.Ib=function(){return uo(this.b.c)},j(dt,"ForwardingImmutableMap",730),k(2072,2071,YV),l.Kd=function(){return this.Wd()},l.Ld=function(){return this.Wd()},l.Nc=function(){return new yt(this,1)},l.Fb=function(t){return t===this||this.Wd().Fb(t)},l.Hb=function(){return this.Wd().Hb()},j(dt,"ForwardingSet",2072),k(1085,2072,YV,sAe),l.Kd=function(){return h4(this.a.b)},l.Ld=function(){return h4(this.a.b)},l.Hc=function(t){if(ce(t,44)&&c(t,44).ld()==null)return!1;try{return SRe(h4(this.a.b),t)}catch(n){if(n=Ri(n),ce(n,212))return!1;throw V(n)}},l.Wd=function(){return h4(this.a.b)},l.Qc=function(t){var n;return n=Eze(h4(this.a.b),t),h4(this.a.b).b.gc()=0?"+":"")+(i/60|0),n=HT(w.Math.abs(i)%60),(get(),Xat)[this.q.getDay()]+" "+Jat[this.q.getMonth()]+" "+HT(this.q.getDate())+" "+HT(this.q.getHours())+":"+HT(this.q.getMinutes())+":"+HT(this.q.getSeconds())+" GMT"+t+n+" "+this.q.getFullYear()};var bL=j(an,"Date",206);k(2015,206,pot,RZe),l.a=!1,l.b=0,l.c=0,l.d=0,l.e=0,l.f=0,l.g=!1,l.i=0,l.j=0,l.k=0,l.n=0,l.o=0,l.p=0,j("com.google.gwt.i18n.shared.impl","DateRecord",2015),k(2064,1,{}),l.pe=function(){return null},l.qe=function(){return null},l.re=function(){return null},l.se=function(){return null},l.te=function(){return null},j(S3,"JSONValue",2064),k(221,2064,{221:1},tp,Pte),l.Fb=function(t){return ce(t,221)?Toe(this.a,c(t,221).a):!1},l.oe=function(){return lSt},l.Hb=function(){return voe(this.a)},l.pe=function(){return this},l.Ib=function(){var t,n,i;for(i=new Fu("["),n=0,t=this.a.length;n0&&(i.a+=","),Yo(i,Kb(this,n));return i.a+="]",i.a},j(S3,"JSONArray",221),k(493,2064,{493:1},_te),l.oe=function(){return aSt},l.qe=function(){return this},l.Ib=function(){return _t(),""+this.a},l.a=!1;var Rat,$at;j(S3,"JSONBoolean",493),k(997,63,jd,tDe),j(S3,"JSONException",997),k(1036,2064,{},re),l.oe=function(){return fSt},l.Ib=function(){return Oc};var Fat;j(S3,"JSONNull",1036),k(263,2064,{263:1},RM),l.Fb=function(t){return ce(t,263)?this.a==c(t,263).a:!1},l.oe=function(){return cSt},l.Hb=function(){return Oy(this.a)},l.re=function(){return this},l.Ib=function(){return this.a+""},l.a=0,j(S3,"JSONNumber",263),k(190,2064,{190:1},Sy,U9),l.Fb=function(t){return ce(t,190)?Toe(this.a,c(t,190).a):!1},l.oe=function(){return uSt},l.Hb=function(){return voe(this.a)},l.se=function(){return this},l.Ib=function(){var t,n,i,r,o,a,h;for(h=new Fu("{"),t=!0,a=xq(this,ke(Ye,Oe,2,0,6,1)),i=a,r=0,o=i.length;r=0?":"+this.c:"")+")"},l.c=0;var Kpe=j(No,"StackTraceElement",319);Mat={3:1,484:1,34:1,2:1};var Ye=j(No,$he,2);k(111,427,{484:1},Kd,j6,$l),j(No,"StringBuffer",111),k(104,427,{484:1},B1,Cy,Fu),j(No,"StringBuilder",104),k(702,77,yU,Dne),j(No,"StringIndexOutOfBoundsException",702),k(2145,1,{});var qat;k(48,63,{3:1,103:1,63:1,82:1,48:1},An,Bd),j(No,"UnsupportedOperationException",48),k(247,242,{3:1,34:1,242:1,247:1},D7,Gne),l.Fd=function(t){return lrt(this,c(t,247))},l.ue=function(){return em(Rrt(this))},l.Fb=function(t){var n;return this===t?!0:ce(t,247)?(n=c(t,247),this.e==n.e&&lrt(this,n)==0):!1},l.Hb=function(){var t;return this.b!=0?this.b:this.a<54?(t=Oo(this.f),this.b=Mn(Nr(t,-1)),this.b=33*this.b+Mn(Nr(Ug(t,32),-1)),this.b=17*this.b+kr(this.e),this.b):(this.b=17*yYe(this.c)+kr(this.e),this.b)},l.Ib=function(){return Rrt(this)},l.a=0,l.b=0,l.d=0,l.e=0,l.f=0;var zat,Vp,qpe,zpe,Vpe,Upe,Gpe,Wpe,zW=j("java.math","BigDecimal",247);k(92,242,{3:1,34:1,242:1,92:1},ad,hVe,hp,xQe,U1),l.Fd=function(t){return bQe(this,c(t,92))},l.ue=function(){return em(UV(this,0))},l.Fb=function(t){return cle(this,t)},l.Hb=function(){return yYe(this)},l.Ib=function(){return UV(this,0)},l.b=-2,l.c=0,l.d=0,l.e=0;var Vat,mL,Uat,VW,vL,Jj,b2=j("java.math","BigInteger",92),Gat,Wat,D3,Yj;k(498,2065,Sw),l.$b=function(){ru(this)},l._b=function(t){return bc(this,t)},l.uc=function(t){return tYe(this,t,this.i)||tYe(this,t,this.f)},l.vc=function(){return new rp(this)},l.xc=function(t){return Yt(this,t)},l.zc=function(t,n){return Jn(this,t,n)},l.Bc=function(t){return t3(this,t)},l.gc=function(){return E6(this)},l.g=0,j(an,"AbstractHashMap",498),k(267,vf,Xc,rp),l.$b=function(){this.a.$b()},l.Hc=function(t){return KVe(this,t)},l.Kc=function(){return new jp(this.a)},l.Mc=function(t){var n;return KVe(this,t)?(n=c(t,44).ld(),this.a.Bc(n),!0):!1},l.gc=function(){return this.a.gc()},j(an,"AbstractHashMap/EntrySet",267),k(268,1,Rr,jp),l.Nb=function(t){Jr(this,t)},l.Pb=function(){return aw(this)},l.Ob=function(){return this.b},l.Qb=function(){bWe(this)},l.b=!1,l.d=0,j(an,"AbstractHashMap/EntrySetIterator",268),k(426,1,Rr,h6),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return EB(this)},l.Pb=function(){return poe(this)},l.Qb=function(){_u(this)},l.b=0,l.c=-1,j(an,"AbstractList/IteratorImpl",426),k(98,426,Ch,Vr),l.Qb=function(){_u(this)},l.Rb=function(t){Ab(this,t)},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Ub=function(){return rn(this.b>0),this.a.Xb(this.c=--this.b)},l.Vb=function(){return this.b-1},l.Wb=function(t){Mb(this.c!=-1),this.a.hd(this.c,t)},j(an,"AbstractList/ListIteratorImpl",98),k(244,56,jk,Jd),l.bd=function(t,n){$b(t,this.b),this.c.bd(this.a+t,n),++this.b},l.Xb=function(t){return St(t,this.b),this.c.Xb(this.a+t)},l.gd=function(t){var n;return St(t,this.b),n=this.c.gd(this.a+t),--this.b,n},l.hd=function(t,n){return St(t,this.b),this.c.hd(this.a+t,n)},l.gc=function(){return this.b},l.a=0,l.b=0,j(an,"AbstractList/SubList",244),k(266,vf,Xc,ip),l.$b=function(){this.a.$b()},l.Hc=function(t){return this.a._b(t)},l.Kc=function(){var t;return t=this.a.vc().Kc(),new FM(t)},l.Mc=function(t){return this.a._b(t)?(this.a.Bc(t),!0):!1},l.gc=function(){return this.a.gc()},j(an,"AbstractMap/1",266),k(541,1,Rr,FM),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var t;return t=c(this.a.Pb(),44),t.ld()},l.Qb=function(){this.a.Qb()},j(an,"AbstractMap/1/1",541),k(231,31,lm,td),l.$b=function(){this.a.$b()},l.Hc=function(t){return this.a.uc(t)},l.Kc=function(){var t;return t=this.a.vc().Kc(),new yb(t)},l.gc=function(){return this.a.gc()},j(an,"AbstractMap/2",231),k(301,1,Rr,yb),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var t;return t=c(this.a.Pb(),44),t.md()},l.Qb=function(){this.a.Qb()},j(an,"AbstractMap/2/1",301),k(494,1,{494:1,44:1}),l.Fb=function(t){var n;return ce(t,44)?(n=c(t,44),_o(this.d,n.ld())&&_o(this.e,n.md())):!1},l.ld=function(){return this.d},l.md=function(){return this.e},l.Hb=function(){return Nv(this.d)^Nv(this.e)},l.nd=function(t){return Lre(this,t)},l.Ib=function(){return this.d+"="+this.e},j(an,"AbstractMap/AbstractEntry",494),k(397,494,{494:1,397:1,44:1},bT),j(an,"AbstractMap/SimpleEntry",397),k(2082,1,jU),l.Fb=function(t){var n;return ce(t,44)?(n=c(t,44),_o(this.ld(),n.ld())&&_o(this.md(),n.md())):!1},l.Hb=function(){return Nv(this.ld())^Nv(this.md())},l.Ib=function(){return this.ld()+"="+this.md()},j(an,not,2082),k(2090,2065,Lhe),l.Xc=function(t){return mB(this.Ee(t))},l.tc=function(t){return WUe(this,t)},l._b=function(t){return Dre(this,t)},l.vc=function(){return new UF(this)},l.Tc=function(){return uqe(this.Ge())},l.Yc=function(t){return mB(this.He(t))},l.xc=function(t){var n;return n=t,Qs(this.Fe(n))},l.$c=function(t){return mB(this.Ie(t))},l.ec=function(){return new AAe(this)},l.Vc=function(){return uqe(this.Je())},l._c=function(t){return mB(this.Ke(t))},j(an,"AbstractNavigableMap",2090),k(629,vf,Xc,UF),l.Hc=function(t){return ce(t,44)&&WUe(this.b,c(t,44))},l.Kc=function(){return this.b.De()},l.Mc=function(t){var n;return ce(t,44)?(n=c(t,44),this.b.Le(n)):!1},l.gc=function(){return this.b.gc()},j(an,"AbstractNavigableMap/EntrySet",629),k(1146,vf,Dhe,AAe),l.Nc=function(){return new gT(this)},l.$b=function(){this.a.$b()},l.Hc=function(t){return Dre(this.a,t)},l.Kc=function(){var t;return t=this.a.vc().b.De(),new PAe(t)},l.Mc=function(t){return Dre(this.a,t)?(this.a.Bc(t),!0):!1},l.gc=function(){return this.a.gc()},j(an,"AbstractNavigableMap/NavigableKeySet",1146),k(1147,1,Rr,PAe),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return EB(this.a.a)},l.Pb=function(){var t;return t=ABe(this.a),t.ld()},l.Qb=function(){RHe(this.a)},j(an,"AbstractNavigableMap/NavigableKeySet/1",1147),k(2103,31,lm),l.Fc=function(t){return Ky(sk(this,t),Ek),!0},l.Gc=function(t){return Ut(t),$E(t!=this,"Can't add a queue to itself"),Gr(this,t)},l.$b=function(){for(;uq(this)!=null;);},j(an,"AbstractQueue",2103),k(310,31,{4:1,20:1,31:1,16:1},Tv,RVe),l.Fc=function(t){return Boe(this,t),!0},l.$b=function(){Uoe(this)},l.Hc=function(t){return jJe(new p8(this),t)},l.dc=function(){return k6(this)},l.Kc=function(){return new p8(this)},l.Mc=function(t){return UAt(new p8(this),t)},l.gc=function(){return this.c-this.b&this.a.length-1},l.Nc=function(){return new yt(this,272)},l.Qc=function(t){var n;return n=this.c-this.b&this.a.length-1,t.lengthn&&Vi(t,n,null),t},l.b=0,l.c=0,j(an,"ArrayDeque",310),k(459,1,Rr,p8),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return this.a!=this.b},l.Pb=function(){return UP(this)},l.Qb=function(){vXe(this)},l.a=0,l.b=0,l.c=-1,j(an,"ArrayDeque/IteratorImpl",459),k(13,56,bot,Re,ac,iu),l.bd=function(t,n){Vg(this,t,n)},l.Fc=function(t){return $e(this,t)},l.cd=function(t,n){return _ue(this,t,n)},l.Gc=function(t){return wr(this,t)},l.$b=function(){xb(this.c,0)},l.Hc=function(t){return to(this,t,0)!=-1},l.Jc=function(t){mc(this,t)},l.Xb=function(t){return Je(this,t)},l.dd=function(t){return to(this,t,0)},l.dc=function(){return this.c.length==0},l.Kc=function(){return new q(this)},l.gd=function(t){return Qd(this,t)},l.Mc=function(t){return Ac(this,t)},l.ce=function(t,n){oVe(this,t,n)},l.hd=function(t,n){return dl(this,t,n)},l.gc=function(){return this.c.length},l.jd=function(t){ir(this,t)},l.Pc=function(){return lA(this.c)},l.Qc=function(t){return wf(this,t)};var Lnn=j(an,"ArrayList",13);k(7,1,Rr,q),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return wo(this)},l.Pb=function(){return K(this)},l.Qb=function(){l8(this)},l.a=0,l.b=-1,j(an,"ArrayList/1",7),k(2112,w.Function,{},we),l.Me=function(t,n){return xi(t,n)},k(151,56,mot,nu),l.Hc=function(t){return yXe(this,t)!=-1},l.Jc=function(t){var n,i,r,o;for(Ut(t),i=this.a,r=0,o=i.length;r0)throw V(new Ft(Uhe+t+" greater than "+this.e));return this.f.Te()?Mze(this.c,this.b,this.a,t,n):cVe(this.c,t,n)},l.zc=function(t,n){if(!Dz(this.c,this.f,t,this.b,this.a,this.e,this.d))throw V(new Ft(t+" outside the range "+this.b+" to "+this.e));return BJe(this.c,t,n)},l.Bc=function(t){var n;return n=t,Dz(this.c,this.f,n,this.b,this.a,this.e,this.d)?Tze(this.c,n):null},l.Le=function(t){return MA(this,t.ld())&&fce(this.c,t)},l.gc=function(){var t,n,i;if(this.f.Te()?this.a?n=Q4(this.c,this.b,!0):n=Q4(this.c,this.b,!1):n=xce(this.c),!(n&&MA(this,n.d)&&n))return 0;for(t=0,i=new kq(this.c,this.f,this.b,this.a,this.e,this.d);EB(i.a);i.b=c(poe(i.a),44))++t;return t},l.ad=function(t,n){if(this.f.Te()&&this.c.a.Ne(t,this.b)<0)throw V(new Ft(Uhe+t+xot+this.b));return this.f.Ue()?Mze(this.c,t,n,this.e,this.d):uVe(this.c,t,n)},l.a=!1,l.d=!1,j(an,"TreeMap/SubMap",631),k(304,22,NU,wT),l.Te=function(){return!1},l.Ue=function(){return!1};var WW,XW,JW,YW,xL=gn(an,"TreeMap/SubMapType",304,xn,v_t,MIt);k(1143,304,NU,LFe),l.Ue=function(){return!0},gn(an,"TreeMap/SubMapType/1",1143,xL,null,null),k(1144,304,NU,zFe),l.Te=function(){return!0},l.Ue=function(){return!0},gn(an,"TreeMap/SubMapType/2",1144,xL,null,null),k(1145,304,NU,OFe),l.Te=function(){return!0},gn(an,"TreeMap/SubMapType/3",1145,xL,null,null);var nft;k(157,vf,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},fne,zd,Dx),l.Nc=function(){return new gT(this)},l.Fc=function(t){return HE(this,t)},l.$b=function(){this.a.$b()},l.Hc=function(t){return this.a._b(t)},l.Kc=function(){return this.a.ec().Kc()},l.Mc=function(t){return wH(this,t)},l.gc=function(){return this.a.gc()};var Hnn=j(an,"TreeSet",157);k(1082,1,{},DAe),l.Ve=function(t,n){return U7t(this.a,t,n)},j(CU,"BinaryOperator/lambda$0$Type",1082),k(1083,1,{},RAe),l.Ve=function(t,n){return G7t(this.a,t,n)},j(CU,"BinaryOperator/lambda$1$Type",1083),k(952,1,{},un),l.Kb=function(t){return t},j(CU,"Function/lambda$0$Type",952),k(395,1,On,Rx),l.Mb=function(t){return!this.a.Mb(t)},j(CU,"Predicate/lambda$2$Type",395),k(581,1,{581:1});var ift=j(yj,"Handler",581);k(2107,1,yI),l.xe=function(){return"DUMMY"},l.Ib=function(){return this.xe()};var tge;j(yj,"Level",2107),k(1706,2107,yI,Bn),l.xe=function(){return"INFO"},j(yj,"Level/LevelInfo",1706),k(1843,1,{},lLe);var QW;j(yj,"LogManager",1843),k(1896,1,yI,DHe),l.b=null,j(yj,"LogRecord",1896),k(525,1,{525:1},HK),l.e=!1;var rft=!1,sft=!1,jf=!1,oft=!1,cft=!1;j(yj,"Logger",525),k(835,581,{581:1},vn),j(yj,"SimpleConsoleLogHandler",835),k(108,22,{3:1,34:1,22:1,108:1},CB);var nge,ao,vm,Ws=gn(mr,"Collector/Characteristics",108,xn,oPt,TIt),uft;k(758,1,{},Gse),j(mr,"CollectorImpl",758),k(1074,1,{},ft),l.Ve=function(t,n){return B$t(c(t,213),c(n,213))},j(mr,"Collectors/10methodref$merge$Type",1074),k(1075,1,{},zt),l.Kb=function(t){return $Ve(c(t,213))},j(mr,"Collectors/11methodref$toString$Type",1075),k(1076,1,{},$Ae),l.Kb=function(t){return _t(),!!Hie(t)},j(mr,"Collectors/12methodref$test$Type",1076),k(144,1,{},vt),l.Yd=function(t,n){c(t,16).Fc(n)},j(mr,"Collectors/20methodref$add$Type",144),k(146,1,{},pn),l.Xe=function(){return new Re},j(mr,"Collectors/21methodref$ctor$Type",146),k(359,1,{},ln),l.Xe=function(){return new sr},j(mr,"Collectors/23methodref$ctor$Type",359),k(360,1,{},Dt),l.Yd=function(t,n){gr(c(t,49),n)},j(mr,"Collectors/24methodref$add$Type",360),k(1069,1,{},ji),l.Ve=function(t,n){return MRe(c(t,15),c(n,16))},j(mr,"Collectors/4methodref$addAll$Type",1069),k(1073,1,{},Hi),l.Yd=function(t,n){fd(c(t,213),c(n,484))},j(mr,"Collectors/9methodref$add$Type",1073),k(1072,1,{},ZHe),l.Xe=function(){return new Sp(this.a,this.b,this.c)},j(mr,"Collectors/lambda$15$Type",1072),k(1077,1,{},Wr),l.Xe=function(){var t;return t=new Yd,u1(t,(_t(),!1),new Re),u1(t,!0,new Re),t},j(mr,"Collectors/lambda$22$Type",1077),k(1078,1,{},FAe),l.Xe=function(){return J(W(Cr,1),Mt,1,5,[this.a])},j(mr,"Collectors/lambda$25$Type",1078),k(1079,1,{},BAe),l.Yd=function(t,n){hMt(this.a,yp(t))},j(mr,"Collectors/lambda$26$Type",1079),k(1080,1,{},HAe),l.Ve=function(t,n){return BMt(this.a,yp(t),yp(n))},j(mr,"Collectors/lambda$27$Type",1080),k(1081,1,{},Vo),l.Kb=function(t){return yp(t)[0]},j(mr,"Collectors/lambda$28$Type",1081),k(728,1,{},ni),l.Ve=function(t,n){return Nse(t,n)},j(mr,"Collectors/lambda$4$Type",728),k(145,1,{},oi),l.Ve=function(t,n){return x9t(c(t,16),c(n,16))},j(mr,"Collectors/lambda$42$Type",145),k(361,1,{},Hr),l.Ve=function(t,n){return k9t(c(t,49),c(n,49))},j(mr,"Collectors/lambda$50$Type",361),k(362,1,{},Ro),l.Kb=function(t){return c(t,49)},j(mr,"Collectors/lambda$51$Type",362),k(1068,1,{},KAe),l.Yd=function(t,n){URt(this.a,c(t,85),n)},j(mr,"Collectors/lambda$7$Type",1068),k(1070,1,{},Fs),l.Ve=function(t,n){return kRt(c(t,85),c(n,85),new ji)},j(mr,"Collectors/lambda$8$Type",1070),k(1071,1,{},qAe),l.Kb=function(t){return vFt(this.a,c(t,85))},j(mr,"Collectors/lambda$9$Type",1071),k(550,1,{}),l.$e=function(){d8(this)},l.d=!1,j(mr,"TerminatableStream",550),k(827,550,Ghe,Ire),l.$e=function(){d8(this)},j(mr,"DoubleStreamImpl",827),k(1847,736,Ju,eKe),l.Re=function(t){return kHt(this,c(t,189))},l.a=null,j(mr,"DoubleStreamImpl/2",1847),k(1848,1,MI,zAe),l.Pe=function(t){gEt(this.a,t)},j(mr,"DoubleStreamImpl/2/lambda$0$Type",1848),k(1845,1,MI,VAe),l.Pe=function(t){pEt(this.a,t)},j(mr,"DoubleStreamImpl/lambda$0$Type",1845),k(1846,1,MI,UAe),l.Pe=function(t){eQe(this.a,t)},j(mr,"DoubleStreamImpl/lambda$2$Type",1846),k(1397,735,Ju,qUe),l.Re=function(t){return u_t(this,c(t,202))},l.a=0,l.b=0,l.c=0,j(mr,"IntStream/5",1397),k(806,550,Ghe,Nre),l.$e=function(){d8(this)},l._e=function(){return J1(this),this.a},j(mr,"IntStreamImpl",806),k(807,550,Ghe,Qne),l.$e=function(){d8(this)},l._e=function(){return J1(this),ure(),tft},j(mr,"IntStreamImpl/Empty",807),k(1687,1,kI,GAe),l.Dd=function(t){aJe(this.a,t)},j(mr,"IntStreamImpl/lambda$4$Type",1687);var Knn=qi(mr,"Stream");k(26,550,{533:1,687:1,848:1},gt),l.$e=function(){d8(this)};var R3;j(mr,"StreamImpl",26),k(1102,500,Ju,CHe),l.Bd=function(t){for(;fLt(this);){if(this.a.Bd(t))return!0;d8(this.b),this.b=null,this.a=null}return!1},j(mr,"StreamImpl/1",1102),k(1103,1,Zt,WAe),l.Cd=function(t){$Ct(this.a,c(t,848))},j(mr,"StreamImpl/1/lambda$0$Type",1103),k(1104,1,On,XAe),l.Mb=function(t){return gr(this.a,t)},j(mr,"StreamImpl/1methodref$add$Type",1104),k(1105,500,Ju,uze),l.Bd=function(t){var n;return this.a||(n=new Re,this.b.a.Nb(new JAe(n)),jt(),ir(n,this.c),this.a=new yt(n,16)),VWe(this.a,t)},l.a=null,j(mr,"StreamImpl/5",1105),k(1106,1,Zt,JAe),l.Cd=function(t){$e(this.a,t)},j(mr,"StreamImpl/5/2methodref$add$Type",1106),k(737,500,Ju,kce),l.Bd=function(t){for(this.b=!1;!this.b&&this.c.Bd(new URe(this,t)););return this.b},l.b=!1,j(mr,"StreamImpl/FilterSpliterator",737),k(1096,1,Zt,URe),l.Cd=function(t){OMt(this.a,this.b,t)},j(mr,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),k(1091,736,Ju,eGe),l.Re=function(t){return pIt(this,c(t,189))},j(mr,"StreamImpl/MapToDoubleSpliterator",1091),k(1095,1,Zt,GRe),l.Cd=function(t){$9t(this.a,this.b,t)},j(mr,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),k(1090,735,Ju,tGe),l.Re=function(t){return gIt(this,c(t,202))},j(mr,"StreamImpl/MapToIntSpliterator",1090),k(1094,1,Zt,WRe),l.Cd=function(t){F9t(this.a,this.b,t)},j(mr,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),k(734,500,Ju,cce),l.Bd=function(t){return EHe(this,t)},j(mr,"StreamImpl/MapToObjSpliterator",734),k(1093,1,Zt,XRe),l.Cd=function(t){B9t(this.a,this.b,t)},j(mr,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),k(1092,500,Ju,TXe),l.Bd=function(t){for(;IB(this.b,0);){if(!this.a.Bd(new oa))return!1;this.b=Hl(this.b,1)}return this.a.Bd(t)},l.b=0,j(mr,"StreamImpl/SkipSpliterator",1092),k(1097,1,Zt,oa),l.Cd=function(t){},j(mr,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),k(626,1,Zt,Nu),l.Cd=function(t){IAe(this,t)},j(mr,"StreamImpl/ValueConsumer",626),k(1098,1,Zt,Z0),l.Cd=function(t){up()},j(mr,"StreamImpl/lambda$0$Type",1098),k(1099,1,Zt,Rt),l.Cd=function(t){up()},j(mr,"StreamImpl/lambda$1$Type",1099),k(1100,1,{},YAe),l.Ve=function(t,n){return GIt(this.a,t,n)},j(mr,"StreamImpl/lambda$4$Type",1100),k(1101,1,Zt,JRe),l.Cd=function(t){Z7t(this.b,this.a,t)},j(mr,"StreamImpl/lambda$5$Type",1101),k(1107,1,Zt,QAe),l.Cd=function(t){aRt(this.a,c(t,380))},j(mr,"TerminatableStream/lambda$0$Type",1107),k(2142,1,{}),k(2014,1,{},hi),j("javaemul.internal","ConsoleLogger",2014);var qnn=0;k(2134,1,{}),k(1830,1,Zt,Ki),l.Cd=function(t){c(t,317)},j(Ik,"BowyerWatsonTriangulation/lambda$0$Type",1830),k(1831,1,Zt,ZAe),l.Cd=function(t){Gr(this.a,c(t,317).e)},j(Ik,"BowyerWatsonTriangulation/lambda$1$Type",1831),k(1832,1,Zt,pr),l.Cd=function(t){c(t,177)},j(Ik,"BowyerWatsonTriangulation/lambda$2$Type",1832),k(1827,1,Dn,ePe),l.Ne=function(t,n){return G_t(this.a,c(t,177),c(n,177))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Ik,"NaiveMinST/lambda$0$Type",1827),k(449,1,{},d6),j(Ik,"NodeMicroLayout",449),k(177,1,{177:1},Ay),l.Fb=function(t){var n;return ce(t,177)?(n=c(t,177),_o(this.a,n.a)&&_o(this.b,n.b)||_o(this.a,n.b)&&_o(this.b,n.a)):!1},l.Hb=function(){return Nv(this.a)+Nv(this.b)};var znn=j(Ik,"TEdge",177);k(317,1,{317:1},che),l.Fb=function(t){var n;return ce(t,317)?(n=c(t,317),hP(this,n.a)&&hP(this,n.b)&&hP(this,n.c)):!1},l.Hb=function(){return Nv(this.a)+Nv(this.b)+Nv(this.c)},j(Ik,"TTriangle",317),k(225,1,{225:1},qT),j(Ik,"Tree",225),k(1218,1,{},Gze),j(Sot,"Scanline",1218);var lft=qi(Sot,Eot);k(1758,1,{},KWe),j(Ph,"CGraph",1758),k(316,1,{316:1},Jze),l.b=0,l.c=0,l.d=0,l.g=0,l.i=0,l.k=br,j(Ph,"CGroup",316),k(830,1,{},pne),j(Ph,"CGroup/CGroupBuilder",830),k(60,1,{60:1},uHe),l.Ib=function(){var t;return this.j?_n(this.j.Kb(this)):(sd(kL),kL.o+"@"+(t=Kg(this)>>>0,t.toString(16)))},l.f=0,l.i=br;var kL=j(Ph,"CNode",60);k(829,1,{},gne),j(Ph,"CNode/CNodeBuilder",829);var aft;k(1590,1,{},ds),l.ff=function(t,n){return 0},l.gf=function(t,n){return 0},j(Ph,Not,1590),k(1853,1,{},Bs),l.cf=function(t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H;for(v=Li,r=new q(t.a.b);r.ar.d.c||r.d.c==a.d.c&&r.d.b0?t+this.n.d+this.n.a:0},l.kf=function(){var t,n,i,r,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].kf());else if(this.g)o=sle(this,$z(this,null,!0));else for(n=(Ga(),J(W(ym,1),Ce,237,0,[Mo,pc,To])),i=0,r=n.length;i0?o+this.n.b+this.n.c:0},l.lf=function(){var t,n,i,r,o;if(this.g)for(t=$z(this,null,!1),i=(Ga(),J(W(ym,1),Ce,237,0,[Mo,pc,To])),r=0,o=i.length;r0&&(r[0]+=this.d,i-=r[0]),r[2]>0&&(r[2]+=this.d,i-=r[2]),this.c.a=w.Math.max(0,i),this.c.d=n.d+t.d+(this.c.a-i)/2,r[1]=w.Math.max(r[1],i),ice(this,pc,n.d+t.d+r[0]-(r[1]-i)/2,r)},l.b=null,l.d=0,l.e=!1,l.f=!1,l.g=!1;var iX=0,jL=0;j(Lp,"GridContainerCell",1538),k(471,22,{3:1,34:1,22:1,471:1},TB);var y0,ch,ka,yft=gn(Lp,"HorizontalLabelAlignment",471,xn,uPt,LIt),xft;k(314,217,{217:1,314:1},_ze,zWe,Ize),l.jf=function(){return dKe(this)},l.kf=function(){return xse(this)},l.a=0,l.c=!1;var Vnn=j(Lp,"LabelCell",314);k(252,336,{217:1,336:1,252:1},q8),l.jf=function(){return Z8(this)},l.kf=function(){return ej(this)},l.lf=function(){IV(this)},l.mf=function(){NV(this)},l.b=0,l.c=0,l.d=!1,j(Lp,"StripContainerCell",252),k(1691,1,On,tu),l.Mb=function(t){return LSt(c(t,217))},j(Lp,"StripContainerCell/lambda$0$Type",1691),k(1692,1,{},Da),l.Ye=function(t){return c(t,217).kf()},j(Lp,"StripContainerCell/lambda$1$Type",1692),k(1693,1,On,Dl),l.Mb=function(t){return DSt(c(t,217))},j(Lp,"StripContainerCell/lambda$2$Type",1693),k(1694,1,{},Cc),l.Ye=function(t){return c(t,217).jf()},j(Lp,"StripContainerCell/lambda$3$Type",1694),k(472,22,{3:1,34:1,22:1,472:1},AB);var ja,x0,Qa,kft=gn(Lp,"VerticalLabelAlignment",472,xn,cPt,DIt),jft;k(800,1,{},She),l.c=0,l.d=0,l.k=0,l.s=0,l.t=0,l.v=!1,l.w=0,l.D=!1,l.F=!1,j(aO,"NodeContext",800),k(1536,1,Dn,ed),l.Ne=function(t,n){return EFe(c(t,64),c(n,64))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(aO,"NodeContext/0methodref$comparePortSides$Type",1536),k(1537,1,Dn,vb),l.Ne=function(t,n){return fzt(c(t,117),c(n,117))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(aO,"NodeContext/1methodref$comparePortContexts$Type",1537),k(164,22,{3:1,34:1,22:1,164:1},wl);var Sft,Eft,Ift,Nft,Cft,Mft,Tft,Aft,Pft,_ft,Oft,Lft,Dft,Rft,$ft,Fft,Bft,Hft,Kft,qft,zft,rX,Vft=gn(aO,"NodeLabelLocation",164,xn,gz,RIt),Uft;k(117,1,{117:1},Ott),l.a=!1,j(aO,"PortContext",117),k(1541,1,Zt,Ra),l.Cd=function(t){zDe(c(t,314))},j(AI,Bot,1541),k(1542,1,On,$1),l.Mb=function(t){return!!c(t,117).c},j(AI,Hot,1542),k(1543,1,Zt,F1),l.Cd=function(t){zDe(c(t,117).c)},j(AI,"LabelPlacer/lambda$2$Type",1543);var Sge;k(1540,1,Zt,wy),l.Cd=function(t){Tb(),pSt(c(t,117))},j(AI,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),k(801,1,Zt,ese),l.Cd=function(t){C9t(this.b,this.c,this.a,c(t,187))},l.a=!1,l.c=!1,j(AI,"NodeLabelCellCreator/lambda$0$Type",801),k(1539,1,Zt,iPe),l.Cd=function(t){bSt(this.a,c(t,187))},j(AI,"PortContextCreator/lambda$0$Type",1539);var SL;k(1902,1,{},by),j(Ck,"GreedyRectangleStripOverlapRemover",1902),k(1903,1,Dn,hF),l.Ne=function(t,n){return o7t(c(t,226),c(n,226))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Ck,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),k(1849,1,{},dLe),l.a=5,l.e=0,j(Ck,"RectangleStripOverlapRemover",1849),k(1850,1,Dn,dF),l.Ne=function(t,n){return c7t(c(t,226),c(n,226))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Ck,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),k(1852,1,Dn,pF),l.Ne=function(t,n){return JMt(c(t,226),c(n,226))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Ck,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),k(417,22,{3:1,34:1,22:1,417:1},mT);var iN,sX,oX,rN,Gft=gn(Ck,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,xn,k_t,$It),Wft;k(226,1,{226:1},UH),j(Ck,"RectangleStripOverlapRemover/RectangleNode",226),k(1851,1,Zt,rPe),l.Cd=function(t){RHt(this.a,c(t,226))},j(Ck,"RectangleStripOverlapRemover/lambda$1$Type",1851),k(1323,1,Dn,gF),l.Ne=function(t,n){return nZt(c(t,176),c(n,176))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(eh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),k(1326,1,{},wF),l.Kb=function(t){return c(t,334).a},j(eh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),k(1327,1,On,bF),l.Mb=function(t){return c(t,332).a},j(eh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),k(1328,1,On,CM),l.Mb=function(t){return c(t,332).a},j(eh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),k(1321,1,Dn,mF),l.Ne=function(t,n){return _Jt(c(t,176),c(n,176))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(eh,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),k(1324,1,{},vF),l.Kb=function(t){return c(t,334).a},j(eh,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),k(781,1,Dn,MM),l.Ne=function(t,n){return gRt(c(t,176),c(n,176))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(eh,"PolyominoCompactor/MinNumOfExtensionsComparator",781),k(1319,1,Dn,yF),l.Ne=function(t,n){return jDt(c(t,330),c(n,330))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(eh,"PolyominoCompactor/MinPerimeterComparator",1319),k(1320,1,Dn,xF),l.Ne=function(t,n){return cHt(c(t,330),c(n,330))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(eh,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),k(1322,1,Dn,kF),l.Ne=function(t,n){return ZJt(c(t,176),c(n,176))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(eh,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),k(1325,1,{},jF),l.Kb=function(t){return c(t,334).a},j(eh,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),k(782,1,{},fie),l.Ve=function(t,n){return p_t(this,c(t,42),c(n,176))},j(eh,"SuccessorCombination",782),k(649,1,{},q9),l.Ve=function(t,n){var i;return TUt((i=c(t,42),c(n,176),i))},j(eh,"SuccessorJitter",649),k(648,1,{},l6),l.Ve=function(t,n){var i;return wXt((i=c(t,42),c(n,176),i))},j(eh,"SuccessorLineByLine",648),k(573,1,{},a6),l.Ve=function(t,n){var i;return TGt((i=c(t,42),c(n,176),i))},j(eh,"SuccessorManhattan",573),k(1344,1,{},SF),l.Ve=function(t,n){var i;return BWt((i=c(t,42),c(n,176),i))},j(eh,"SuccessorMaxNormWindingInMathPosSense",1344),k(409,1,{},$x),l.Ve=function(t,n){return Vse(this,t,n)},l.c=!1,l.d=!1,l.e=!1,l.f=!1,j(eh,"SuccessorQuadrantsGeneric",409),k(1345,1,{},EF),l.Kb=function(t){return c(t,334).a},j(eh,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),k(332,22,{3:1,34:1,22:1,332:1},vT),l.a=!1;var sN,oN,cN,uN,Xft=gn(hO,rde,332,xn,y_t,FIt),Jft;k(1317,1,{}),l.Ib=function(){var t,n,i,r,o,a;for(i=" ",t=De(0),o=0;o=0?"b"+t+"["+BK(this.a)+"]":"b["+BK(this.a)+"]"):"b_"+Kg(this)},j(_I,"FBendpoint",250),k(290,137,{3:1,290:1,96:1,137:1},lHe),l.Ib=function(){return BK(this)},j(_I,"FEdge",290),k(235,137,{3:1,235:1,96:1,137:1},nP);var Gnn=j(_I,"FGraph",235);k(454,309,{3:1,454:1,309:1,96:1,137:1},fUe),l.Ib=function(){return this.b==null||this.b.length==0?"l["+BK(this.a)+"]":"l_"+this.b},j(_I,"FLabel",454),k(153,309,{3:1,153:1,309:1,96:1,137:1},qFe),l.Ib=function(){return Poe(this)},l.a=0,j(_I,"FNode",153),k(2100,1,{}),l.vf=function(t){nhe(this,t)},l.wf=function(){hZe(this)},l.d=0,j(dde,"AbstractForceModel",2100),k(641,2100,{641:1},lJe),l.uf=function(t,n){var i,r,o,a,h;return Hrt(this.f,t,n),o=Ir(Xr(n.d),t.d),h=w.Math.sqrt(o.a*o.a+o.b*o.b),r=w.Math.max(0,h-h8(t.e)/2-h8(n.e)/2),i=jtt(this.e,t,n),i>0?a=-GMt(r,this.c)*i:a=k7t(r,this.b)*c(D(t,(ya(),$3)),17).a,Bf(o,a/h),o},l.vf=function(t){nhe(this,t),this.a=c(D(t,(ya(),TL)),17).a,this.c=pe(ye(D(t,AL))),this.b=pe(ye(D(t,dX)))},l.xf=function(t){return t0&&(a-=ASt(r,this.a)*i),Bf(o,a*this.b/h),o},l.vf=function(t){var n,i,r,o,a,h,p;for(nhe(this,t),this.b=pe(ye(D(t,(ya(),pX)))),this.c=this.b/c(D(t,TL),17).a,r=t.e.c.length,a=0,o=0,p=new q(t.e);p.a0},l.a=0,l.b=0,l.c=0,j(dde,"FruchtermanReingoldModel",642),k(860,1,zl,rTe),l.hf=function(t){ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,gO),""),"Force Model"),"Determines the model for force calculation."),_ge),(f1(),Di)),Oge),lt((Xa(),Ct))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,pde),""),"Iterations"),"The number of iterations on the force model."),De(300)),fo),es),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,gde),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),De(0)),fo),es),lt(fh)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,UU),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),th),us),dr),lt(Ct)))),lr(t,UU,gO,wht),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,GU),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),us),dr),lt(Ct)))),lr(t,GU,gO,dht),Mst((new sTe,t))};var aht,fht,_ge,hht,dht,pht,ght,wht;j(jj,"ForceMetaDataProvider",860),k(432,22,{3:1,34:1,22:1,432:1},die);var hX,ML,Oge=gn(jj,"ForceModelStrategy",432,xn,pAt,KIt),bht;k(d1,1,zl,sTe),l.hf=function(t){Mst(t)};var mht,vht,Lge,TL,Dge,yht,xht,kht,jht,Rge,Sht,$ge,Fge,Eht,$3,Iht,dX,Bge,Nht,Cht,AL,pX,Mht,Tht,Aht,Hge,Pht;j(jj,"ForceOptions",d1),k(1001,1,{},v8e),l.sf=function(){var t;return t=new dne,t},l.tf=function(t){},j(jj,"ForceOptions/ForceFactory",1001);var fN,eS,F3,PL;k(861,1,zl,oTe),l.hf=function(t){ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,bde),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(_t(),!1)),(f1(),Mr)),Zi),lt((Xa(),Sr))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,mde),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),us),dr),Ci(Ct,J(W(Fh,1),Ce,170,0,[fh]))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,vde),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),Kge),Di),Xge),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,yde),""),"Stress Epsilon"),"Termination criterion for the iterative process."),th),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,xde),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),De(ui)),fo),es),lt(Ct)))),ist((new cTe,t))};var _ht,Oht,Kge,Lht,Dht,Rht;j(jj,"StressMetaDataProvider",861),k(1004,1,zl,cTe),l.hf=function(t){ist(t)};var _L,qge,zge,Vge,Uge,Gge,$ht,Fht,Bht,Hht,Wge,Kht;j(jj,"StressOptions",1004),k(1005,1,{},b8e),l.sf=function(){var t;return t=new aHe,t},l.tf=function(t){},j(jj,"StressOptions/StressFactory",1005),k(1110,205,Dp,aHe),l.rf=function(t,n){var i,r,o,a,h;for(n.Ug(ect,1),Xe(We(Me(t,(U7(),Uge))))?Xe(We(Me(t,Wge)))||XE((i=new d6((Dg(),new Cg(t))),i)):ynt(new dne,t,n.eh(1)),o=_Je(t),r=hrt(this.a,o),h=r.Kc();h.Ob();)a=c(h.Pb(),235),!(a.e.c.length<=1)&&(ZQt(this.b,a),EGt(this.b),mc(a.d,new m8e));o=Ist(r),Dst(o),n.Vg()},j(mO,"StressLayoutProvider",1110),k(1111,1,Zt,m8e),l.Cd=function(t){ahe(c(t,454))},j(mO,"StressLayoutProvider/lambda$0$Type",1111),k(1002,1,{},uLe),l.c=0,l.e=0,l.g=0,j(mO,"StressMajorization",1002),k(391,22,{3:1,34:1,22:1,391:1},PB);var gX,wX,bX,Xge=gn(mO,"StressMajorization/Dimension",391,xn,aPt,qIt),qht;k(1003,1,Dn,uPe),l.Ne=function(t,n){return bIt(this.a,c(t,153),c(n,153))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(mO,"StressMajorization/lambda$0$Type",1003),k(1192,1,{},wVe),j(P3,"ElkLayered",1192),k(1193,1,Zt,lPe),l.Cd=function(t){eUt(this.a,c(t,36))},j(P3,"ElkLayered/lambda$0$Type",1193),k(1194,1,Zt,aPe),l.Cd=function(t){mIt(this.a,c(t,36))},j(P3,"ElkLayered/lambda$1$Type",1194),k(1281,1,{},ZFe);var zht,Vht,Uht;j(P3,"GraphConfigurator",1281),k(770,1,Zt,Yte),l.Cd=function(t){Net(this.a,c(t,10))},j(P3,"GraphConfigurator/lambda$0$Type",770),k(771,1,{},ute),l.Kb=function(t){return Zle(),new gt(null,new yt(c(t,30).a,16))},j(P3,"GraphConfigurator/lambda$1$Type",771),k(772,1,Zt,Qte),l.Cd=function(t){Net(this.a,c(t,10))},j(P3,"GraphConfigurator/lambda$2$Type",772),k(1109,205,Dp,pLe),l.rf=function(t,n){var i;i=OQt(new wLe,t),be(Me(t,(Ge(),Tm)))===be((wd(),E1))?hFt(this.a,i,n):xGt(this.a,i,n),n.$g()||vst(new uTe,i)},j(P3,"LayeredLayoutProvider",1109),k(367,22,{3:1,34:1,22:1,367:1},lE);var Sa,Dh,Xo,sc,ro,Jge=gn(P3,"LayeredPhases",367,xn,pOt,zIt),Ght;k(1717,1,{},NXe),l.i=0;var Wht;j(FI,"ComponentsToCGraphTransformer",1717);var Xht;k(1718,1,{},w8e),l.yf=function(t,n){return w.Math.min(t.a!=null?pe(t.a):t.c.i,n.a!=null?pe(n.a):n.c.i)},l.zf=function(t,n){return w.Math.min(t.a!=null?pe(t.a):t.c.i,n.a!=null?pe(n.a):n.c.i)},j(FI,"ComponentsToCGraphTransformer/1",1718),k(86,1,{86:1}),l.i=0,l.k=!0,l.o=br;var mX=j(Nj,"CNode",86);k(470,86,{470:1,86:1},bre,Nle),l.Ib=function(){return""},j(FI,"ComponentsToCGraphTransformer/CRectNode",470),k(1688,1,{},y8e);var vX,yX;j(FI,"OneDimensionalComponentsCompaction",1688),k(1689,1,{},x8e),l.Kb=function(t){return tPt(c(t,42))},l.Fb=function(t){return this===t},j(FI,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),k(1690,1,{},k8e),l.Kb=function(t){return pFt(c(t,42))},l.Fb=function(t){return this===t},j(FI,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),k(1720,1,{},jqe),j(Nj,"CGraph",1720),k(194,1,{194:1},hz),l.b=0,l.c=0,l.e=0,l.g=!0,l.i=br,j(Nj,"CGroup",194),k(1719,1,{},j8e),l.yf=function(t,n){return w.Math.max(t.a!=null?pe(t.a):t.c.i,n.a!=null?pe(n.a):n.c.i)},l.zf=function(t,n){return w.Math.max(t.a!=null?pe(t.a):t.c.i,n.a!=null?pe(n.a):n.c.i)},j(Nj,Not,1719),k(1721,1,{},Ett),l.d=!1;var Jht,xX=j(Nj,Tot,1721);k(1722,1,{},S8e),l.Kb=function(t){return eie(),_t(),c(c(t,42).a,86).d.e!=0},l.Fb=function(t){return this===t},j(Nj,Aot,1722),k(833,1,{},Cse),l.a=!1,l.b=!1,l.c=!1,l.d=!1,j(Nj,Pot,833),k(1898,1,{},FKe),j(vO,_ot,1898);var hN=qi($p,Eot);k(1899,1,{382:1},vze),l.bf=function(t){MXt(this,c(t,476))},j(vO,Oot,1899),k(d0,1,Dn,E8e),l.Ne=function(t,n){return $Tt(c(t,86),c(n,86))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(vO,Lot,d0),k(476,1,{476:1},gie),l.a=!1,j(vO,Dot,476),k(1901,1,Dn,I8e),l.Ne=function(t,n){return FKt(c(t,476),c(n,476))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(vO,Rot,1901),k(148,1,{148:1},Yx,fse),l.Fb=function(t){var n;return t==null||Wnn!=Ou(t)?!1:(n=c(t,148),_o(this.c,n.c)&&_o(this.d,n.d))},l.Hb=function(){return P7(J(W(Cr,1),Mt,1,5,[this.c,this.d]))},l.Ib=function(){return"("+this.c+bs+this.d+(this.a?"cx":"")+this.b+")"},l.a=!0,l.c=0,l.d=0;var Wnn=j($p,"Point",148);k(416,22,{3:1,34:1,22:1,416:1},xT);var Lw,xm,v2,km,Yht=gn($p,"Point/Quadrant",416,xn,j_t,VIt),Qht;k(1708,1,{},hLe),l.b=null,l.c=null,l.d=null,l.e=null,l.f=null;var Zht,edt,tdt,ndt,idt;j($p,"RectilinearConvexHull",1708),k(583,1,{382:1},f_),l.bf=function(t){dLt(this,c(t,148))},l.b=0;var Yge;j($p,"RectilinearConvexHull/MaximalElementsEventHandler",583),k(1710,1,Dn,N8e),l.Ne=function(t,n){return FTt(ye(t),ye(n))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j($p,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),k(1709,1,{382:1},qWe),l.bf=function(t){zWt(this,c(t,148))},l.a=0,l.b=null,l.c=null,l.d=null,l.e=null,j($p,"RectilinearConvexHull/RectangleEventHandler",1709),k(1711,1,Dn,C8e),l.Ne=function(t,n){return GPt(c(t,148),c(n,148))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j($p,"RectilinearConvexHull/lambda$0$Type",1711),k(1712,1,Dn,A8e),l.Ne=function(t,n){return WPt(c(t,148),c(n,148))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j($p,"RectilinearConvexHull/lambda$1$Type",1712),k(1713,1,Dn,P8e),l.Ne=function(t,n){return UPt(c(t,148),c(n,148))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j($p,"RectilinearConvexHull/lambda$2$Type",1713),k(1714,1,Dn,T8e),l.Ne=function(t,n){return XPt(c(t,148),c(n,148))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j($p,"RectilinearConvexHull/lambda$3$Type",1714),k(1715,1,Dn,_8e),l.Ne=function(t,n){return Izt(c(t,148),c(n,148))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j($p,"RectilinearConvexHull/lambda$4$Type",1715),k(1716,1,{},Wze),j($p,"Scanline",1716),k(2104,1,{}),j(xf,"AbstractGraphPlacer",2104),k(335,1,{335:1},LBe),l.Ff=function(t){return this.Gf(t)?(mt(this.b,c(D(t,(Pe(),Cd)),21),t),!0):!1},l.Gf=function(t){var n,i,r,o;for(n=c(D(t,(Pe(),Cd)),21),o=c(pi(ki,n),21),r=o.Kc();r.Ob();)if(i=c(r.Pb(),21),!c(pi(this.b,i),15).dc())return!1;return!0};var ki;j(xf,"ComponentGroup",335),k(779,2104,{},wne),l.Hf=function(t){var n,i;for(i=new q(this.a);i.ai&&(y=0,E+=p+r,p=0),b=a.c,hk(a,y+b.a,E+b.b),Ha(b),o=w.Math.max(o,y+v.a),p=w.Math.max(p,v.b),y+=v.a+r;n.f.a=o,n.f.b=E+p},l.Jf=function(t,n){var i,r,o,a,h;if(be(D(n,(Ge(),Mm)))===be((Cp(),jm))){for(r=t.Kc();r.Ob();){for(i=c(r.Pb(),36),h=0,a=new q(i.a);a.ai&&!c(D(a,(Pe(),Cd)),21).Hc((qe(),Ht))||b&&c(D(b,(Pe(),Cd)),21).Hc((qe(),Xt))||c(D(a,(Pe(),Cd)),21).Hc((qe(),qt)))&&(A=E,L+=p+r,p=0),v=a.c,c(D(a,(Pe(),Cd)),21).Hc((qe(),Ht))&&(A=o+r),hk(a,A+v.a,L+v.b),o=w.Math.max(o,A+y.a),c(D(a,Cd),21).Hc(fn)&&(E=w.Math.max(E,A+y.a+r)),Ha(v),p=w.Math.max(p,y.b),A+=y.a+r,b=a;n.f.a=o,n.f.b=L+p},l.Jf=function(t,n){},j(xf,"ModelOrderRowGraphPlacer",1313),k(1311,1,Dn,D8e),l.Ne=function(t,n){return hRt(c(t,36),c(n,36))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(xf,"SimpleRowGraphPlacer/1",1311);var sdt;k(1280,1,Zf,R8e),l.Lb=function(t){var n;return n=c(D(c(t,249).b,(Ge(),Xs)),75),!!n&&n.b!=0},l.Fb=function(t){return this===t},l.Mb=function(t){var n;return n=c(D(c(t,249).b,(Ge(),Xs)),75),!!n&&n.b!=0},j(yO,"CompoundGraphPostprocessor/1",1280),k(1279,1,Ii,bLe),l.Kf=function(t,n){UQe(this,c(t,36),n)},j(yO,"CompoundGraphPreprocessor",1279),k(453,1,{453:1},DYe),l.c=!1,j(yO,"CompoundGraphPreprocessor/ExternalPort",453),k(249,1,{249:1},nA),l.Ib=function(){return xH(this.c)+":"+vtt(this.b)},j(yO,"CrossHierarchyEdge",249),k(777,1,Dn,Zte),l.Ne=function(t,n){return dKt(this,c(t,249),c(n,249))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(yO,"CrossHierarchyEdgeComparator",777),k(305,137,{3:1,305:1,96:1,137:1}),l.p=0,j(ic,"LGraphElement",305),k(18,305,{3:1,18:1,305:1,96:1,137:1},ew),l.Ib=function(){return vtt(this)};var SX=j(ic,"LEdge",18);k(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},qce),l.Jc=function(t){Qr(this,t)},l.Kc=function(){return new q(this.b)},l.Ib=function(){return this.b.c.length==0?"G-unlayered"+u0(this.a):this.a.c.length==0?"G-layered"+u0(this.b):"G[layerless"+u0(this.a)+", layers"+u0(this.b)+"]"};var odt=j(ic,"LGraph",36),cdt;k(666,1,{}),l.Lf=function(){return this.e.n},l.of=function(t){return D(this.e,t)},l.Mf=function(){return this.e.o},l.Nf=function(){return this.e.p},l.pf=function(t){return Ni(this.e,t)},l.Of=function(t){this.e.n.a=t.a,this.e.n.b=t.b},l.Pf=function(t){this.e.o.a=t.a,this.e.o.b=t.b},l.Qf=function(t){this.e.p=t},j(ic,"LGraphAdapters/AbstractLShapeAdapter",666),k(474,1,{853:1},p6),l.Rf=function(){var t,n;if(!this.b)for(this.b=mh(this.a.b.c.length),n=new q(this.a.b);n.a0&&dYe((Bt(n-1,t.length),t.charCodeAt(n-1)),oct);)--n;if(a> ",t),x_(i)),Hn(Yo((t.a+="[",t),i.i),"]")),t.a},l.c=!0,l.d=!1;var nwe,iwe,rwe,swe,owe,cwe,ldt=j(ic,"LPort",12);k(408,1,Mh,Fx),l.Jc=function(t){Qr(this,t)},l.Kc=function(){var t;return t=new q(this.a.e),new fPe(t)},j(ic,"LPort/1",408),k(1309,1,Rr,fPe),l.Nb=function(t){Jr(this,t)},l.Pb=function(){return c(K(this.a),18).c},l.Ob=function(){return wo(this.a)},l.Qb=function(){l8(this.a)},j(ic,"LPort/1/1",1309),k(369,1,Mh,vy),l.Jc=function(t){Qr(this,t)},l.Kc=function(){var t;return t=new q(this.a.g),new ene(t)},j(ic,"LPort/2",369),k(776,1,Rr,ene),l.Nb=function(t){Jr(this,t)},l.Pb=function(){return c(K(this.a),18).d},l.Ob=function(){return wo(this.a)},l.Qb=function(){l8(this.a)},j(ic,"LPort/2/1",776),k(1302,1,Mh,e$e),l.Jc=function(t){Qr(this,t)},l.Kc=function(){return new ff(this)},j(ic,"LPort/CombineIter",1302),k(208,1,Rr,ff),l.Nb=function(t){Jr(this,t)},l.Qb=function(){PDe()},l.Ob=function(){return Q6(this)},l.Pb=function(){return wo(this.a)?K(this.a):K(this.b)},j(ic,"LPort/CombineIter/1",208),k(1303,1,Zf,F8e),l.Lb=function(t){return ZKe(t)},l.Fb=function(t){return this===t},l.Mb=function(t){return Gc(),c(t,12).g.c.length!=0},j(ic,"LPort/lambda$0$Type",1303),k(1304,1,Zf,B8e),l.Lb=function(t){return eqe(t)},l.Fb=function(t){return this===t},l.Mb=function(t){return Gc(),c(t,12).e.c.length!=0},j(ic,"LPort/lambda$1$Type",1304),k(1305,1,Zf,H8e),l.Lb=function(t){return Gc(),c(t,12).j==(qe(),Ht)},l.Fb=function(t){return this===t},l.Mb=function(t){return Gc(),c(t,12).j==(qe(),Ht)},j(ic,"LPort/lambda$2$Type",1305),k(1306,1,Zf,K8e),l.Lb=function(t){return Gc(),c(t,12).j==(qe(),Xt)},l.Fb=function(t){return this===t},l.Mb=function(t){return Gc(),c(t,12).j==(qe(),Xt)},j(ic,"LPort/lambda$3$Type",1306),k(1307,1,Zf,q8e),l.Lb=function(t){return Gc(),c(t,12).j==(qe(),fn)},l.Fb=function(t){return this===t},l.Mb=function(t){return Gc(),c(t,12).j==(qe(),fn)},j(ic,"LPort/lambda$4$Type",1307),k(1308,1,Zf,z8e),l.Lb=function(t){return Gc(),c(t,12).j==(qe(),qt)},l.Fb=function(t){return this===t},l.Mb=function(t){return Gc(),c(t,12).j==(qe(),qt)},j(ic,"LPort/lambda$5$Type",1308),k(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},Qo),l.Jc=function(t){Qr(this,t)},l.Kc=function(){return new q(this.a)},l.Ib=function(){return"L_"+to(this.b.b,this,0)+u0(this.a)},j(ic,"Layer",30),k(1330,1,{},wLe),j(g1,act,1330),k(1334,1,{},V8e),l.Kb=function(t){return io(c(t,84))},j(g1,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),k(1337,1,{},U8e),l.Kb=function(t){return io(c(t,84))},j(g1,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),k(1331,1,Zt,hPe),l.Cd=function(t){Dtt(this.a,c(t,123))},j(g1,hde,1331),k(1332,1,Zt,dPe),l.Cd=function(t){Dtt(this.a,c(t,123))},j(g1,fct,1332),k(1333,1,{},G8e),l.Kb=function(t){return new gt(null,new yt(aoe(c(t,74)),16))},j(g1,hct,1333),k(1335,1,On,pPe),l.Mb=function(t){return wEt(this.a,c(t,27))},j(g1,dct,1335),k(1336,1,{},W8e),l.Kb=function(t){return new gt(null,new yt(_Tt(c(t,74)),16))},j(g1,"ElkGraphImporter/lambda$5$Type",1336),k(1338,1,On,gPe),l.Mb=function(t){return bEt(this.a,c(t,27))},j(g1,"ElkGraphImporter/lambda$7$Type",1338),k(1339,1,On,X8e),l.Mb=function(t){return GTt(c(t,74))},j(g1,"ElkGraphImporter/lambda$8$Type",1339),k(1297,1,{},uTe);var adt;j(g1,"ElkGraphLayoutTransferrer",1297),k(1298,1,On,wPe),l.Mb=function(t){return sIt(this.a,c(t,18))},j(g1,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),k(1299,1,Zt,bPe),l.Cd=function(t){cE(),$e(this.a,c(t,18))},j(g1,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),k(1300,1,On,mPe),l.Mb=function(t){return z7t(this.a,c(t,18))},j(g1,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),k(1301,1,Zt,vPe),l.Cd=function(t){cE(),$e(this.a,c(t,18))},j(g1,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),k(819,1,{},Bre),j(Gt,"BiLinkedHashMultiMap",819),k(1550,1,Ii,J8e),l.Kf=function(t,n){PDt(c(t,36),n)},j(Gt,"CommentNodeMarginCalculator",1550),k(1551,1,{},Y8e),l.Kb=function(t){return new gt(null,new yt(c(t,30).a,16))},j(Gt,"CommentNodeMarginCalculator/lambda$0$Type",1551),k(1552,1,Zt,Q8e),l.Cd=function(t){PQt(c(t,10))},j(Gt,"CommentNodeMarginCalculator/lambda$1$Type",1552),k(1553,1,Ii,Z8e),l.Kf=function(t,n){DXt(c(t,36),n)},j(Gt,"CommentPostprocessor",1553),k(1554,1,Ii,eje),l.Kf=function(t,n){rtn(c(t,36),n)},j(Gt,"CommentPreprocessor",1554),k(1555,1,Ii,tje),l.Kf=function(t,n){ZWt(c(t,36),n)},j(Gt,"ConstraintsPostprocessor",1555),k(1556,1,Ii,nje),l.Kf=function(t,n){oRt(c(t,36),n)},j(Gt,"EdgeAndLayerConstraintEdgeReverser",1556),k(1557,1,Ii,ije),l.Kf=function(t,n){JFt(c(t,36),n)},j(Gt,"EndLabelPostprocessor",1557),k(1558,1,{},rje),l.Kb=function(t){return new gt(null,new yt(c(t,30).a,16))},j(Gt,"EndLabelPostprocessor/lambda$0$Type",1558),k(1559,1,On,sje),l.Mb=function(t){return fOt(c(t,10))},j(Gt,"EndLabelPostprocessor/lambda$1$Type",1559),k(1560,1,Zt,oje),l.Cd=function(t){BKt(c(t,10))},j(Gt,"EndLabelPostprocessor/lambda$2$Type",1560),k(1561,1,Ii,cje),l.Kf=function(t,n){CVt(c(t,36),n)},j(Gt,"EndLabelPreprocessor",1561),k(1562,1,{},uje),l.Kb=function(t){return new gt(null,new yt(c(t,30).a,16))},j(Gt,"EndLabelPreprocessor/lambda$0$Type",1562),k(1563,1,Zt,HHe),l.Cd=function(t){M9t(this.a,this.b,this.c,c(t,10))},l.a=0,l.b=0,l.c=!1,j(Gt,"EndLabelPreprocessor/lambda$1$Type",1563),k(1564,1,On,lje),l.Mb=function(t){return be(D(c(t,72),(Ge(),lh)))===be((pf(),j5))},j(Gt,"EndLabelPreprocessor/lambda$2$Type",1564),k(1565,1,Zt,yPe),l.Cd=function(t){$n(this.a,c(t,72))},j(Gt,"EndLabelPreprocessor/lambda$3$Type",1565),k(1566,1,On,aje),l.Mb=function(t){return be(D(c(t,72),(Ge(),lh)))===be((pf(),Km))},j(Gt,"EndLabelPreprocessor/lambda$4$Type",1566),k(1567,1,Zt,xPe),l.Cd=function(t){$n(this.a,c(t,72))},j(Gt,"EndLabelPreprocessor/lambda$5$Type",1567),k(1615,1,Ii,eTe),l.Kf=function(t,n){X$t(c(t,36),n)};var fdt;j(Gt,"EndLabelSorter",1615),k(1616,1,Dn,fje),l.Ne=function(t,n){return CBt(c(t,466),c(n,466))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"EndLabelSorter/1",1616),k(466,1,{466:1},dze),j(Gt,"EndLabelSorter/LabelGroup",466),k(1617,1,{},hje),l.Kb=function(t){return oE(),new gt(null,new yt(c(t,30).a,16))},j(Gt,"EndLabelSorter/lambda$0$Type",1617),k(1618,1,On,dje),l.Mb=function(t){return oE(),c(t,10).k==(Kt(),er)},j(Gt,"EndLabelSorter/lambda$1$Type",1618),k(1619,1,Zt,pje),l.Cd=function(t){Kzt(c(t,10))},j(Gt,"EndLabelSorter/lambda$2$Type",1619),k(1620,1,On,gje),l.Mb=function(t){return oE(),be(D(c(t,72),(Ge(),lh)))===be((pf(),Km))},j(Gt,"EndLabelSorter/lambda$3$Type",1620),k(1621,1,On,wje),l.Mb=function(t){return oE(),be(D(c(t,72),(Ge(),lh)))===be((pf(),j5))},j(Gt,"EndLabelSorter/lambda$4$Type",1621),k(1568,1,Ii,bje),l.Kf=function(t,n){UQt(this,c(t,36))},l.b=0,l.c=0,j(Gt,"FinalSplineBendpointsCalculator",1568),k(1569,1,{},mje),l.Kb=function(t){return new gt(null,new yt(c(t,30).a,16))},j(Gt,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),k(1570,1,{},vje),l.Kb=function(t){return new gt(null,new Wg(new Qt(en(nr(c(t,10)).a.Kc(),new M))))},j(Gt,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),k(1571,1,On,yje),l.Mb=function(t){return!ys(c(t,18))},j(Gt,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),k(1572,1,On,xje),l.Mb=function(t){return Ni(c(t,18),(Pe(),Gp))},j(Gt,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),k(1573,1,Zt,kPe),l.Cd=function(t){tYt(this.a,c(t,131))},j(Gt,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),k(1574,1,Zt,kje),l.Cd=function(t){eI(c(t,18).a)},j(Gt,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),k(803,1,Ii,tne),l.Kf=function(t,n){BZt(this,c(t,36),n)},j(Gt,"GraphTransformer",803),k(517,22,{3:1,34:1,22:1,517:1},pie);var IX,dN,hdt=gn(Gt,"GraphTransformer/Mode",517,xn,gAt,JNt),ddt;k(1575,1,Ii,jje),l.Kf=function(t,n){uWt(c(t,36),n)},j(Gt,"HierarchicalNodeResizingProcessor",1575),k(1576,1,Ii,Sje),l.Kf=function(t,n){NDt(c(t,36),n)},j(Gt,"HierarchicalPortConstraintProcessor",1576),k(1577,1,Dn,Eje),l.Ne=function(t,n){return XBt(c(t,10),c(n,10))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"HierarchicalPortConstraintProcessor/NodeComparator",1577),k(1578,1,Ii,Ije),l.Kf=function(t,n){JYt(c(t,36),n)},j(Gt,"HierarchicalPortDummySizeProcessor",1578),k(1579,1,Ii,Nje),l.Kf=function(t,n){oJt(this,c(t,36),n)},l.a=0,j(Gt,"HierarchicalPortOrthogonalEdgeRouter",1579),k(1580,1,Dn,Cje),l.Ne=function(t,n){return u7t(c(t,10),c(n,10))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"HierarchicalPortOrthogonalEdgeRouter/1",1580),k(1581,1,Dn,Mje),l.Ne=function(t,n){return pLt(c(t,10),c(n,10))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"HierarchicalPortOrthogonalEdgeRouter/2",1581),k(1582,1,Ii,Tje),l.Kf=function(t,n){jzt(c(t,36),n)},j(Gt,"HierarchicalPortPositionProcessor",1582),k(1583,1,Ii,lTe),l.Kf=function(t,n){Ftn(this,c(t,36))},l.a=0,l.c=0;var OL,LL;j(Gt,"HighDegreeNodeLayeringProcessor",1583),k(580,1,{580:1},Aje),l.b=-1,l.d=-1,j(Gt,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),k(1584,1,{},Pje),l.Kb=function(t){return LE(),Tr(c(t,10))},l.Fb=function(t){return this===t},j(Gt,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),k(1585,1,{},_je),l.Kb=function(t){return LE(),nr(c(t,10))},l.Fb=function(t){return this===t},j(Gt,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),k(1591,1,Ii,Oje),l.Kf=function(t,n){KYt(this,c(t,36),n)},j(Gt,"HyperedgeDummyMerger",1591),k(804,1,{},tse),l.a=!1,l.b=!1,l.c=!1,j(Gt,"HyperedgeDummyMerger/MergeState",804),k(1592,1,{},Lje),l.Kb=function(t){return new gt(null,new yt(c(t,30).a,16))},j(Gt,"HyperedgeDummyMerger/lambda$0$Type",1592),k(1593,1,{},Dje),l.Kb=function(t){return new gt(null,new yt(c(t,10).j,16))},j(Gt,"HyperedgeDummyMerger/lambda$1$Type",1593),k(1594,1,Zt,Rje),l.Cd=function(t){c(t,12).p=-1},j(Gt,"HyperedgeDummyMerger/lambda$2$Type",1594),k(1595,1,Ii,$je),l.Kf=function(t,n){BYt(c(t,36),n)},j(Gt,"HypernodesProcessor",1595),k(1596,1,Ii,Fje),l.Kf=function(t,n){XYt(c(t,36),n)},j(Gt,"InLayerConstraintProcessor",1596),k(1597,1,Ii,Bje),l.Kf=function(t,n){KDt(c(t,36),n)},j(Gt,"InnermostNodeMarginCalculator",1597),k(1598,1,Ii,Hje),l.Kf=function(t,n){etn(this,c(t,36))},l.a=br,l.b=br,l.c=Li,l.d=Li;var Xnn=j(Gt,"InteractiveExternalPortPositioner",1598);k(1599,1,{},Kje),l.Kb=function(t){return c(t,18).d.i},l.Fb=function(t){return this===t},j(Gt,"InteractiveExternalPortPositioner/lambda$0$Type",1599),k(1600,1,{},jPe),l.Kb=function(t){return l7t(this.a,ye(t))},l.Fb=function(t){return this===t},j(Gt,"InteractiveExternalPortPositioner/lambda$1$Type",1600),k(1601,1,{},qje),l.Kb=function(t){return c(t,18).c.i},l.Fb=function(t){return this===t},j(Gt,"InteractiveExternalPortPositioner/lambda$2$Type",1601),k(1602,1,{},SPe),l.Kb=function(t){return a7t(this.a,ye(t))},l.Fb=function(t){return this===t},j(Gt,"InteractiveExternalPortPositioner/lambda$3$Type",1602),k(1603,1,{},EPe),l.Kb=function(t){return cIt(this.a,ye(t))},l.Fb=function(t){return this===t},j(Gt,"InteractiveExternalPortPositioner/lambda$4$Type",1603),k(1604,1,{},IPe),l.Kb=function(t){return uIt(this.a,ye(t))},l.Fb=function(t){return this===t},j(Gt,"InteractiveExternalPortPositioner/lambda$5$Type",1604),k(81,22,{3:1,34:1,22:1,81:1,196:1},or),l.dg=function(){switch(this.g){case 15:return new oEe;case 22:return new cEe;case 47:return new aEe;case 28:case 35:return new eSe;case 32:return new J8e;case 42:return new Z8e;case 1:return new eje;case 41:return new tje;case 56:return new tne((P4(),dN));case 0:return new tne((P4(),IX));case 2:return new nje;case 54:return new ije;case 33:return new cje;case 51:return new bje;case 55:return new jje;case 13:return new Sje;case 38:return new Ije;case 44:return new Nje;case 40:return new Tje;case 9:return new lTe;case 49:return new IBe;case 37:return new Oje;case 43:return new $je;case 27:return new Fje;case 30:return new Bje;case 3:return new Hje;case 18:return new Vje;case 29:return new Uje;case 5:return new aTe;case 50:return new zje;case 34:return new fTe;case 36:return new tSe;case 52:return new eTe;case 11:return new nSe;case 7:return new hTe;case 39:return new iSe;case 45:return new rSe;case 16:return new sSe;case 10:return new m$e;case 48:return new lSe;case 21:return new aSe;case 23:return new lB((uw(),xS));case 8:return new hSe;case 12:return new pSe;case 4:return new gSe;case 19:return new mTe;case 17:return new ESe;case 53:return new ISe;case 6:return new $Se;case 25:return new vLe;case 46:return new ASe;case 31:return new pHe;case 14:return new USe;case 26:return new dEe;case 20:return new YSe;case 24:return new lB((uw(),FD));default:throw V(new Ft(QU+(this.f!=null?this.f:""+this.g)))}};var uwe,lwe,awe,fwe,hwe,dwe,pwe,gwe,wwe,bwe,y2,DL,RL,mwe,vwe,ywe,xwe,kwe,jwe,Swe,tS,Ewe,Iwe,Nwe,Cwe,Mwe,NX,$L,FL,Twe,BL,HL,KL,Wk,Sm,Em,Awe,qL,zL,Pwe,VL,UL,_we,Owe,Lwe,Dwe,GL,CX,pN,WL,XL,JL,YL,Rwe,$we,Fwe,Bwe,Jnn=gn(Gt,ZU,81,xn,Mnt,XIt),pdt;k(1605,1,Ii,Vje),l.Kf=function(t,n){Qen(c(t,36),n)},j(Gt,"InvertedPortProcessor",1605),k(1606,1,Ii,Uje),l.Kf=function(t,n){GJt(c(t,36),n)},j(Gt,"LabelAndNodeSizeProcessor",1606),k(1607,1,On,Gje),l.Mb=function(t){return c(t,10).k==(Kt(),er)},j(Gt,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),k(1608,1,On,Wje),l.Mb=function(t){return c(t,10).k==(Kt(),rr)},j(Gt,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),k(1609,1,Zt,KHe),l.Cd=function(t){T9t(this.b,this.a,this.c,c(t,10))},l.a=!1,l.c=!1,j(Gt,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),k(1610,1,Ii,aTe),l.Kf=function(t,n){Sen(c(t,36),n)};var gdt;j(Gt,"LabelDummyInserter",1610),k(1611,1,Zf,Xje),l.Lb=function(t){return be(D(c(t,72),(Ge(),lh)))===be((pf(),k5))},l.Fb=function(t){return this===t},l.Mb=function(t){return be(D(c(t,72),(Ge(),lh)))===be((pf(),k5))},j(Gt,"LabelDummyInserter/1",1611),k(1612,1,Ii,zje),l.Kf=function(t,n){hen(c(t,36),n)},j(Gt,"LabelDummyRemover",1612),k(1613,1,On,Jje),l.Mb=function(t){return Xe(We(D(c(t,72),(Ge(),wJ))))},j(Gt,"LabelDummyRemover/lambda$0$Type",1613),k(1378,1,Ii,fTe),l.Kf=function(t,n){ren(this,c(t,36),n)},l.a=null;var MX;j(Gt,"LabelDummySwitcher",1378),k(293,1,{293:1},Cit),l.c=0,l.d=null,l.f=0,j(Gt,"LabelDummySwitcher/LabelDummyInfo",293),k(1379,1,{},Yje),l.Kb=function(t){return s3(),new gt(null,new yt(c(t,30).a,16))},j(Gt,"LabelDummySwitcher/lambda$0$Type",1379),k(1380,1,On,Qje),l.Mb=function(t){return s3(),c(t,10).k==(Kt(),qo)},j(Gt,"LabelDummySwitcher/lambda$1$Type",1380),k(1381,1,{},NPe),l.Kb=function(t){return V7t(this.a,c(t,10))},j(Gt,"LabelDummySwitcher/lambda$2$Type",1381),k(1382,1,Zt,CPe),l.Cd=function(t){fTt(this.a,c(t,293))},j(Gt,"LabelDummySwitcher/lambda$3$Type",1382),k(1383,1,Dn,Zje),l.Ne=function(t,n){return LMt(c(t,293),c(n,293))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"LabelDummySwitcher/lambda$4$Type",1383),k(802,1,Ii,eSe),l.Kf=function(t,n){GOt(c(t,36),n)},j(Gt,"LabelManagementProcessor",802),k(1614,1,Ii,tSe),l.Kf=function(t,n){SXt(c(t,36),n)},j(Gt,"LabelSideSelector",1614),k(1622,1,Ii,nSe),l.Kf=function(t,n){fQt(c(t,36),n)},j(Gt,"LayerConstraintPostprocessor",1622),k(1623,1,Ii,hTe),l.Kf=function(t,n){oGt(c(t,36),n)};var Hwe;j(Gt,"LayerConstraintPreprocessor",1623),k(371,22,{3:1,34:1,22:1,371:1},jT);var gN,QL,ZL,TX,wdt=gn(Gt,"LayerConstraintPreprocessor/HiddenNodeConnections",371,xn,E_t,JIt),bdt;k(1624,1,Ii,iSe),l.Kf=function(t,n){CZt(c(t,36),n)},j(Gt,"LayerSizeAndGraphHeightCalculator",1624),k(1625,1,Ii,rSe),l.Kf=function(t,n){lWt(c(t,36),n)},j(Gt,"LongEdgeJoiner",1625),k(1626,1,Ii,sSe),l.Kf=function(t,n){iZt(c(t,36),n)},j(Gt,"LongEdgeSplitter",1626),k(1627,1,Ii,m$e),l.Kf=function(t,n){Fen(this,c(t,36),n)},l.e=0,l.f=0,l.j=0,l.k=0,l.n=0,l.o=0;var mdt,vdt;j(Gt,"NodePromotion",1627),k(1628,1,Dn,oSe),l.Ne=function(t,n){return QRt(c(t,10),c(n,10))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"NodePromotion/1",1628),k(1629,1,Dn,cSe),l.Ne=function(t,n){return ZRt(c(t,10),c(n,10))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"NodePromotion/2",1629),k(1630,1,{},uSe),l.Kb=function(t){return c(t,42),rA(),_t(),!0},l.Fb=function(t){return this===t},j(Gt,"NodePromotion/lambda$0$Type",1630),k(1631,1,{},PPe),l.Kb=function(t){return WAt(this.a,c(t,42))},l.Fb=function(t){return this===t},l.a=0,j(Gt,"NodePromotion/lambda$1$Type",1631),k(1632,1,{},_Pe),l.Kb=function(t){return GAt(this.a,c(t,42))},l.Fb=function(t){return this===t},l.a=0,j(Gt,"NodePromotion/lambda$2$Type",1632),k(1633,1,Ii,lSe),l.Kf=function(t,n){_tn(c(t,36),n)},j(Gt,"NorthSouthPortPostprocessor",1633),k(1634,1,Ii,aSe),l.Kf=function(t,n){dtn(c(t,36),n)},j(Gt,"NorthSouthPortPreprocessor",1634),k(1635,1,Dn,fSe),l.Ne=function(t,n){return dRt(c(t,12),c(n,12))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"NorthSouthPortPreprocessor/lambda$0$Type",1635),k(1636,1,Ii,hSe),l.Kf=function(t,n){CYt(c(t,36),n)},j(Gt,"PartitionMidprocessor",1636),k(1637,1,On,dSe),l.Mb=function(t){return Ni(c(t,10),(Ge(),u5))},j(Gt,"PartitionMidprocessor/lambda$0$Type",1637),k(1638,1,Zt,OPe),l.Cd=function(t){WTt(this.a,c(t,10))},j(Gt,"PartitionMidprocessor/lambda$1$Type",1638),k(1639,1,Ii,pSe),l.Kf=function(t,n){TWt(c(t,36),n)},j(Gt,"PartitionPostprocessor",1639),k(1640,1,Ii,gSe),l.Kf=function(t,n){zUt(c(t,36),n)},j(Gt,"PartitionPreprocessor",1640),k(1641,1,On,wSe),l.Mb=function(t){return Ni(c(t,10),(Ge(),u5))},j(Gt,"PartitionPreprocessor/lambda$0$Type",1641),k(1642,1,{},bSe),l.Kb=function(t){return new gt(null,new Wg(new Qt(en(nr(c(t,10)).a.Kc(),new M))))},j(Gt,"PartitionPreprocessor/lambda$1$Type",1642),k(1643,1,On,mSe),l.Mb=function(t){return OBt(c(t,18))},j(Gt,"PartitionPreprocessor/lambda$2$Type",1643),k(1644,1,Zt,vSe),l.Cd=function(t){TRt(c(t,18))},j(Gt,"PartitionPreprocessor/lambda$3$Type",1644),k(1645,1,Ii,mTe),l.Kf=function(t,n){uYt(c(t,36),n)};var Kwe,ydt,xdt,kdt,qwe,zwe;j(Gt,"PortListSorter",1645),k(1648,1,Dn,ySe),l.Ne=function(t,n){return bUe(c(t,12),c(n,12))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"PortListSorter/lambda$0$Type",1648),k(1650,1,Dn,xSe),l.Ne=function(t,n){return Qit(c(t,12),c(n,12))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"PortListSorter/lambda$1$Type",1650),k(1646,1,{},kSe),l.Kb=function(t){return q4(),c(t,12).e},j(Gt,"PortListSorter/lambda$2$Type",1646),k(1647,1,{},jSe),l.Kb=function(t){return q4(),c(t,12).g},j(Gt,"PortListSorter/lambda$3$Type",1647),k(1649,1,Dn,SSe),l.Ne=function(t,n){return rKt(c(t,12),c(n,12))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"PortListSorter/lambda$4$Type",1649),k(1651,1,Ii,ESe),l.Kf=function(t,n){vGt(c(t,36),n)},j(Gt,"PortSideProcessor",1651),k(1652,1,Ii,ISe),l.Kf=function(t,n){yJt(c(t,36),n)},j(Gt,"ReversedEdgeRestorer",1652),k(1657,1,Ii,vLe),l.Kf=function(t,n){BHt(this,c(t,36),n)},j(Gt,"SelfLoopPortRestorer",1657),k(1658,1,{},NSe),l.Kb=function(t){return new gt(null,new yt(c(t,30).a,16))},j(Gt,"SelfLoopPortRestorer/lambda$0$Type",1658),k(1659,1,On,CSe),l.Mb=function(t){return c(t,10).k==(Kt(),er)},j(Gt,"SelfLoopPortRestorer/lambda$1$Type",1659),k(1660,1,On,MSe),l.Mb=function(t){return Ni(c(t,10),(Pe(),Hw))},j(Gt,"SelfLoopPortRestorer/lambda$2$Type",1660),k(1661,1,{},TSe),l.Kb=function(t){return c(D(c(t,10),(Pe(),Hw)),337)},j(Gt,"SelfLoopPortRestorer/lambda$3$Type",1661),k(1662,1,Zt,TPe),l.Cd=function(t){tVt(this.a,c(t,337))},j(Gt,"SelfLoopPortRestorer/lambda$4$Type",1662),k(805,1,Zt,fte),l.Cd=function(t){pVt(c(t,105))},j(Gt,"SelfLoopPortRestorer/lambda$5$Type",805),k(1663,1,Ii,ASe),l.Kf=function(t,n){UBt(c(t,36),n)},j(Gt,"SelfLoopPostProcessor",1663),k(1664,1,{},PSe),l.Kb=function(t){return new gt(null,new yt(c(t,30).a,16))},j(Gt,"SelfLoopPostProcessor/lambda$0$Type",1664),k(1665,1,On,_Se),l.Mb=function(t){return c(t,10).k==(Kt(),er)},j(Gt,"SelfLoopPostProcessor/lambda$1$Type",1665),k(1666,1,On,OSe),l.Mb=function(t){return Ni(c(t,10),(Pe(),Hw))},j(Gt,"SelfLoopPostProcessor/lambda$2$Type",1666),k(1667,1,Zt,LSe),l.Cd=function(t){iqt(c(t,10))},j(Gt,"SelfLoopPostProcessor/lambda$3$Type",1667),k(1668,1,{},DSe),l.Kb=function(t){return new gt(null,new yt(c(t,105).f,1))},j(Gt,"SelfLoopPostProcessor/lambda$4$Type",1668),k(1669,1,Zt,MPe),l.Cd=function(t){M_t(this.a,c(t,340))},j(Gt,"SelfLoopPostProcessor/lambda$5$Type",1669),k(1670,1,On,RSe),l.Mb=function(t){return!!c(t,105).i},j(Gt,"SelfLoopPostProcessor/lambda$6$Type",1670),k(1671,1,Zt,APe),l.Cd=function(t){MSt(this.a,c(t,105))},j(Gt,"SelfLoopPostProcessor/lambda$7$Type",1671),k(1653,1,Ii,$Se),l.Kf=function(t,n){WGt(c(t,36),n)},j(Gt,"SelfLoopPreProcessor",1653),k(1654,1,{},FSe),l.Kb=function(t){return new gt(null,new yt(c(t,105).f,1))},j(Gt,"SelfLoopPreProcessor/lambda$0$Type",1654),k(1655,1,{},BSe),l.Kb=function(t){return c(t,340).a},j(Gt,"SelfLoopPreProcessor/lambda$1$Type",1655),k(1656,1,Zt,HSe),l.Cd=function(t){PEt(c(t,18))},j(Gt,"SelfLoopPreProcessor/lambda$2$Type",1656),k(1672,1,Ii,pHe),l.Kf=function(t,n){Dzt(this,c(t,36),n)},j(Gt,"SelfLoopRouter",1672),k(1673,1,{},KSe),l.Kb=function(t){return new gt(null,new yt(c(t,30).a,16))},j(Gt,"SelfLoopRouter/lambda$0$Type",1673),k(1674,1,On,qSe),l.Mb=function(t){return c(t,10).k==(Kt(),er)},j(Gt,"SelfLoopRouter/lambda$1$Type",1674),k(1675,1,On,zSe),l.Mb=function(t){return Ni(c(t,10),(Pe(),Hw))},j(Gt,"SelfLoopRouter/lambda$2$Type",1675),k(1676,1,{},VSe),l.Kb=function(t){return c(D(c(t,10),(Pe(),Hw)),337)},j(Gt,"SelfLoopRouter/lambda$3$Type",1676),k(1677,1,Zt,QRe),l.Cd=function(t){KTt(this.a,this.b,c(t,337))},j(Gt,"SelfLoopRouter/lambda$4$Type",1677),k(1678,1,Ii,USe),l.Kf=function(t,n){hXt(c(t,36),n)},j(Gt,"SemiInteractiveCrossMinProcessor",1678),k(1679,1,On,GSe),l.Mb=function(t){return c(t,10).k==(Kt(),er)},j(Gt,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),k(1680,1,On,WSe),l.Mb=function(t){return AKe(c(t,10))._b((Ge(),Om))},j(Gt,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),k(1681,1,Dn,XSe),l.Ne=function(t,n){return MDt(c(t,10),c(n,10))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Gt,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),k(1682,1,{},JSe),l.Ve=function(t,n){return XTt(c(t,10),c(n,10))},j(Gt,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),k(1684,1,Ii,YSe),l.Kf=function(t,n){DQt(c(t,36),n)},j(Gt,"SortByInputModelProcessor",1684),k(1685,1,On,QSe),l.Mb=function(t){return c(t,12).g.c.length!=0},j(Gt,"SortByInputModelProcessor/lambda$0$Type",1685),k(1686,1,Zt,LPe),l.Cd=function(t){vVt(this.a,c(t,12))},j(Gt,"SortByInputModelProcessor/lambda$1$Type",1686),k(1759,817,{},HXe),l.df=function(t){var n,i,r,o;switch(this.c=t,this.a.g){case 2:n=new Re,Yi(di(new gt(null,new yt(this.c.a.b,16)),new h9e),new c$e(this,n)),tI(this,new e9e),mc(n,new t9e),n.c.length=0,Yi(di(new gt(null,new yt(this.c.a.b,16)),new n9e),new RPe(n)),tI(this,new i9e),mc(n,new r9e),n.c.length=0,i=KFe(Sq(Db(new gt(null,new yt(this.c.a.b,16)),new $Pe(this))),new s9e),Yi(new gt(null,new yt(this.c.a.a,16)),new t$e(i,n)),tI(this,new c9e),mc(n,new u9e),n.c.length=0;break;case 3:r=new Re,tI(this,new ZSe),o=KFe(Sq(Db(new gt(null,new yt(this.c.a.b,16)),new DPe(this))),new o9e),Yi(di(new gt(null,new yt(this.c.a.b,16)),new l9e),new i$e(o,r)),tI(this,new a9e),mc(r,new f9e),r.c.length=0;break;default:throw V(new oLe)}},l.b=0,j(vr,"EdgeAwareScanlineConstraintCalculation",1759),k(1760,1,Zf,ZSe),l.Lb=function(t){return ce(c(t,60).g,154)},l.Fb=function(t){return this===t},l.Mb=function(t){return ce(c(t,60).g,154)},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),k(1761,1,{},DPe),l.Ye=function(t){return nUt(this.a,c(t,60))},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),k(1769,1,oO,ZRe),l.de=function(){X8(this.a,this.b,-1)},l.b=0,j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),k(1771,1,Zf,e9e),l.Lb=function(t){return ce(c(t,60).g,154)},l.Fb=function(t){return this===t},l.Mb=function(t){return ce(c(t,60).g,154)},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),k(1772,1,Zt,t9e),l.Cd=function(t){c(t,380).de()},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),k(1773,1,On,n9e),l.Mb=function(t){return ce(c(t,60).g,10)},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),k(1775,1,Zt,RPe),l.Cd=function(t){kFt(this.a,c(t,60))},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),k(1774,1,oO,r$e),l.de=function(){X8(this.b,this.a,-1)},l.a=0,j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),k(1776,1,Zf,i9e),l.Lb=function(t){return ce(c(t,60).g,10)},l.Fb=function(t){return this===t},l.Mb=function(t){return ce(c(t,60).g,10)},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),k(1777,1,Zt,r9e),l.Cd=function(t){c(t,380).de()},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),k(1778,1,{},$Pe),l.Ye=function(t){return iUt(this.a,c(t,60))},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),k(1779,1,{},s9e),l.We=function(){return 0},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),k(1762,1,{},o9e),l.We=function(){return 0},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),k(1781,1,Zt,t$e),l.Cd=function(t){NMt(this.a,this.b,c(t,316))},l.a=0,j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),k(1780,1,oO,n$e),l.de=function(){rnt(this.a,this.b,-1)},l.b=0,j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),k(1782,1,Zf,c9e),l.Lb=function(t){return c(t,60),!0},l.Fb=function(t){return this===t},l.Mb=function(t){return c(t,60),!0},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),k(1783,1,Zt,u9e),l.Cd=function(t){c(t,380).de()},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),k(1763,1,On,l9e),l.Mb=function(t){return ce(c(t,60).g,10)},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),k(1765,1,Zt,i$e),l.Cd=function(t){CMt(this.a,this.b,c(t,60))},l.a=0,j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),k(1764,1,oO,s$e),l.de=function(){X8(this.b,this.a,-1)},l.a=0,j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),k(1766,1,Zf,a9e),l.Lb=function(t){return c(t,60),!0},l.Fb=function(t){return this===t},l.Mb=function(t){return c(t,60),!0},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),k(1767,1,Zt,f9e),l.Cd=function(t){c(t,380).de()},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),k(1768,1,On,h9e),l.Mb=function(t){return ce(c(t,60).g,154)},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),k(1770,1,Zt,c$e),l.Cd=function(t){ULt(this.a,this.b,c(t,60))},j(vr,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),k(1586,1,Ii,IBe),l.Kf=function(t,n){lZt(this,c(t,36),n)};var jdt;j(vr,"HorizontalGraphCompactor",1586),k(1587,1,{},FPe),l.ff=function(t,n){var i,r,o;return Sce(t,n)||(i=Lv(t),r=Lv(n),i&&i.k==(Kt(),rr)||r&&r.k==(Kt(),rr))?0:(o=c(D(this.a.a,(Pe(),M2)),312),p7t(o,i?i.k:(Kt(),_r),r?r.k:(Kt(),_r)))},l.gf=function(t,n){var i,r,o;return Sce(t,n)?1:(i=Lv(t),r=Lv(n),o=c(D(this.a.a,(Pe(),M2)),312),gre(o,i?i.k:(Kt(),_r),r?r.k:(Kt(),_r)))},j(vr,"HorizontalGraphCompactor/1",1587),k(1588,1,{},d9e),l.ef=function(t,n){return N6(),t.a.i==0},j(vr,"HorizontalGraphCompactor/lambda$0$Type",1588),k(1589,1,{},BPe),l.ef=function(t,n){return QTt(this.a,t,n)},j(vr,"HorizontalGraphCompactor/lambda$1$Type",1589),k(1730,1,{},wWe);var Sdt,Edt;j(vr,"LGraphToCGraphTransformer",1730),k(1738,1,On,p9e),l.Mb=function(t){return t!=null},j(vr,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),k(1731,1,{},g9e),l.Kb=function(t){return da(),uo(D(c(c(t,60).g,10),(Pe(),gi)))},j(vr,"LGraphToCGraphTransformer/lambda$0$Type",1731),k(1732,1,{},w9e),l.Kb=function(t){return da(),NYe(c(c(t,60).g,154))},j(vr,"LGraphToCGraphTransformer/lambda$1$Type",1732),k(1741,1,On,b9e),l.Mb=function(t){return da(),ce(c(t,60).g,10)},j(vr,"LGraphToCGraphTransformer/lambda$10$Type",1741),k(1742,1,Zt,m9e),l.Cd=function(t){iAt(c(t,60))},j(vr,"LGraphToCGraphTransformer/lambda$11$Type",1742),k(1743,1,On,v9e),l.Mb=function(t){return da(),ce(c(t,60).g,154)},j(vr,"LGraphToCGraphTransformer/lambda$12$Type",1743),k(1747,1,Zt,y9e),l.Cd=function(t){O$t(c(t,60))},j(vr,"LGraphToCGraphTransformer/lambda$13$Type",1747),k(1744,1,Zt,HPe),l.Cd=function(t){cEt(this.a,c(t,8))},l.a=0,j(vr,"LGraphToCGraphTransformer/lambda$14$Type",1744),k(1745,1,Zt,KPe),l.Cd=function(t){lEt(this.a,c(t,116))},l.a=0,j(vr,"LGraphToCGraphTransformer/lambda$15$Type",1745),k(1746,1,Zt,qPe),l.Cd=function(t){uEt(this.a,c(t,8))},l.a=0,j(vr,"LGraphToCGraphTransformer/lambda$16$Type",1746),k(1748,1,{},x9e),l.Kb=function(t){return da(),new gt(null,new Wg(new Qt(en(nr(c(t,10)).a.Kc(),new M))))},j(vr,"LGraphToCGraphTransformer/lambda$17$Type",1748),k(1749,1,On,k9e),l.Mb=function(t){return da(),ys(c(t,18))},j(vr,"LGraphToCGraphTransformer/lambda$18$Type",1749),k(1750,1,Zt,zPe),l.Cd=function(t){SLt(this.a,c(t,18))},j(vr,"LGraphToCGraphTransformer/lambda$19$Type",1750),k(1734,1,Zt,VPe),l.Cd=function(t){YPt(this.a,c(t,154))},j(vr,"LGraphToCGraphTransformer/lambda$2$Type",1734),k(1751,1,{},j9e),l.Kb=function(t){return da(),new gt(null,new yt(c(t,30).a,16))},j(vr,"LGraphToCGraphTransformer/lambda$20$Type",1751),k(1752,1,{},S9e),l.Kb=function(t){return da(),new gt(null,new Wg(new Qt(en(nr(c(t,10)).a.Kc(),new M))))},j(vr,"LGraphToCGraphTransformer/lambda$21$Type",1752),k(1753,1,{},E9e),l.Kb=function(t){return da(),c(D(c(t,18),(Pe(),Gp)),15)},j(vr,"LGraphToCGraphTransformer/lambda$22$Type",1753),k(1754,1,On,I9e),l.Mb=function(t){return g7t(c(t,15))},j(vr,"LGraphToCGraphTransformer/lambda$23$Type",1754),k(1755,1,Zt,UPe),l.Cd=function(t){VVt(this.a,c(t,15))},j(vr,"LGraphToCGraphTransformer/lambda$24$Type",1755),k(1733,1,Zt,u$e),l.Cd=function(t){W_t(this.a,this.b,c(t,154))},j(vr,"LGraphToCGraphTransformer/lambda$3$Type",1733),k(1735,1,{},N9e),l.Kb=function(t){return da(),new gt(null,new yt(c(t,30).a,16))},j(vr,"LGraphToCGraphTransformer/lambda$4$Type",1735),k(1736,1,{},C9e),l.Kb=function(t){return da(),new gt(null,new Wg(new Qt(en(nr(c(t,10)).a.Kc(),new M))))},j(vr,"LGraphToCGraphTransformer/lambda$5$Type",1736),k(1737,1,{},M9e),l.Kb=function(t){return da(),c(D(c(t,18),(Pe(),Gp)),15)},j(vr,"LGraphToCGraphTransformer/lambda$6$Type",1737),k(1739,1,Zt,GPe),l.Cd=function(t){rUt(this.a,c(t,15))},j(vr,"LGraphToCGraphTransformer/lambda$8$Type",1739),k(1740,1,Zt,l$e),l.Cd=function(t){_Et(this.a,this.b,c(t,154))},j(vr,"LGraphToCGraphTransformer/lambda$9$Type",1740),k(1729,1,{},T9e),l.cf=function(t){var n,i,r,o,a;for(this.a=t,this.d=new eB,this.c=ke(jge,Mt,125,this.a.a.a.c.length,0,1),this.b=0,i=new q(this.a.a.a);i.a=H&&($e(a,De(y)),ue=w.Math.max(ue,he[y-1]-E),p+=$,X+=he[y-1]-X,E=he[y-1],$=b[y]),$=w.Math.max($,b[y]),++y;p+=$}L=w.Math.min(1/ue,1/n.b/p),L>r&&(r=L,i=a)}return i},l.pg=function(){return!1},j(ih,"MSDCutIndexHeuristic",816),k(1683,1,Ii,dEe),l.Kf=function(t,n){dQt(c(t,36),n)},j(ih,"SingleEdgeGraphWrapper",1683),k(232,22,{3:1,34:1,22:1,232:1},L6);var k2,Yk,Qk,Im,nS,j2,Zk=gn(Ko,"CenterEdgeLabelPlacementStrategy",232,xn,QOt,eNt),Rdt;k(431,22,{3:1,34:1,22:1,431:1},wie);var Uwe,HX,Gwe=gn(Ko,"ConstraintCalculationStrategy",431,xn,mAt,tNt),$dt;k(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},OB),l.dg=function(){return htt(this)},l.qg=function(){return htt(this)};var bN,iS,Wwe,Xwe=gn(Ko,"CrossingMinimizationStrategy",322,xn,hPt,nNt),Fdt;k(351,22,{3:1,34:1,22:1,351:1},LB);var Jwe,KX,rD,Ywe=gn(Ko,"CuttingStrategy",351,xn,dPt,iNt),Bdt;k(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},fE),l.dg=function(){return nnt(this)},l.qg=function(){return nnt(this)};var Qwe,qX,e5,zX,t5,Zwe=gn(Ko,"CycleBreakingStrategy",348,xn,wOt,rNt),Hdt;k(428,22,{3:1,34:1,22:1,428:1},bie);var sD,ebe,tbe=gn(Ko,"DirectionCongruency",428,xn,bAt,sNt),Kdt;k(460,22,{3:1,34:1,22:1,460:1},DB);var n5,VX,S2,qdt=gn(Ko,"EdgeConstraint",460,xn,pPt,hNt),zdt;k(283,22,{3:1,34:1,22:1,283:1},D6);var UX,GX,WX,XX,oD,JX,nbe=gn(Ko,"EdgeLabelSideSelection",283,xn,XOt,dNt),Vdt;k(488,22,{3:1,34:1,22:1,488:1},mie);var cD,ibe,rbe=gn(Ko,"EdgeStraighteningStrategy",488,xn,EAt,pNt),Udt;k(281,22,{3:1,34:1,22:1,281:1},R6);var YX,sbe,obe,uD,cbe,ube,lbe=gn(Ko,"FixedAlignment",281,xn,JOt,fNt),Gdt;k(282,22,{3:1,34:1,22:1,282:1},$6);var abe,fbe,hbe,dbe,rS,pbe,gbe=gn(Ko,"GraphCompactionStrategy",282,xn,YOt,oNt),Wdt;k(259,22,{3:1,34:1,22:1,259:1},Sb);var i5,lD,r5,Nl,sS,aD,s5,E2,fD,oS,QX=gn(Ko,"GraphProperties",259,xn,LDt,cNt),Xdt;k(299,22,{3:1,34:1,22:1,299:1},RB);var mN,ZX,eJ,tJ=gn(Ko,"GreedySwitchType",299,xn,gPt,uNt),Jdt;k(311,22,{3:1,34:1,22:1,311:1},$B);var H3,vN,I2,Ydt=gn(Ko,"InLayerConstraint",311,xn,wPt,lNt),Qdt;k(429,22,{3:1,34:1,22:1,429:1},vie);var nJ,wbe,bbe=gn(Ko,"InteractiveReferencePoint",429,xn,wAt,aNt),Zdt,mbe,K3,$w,hD,vbe,ybe,dD,xbe,yN,pD,cS,q3,Cd,iJ,gD,Ao,kbe,j0,cc,rJ,sJ,xN,Up,Fw,z3,jbe,V3,kN,Nm,Za,Xl,oJ,N2,yi,gi,Sbe,Ebe,Ibe,Nbe,Cbe,cJ,wD,lu,Bw,uJ,U3,uS,Ef,C2,Hw,M2,T2,o5,Gp,Mbe,lJ,aJ,G3;k(171,22,{3:1,34:1,22:1,171:1},hE);var lS,S0,aS,Cm,jN,Tbe=gn(Ko,"LayerConstraint",171,xn,mOt,gNt),e1t;k(859,1,zl,ETe),l.hf=function(t){ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Ide),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),Bbe),(f1(),Di)),tbe),lt((Xa(),Ct))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Nde),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(_t(),!1)),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,xO),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),Ube),Di),bbe),lt(Ct)))),lr(t,xO,nG,W1t),lr(t,xO,Mj,G1t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Cde),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Mde),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),Mr),Zi),lt(Ct)))),ct(t,new Ze(c9t(st(rt(ot(bt(et(it(tt(nt(new Qe,Tde),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),Mr),Zi),lt(tg)),J(W(Ye,1),Oe,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Ade),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),eme),Di),lve),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Pde),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),De(7)),fo),es),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,_de),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Ode),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,nG),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),Fbe),Di),Zwe),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,KI),IG),"Node Layering Strategy"),"Strategy for node layering."),Xbe),Di),Yme),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Lde),IG),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),Gbe),Di),Tbe),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Dde),IG),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),fo),es),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Rde),IG),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),De(-1)),fo),es),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,iG),Sct),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),De(4)),fo),es),lt(Ct)))),lr(t,iG,KI,t0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,rG),Sct),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),De(2)),fo),es),lt(Ct)))),lr(t,rG,KI,i0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,sG),Ect),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),Wbe),Di),ove),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,oG),Ect),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),De(0)),fo),es),lt(Ct)))),lr(t,oG,sG,null),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,cG),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),De(ui)),fo),es),lt(Ct)))),lr(t,cG,KI,J1t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Mj),_k),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),$be),Di),Xwe),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,$de),_k),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,uG),_k),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),us),dr),lt(Ct)))),lr(t,uG,OO,y1t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,lG),_k),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),Mr),Zi),lt(Ct)))),lr(t,lG,Mj,I1t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Fde),_k),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),H2),Ye),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Bde),_k),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),H2),Ye),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Hde),_k),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),fo),es),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Kde),_k),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),De(-1)),fo),es),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,qde),Ict),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),De(40)),fo),es),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,aG),Ict),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),Rbe),Di),tJ),lt(Ct)))),lr(t,aG,Mj,m1t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,kO),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),Dbe),Di),tJ),lt(Ct)))),lr(t,kO,Mj,g1t),lr(t,kO,OO,w1t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,f2),Nct),"Node Placement Strategy"),"Strategy for node placement."),Zbe),Di),tve),lt(Ct)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,jO),Nct),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),Mr),Zi),lt(Ct)))),lr(t,jO,f2,p0t),lr(t,jO,f2,g0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,fG),Cct),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),Jbe),Di),rbe),lt(Ct)))),lr(t,fG,f2,a0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,hG),Cct),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),Ybe),Di),lbe),lt(Ct)))),lr(t,hG,f2,h0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,dG),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),us),dr),lt(Ct)))),lr(t,dG,f2,b0t),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,pG),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),Di),PJ),lt(Sr)))),lr(t,pG,f2,x0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,gG),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),Qbe),Di),PJ),lt(Ct)))),lr(t,gG,f2,y0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,zde),Mct),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),qbe),Di),hve),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Vde),Mct),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),zbe),Di),dve),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,SO),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),Vbe),Di),gve),lt(Ct)))),lr(t,SO,qI,R1t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,EO),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),us),dr),lt(Ct)))),lr(t,EO,qI,F1t),lr(t,EO,SO,B1t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,wG),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),us),dr),lt(Ct)))),lr(t,wG,qI,_1t),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,Ude),kf),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Gde),kf),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Wde),kf),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Xde),kf),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Jde),o1e),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),De(0)),fo),es),lt(fh)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Yde),o1e),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),De(0)),fo),es),lt(fh)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Qde),o1e),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),De(0)),fo),es),lt(fh)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,bG),c1e),Vot),"Tries to further compact components (disconnected sub-graphs)."),!1),Mr),Zi),lt(Ct)))),lr(t,bG,Sj,!0),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Zde),Tct),"Post Compaction Strategy"),Act),Pbe),Di),gbe),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,e1e),Tct),"Post Compaction Constraint Calculation"),Act),Abe),Di),Gwe),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,IO),u1e),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,mG),u1e),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),De(16)),fo),es),lt(Ct)))),lr(t,mG,IO,!0),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,vG),u1e),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),De(5)),fo),es),lt(Ct)))),lr(t,vG,IO,!0),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Ed),l1e),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),ime),Di),vve),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,NO),l1e),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),us),dr),lt(Ct)))),lr(t,NO,Ed,O0t),lr(t,NO,Ed,L0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,CO),l1e),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),us),dr),lt(Ct)))),lr(t,CO,Ed,R0t),lr(t,CO,Ed,$0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Tj),Pct),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),nme),Di),Ywe),lt(Ct)))),lr(t,Tj,Ed,z0t),lr(t,Tj,Ed,V0t),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,yG),Pct),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),Nf),Il),lt(Ct)))),lr(t,yG,Tj,B0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,xG),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),tme),fo),es),lt(Ct)))),lr(t,xG,Tj,K0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,MO),_ct),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),rme),Di),mve),lt(Ct)))),lr(t,MO,Ed,ipt),lr(t,MO,Ed,rpt),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,TO),_ct),"Valid Indices for Wrapping"),null),Nf),Il),lt(Ct)))),lr(t,TO,Ed,ept),lr(t,TO,Ed,tpt),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,AO),a1e),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),Mr),Zi),lt(Ct)))),lr(t,AO,Ed,X0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,PO),a1e),"Distance Penalty When Improving Cuts"),null),2),us),dr),lt(Ct)))),lr(t,PO,Ed,G0t),lr(t,PO,AO,!0),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,kG),a1e),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),Mr),Zi),lt(Ct)))),lr(t,kG,Ed,Y0t),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,t1e),NG),"Edge Label Side Selection"),"Method to decide on edge label sides."),Kbe),Di),nbe),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,n1e),NG),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),Hbe),Di),Zk),Ci(Ct,J(W(Fh,1),Ce,170,0,[j1]))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,_O),Aj),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),Lbe),Di),uve),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,i1e),Aj),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,r1e),Aj),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),Mr),Zi),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,jG),Aj),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),_be),Di),Zge),lt(Ct)))),lr(t,jG,Sj,null),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,s1e),Aj),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),Obe),Di),Zme),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,SG),Aj),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),us),dr),lt(Ct)))),lr(t,SG,_O,null),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,EG),Aj),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),us),dr),lt(Ct)))),lr(t,EG,_O,null),Jst((new ITe,t))};var t1t,n1t,i1t,Abe,r1t,Pbe,s1t,_be,o1t,c1t,u1t,Obe,l1t,a1t,f1t,Lbe,h1t,d1t,p1t,Dbe,g1t,w1t,b1t,Rbe,m1t,v1t,y1t,x1t,k1t,j1t,S1t,E1t,I1t,N1t,$be,C1t,Fbe,M1t,Bbe,T1t,Hbe,A1t,Kbe,P1t,_1t,O1t,qbe,L1t,zbe,D1t,Vbe,R1t,$1t,F1t,B1t,H1t,K1t,q1t,z1t,V1t,U1t,Ube,G1t,W1t,X1t,J1t,Y1t,Q1t,Gbe,Z1t,e0t,t0t,n0t,i0t,r0t,s0t,Wbe,o0t,Xbe,c0t,u0t,l0t,Jbe,a0t,f0t,Ybe,h0t,d0t,p0t,g0t,w0t,b0t,m0t,v0t,Qbe,y0t,x0t,k0t,Zbe,j0t,eme,S0t,E0t,I0t,N0t,C0t,M0t,T0t,A0t,P0t,_0t,O0t,L0t,D0t,R0t,$0t,F0t,B0t,H0t,tme,K0t,q0t,nme,z0t,V0t,U0t,G0t,W0t,X0t,J0t,Y0t,Q0t,ime,Z0t,ept,tpt,npt,rme,ipt,rpt;j(Ko,"LayeredMetaDataProvider",859),k(998,1,zl,ITe),l.hf=function(t){Jst(t)};var uh,fJ,bD,fS,mD,sme,vD,Mm,yD,ome,cme,xD,hJ,$h,dJ,Kw,ume,SN,pJ,lme,spt,opt,cpt,kD,gJ,hS,Wp,upt,Zu,ame,fme,jD,wJ,lh,SD,Md,hme,dme,pme,bJ,mJ,gme,m1,vJ,wme,Tm,bme,mme,vme,ED,Am,Xp,yme,xme,Xs,kme,lpt,Ec,ID,jme,Sme,Eme,E0,Jp,ND,Ime,Nme,CD,qw,Cme,yJ,dS,Mme,zw,pS,MD,Yp,xJ,c5,TD,Qp,Tme,Ame,Pme,u5,_me,apt,fpt,hpt,dpt,Vw,Pm,Ji,v1,ppt,_m,Ome,l5,Lme,Om,gpt,a5,Dme,W3,wpt,bpt,EN,kJ,Rme,IN,Ea,A2,P2,Uw,Zp,AD,Lm,jJ,f5,h5,Gw,_2,SJ,NN,gS,wS,mpt,vpt,ypt,$me,xpt,EJ,Fme,Bme,Hme,Kme,IJ,qme,zme,Vme,Ume,NJ,PD;j(Ko,"LayeredOptions",998),k(999,1,{},pEe),l.sf=function(){var t;return t=new pLe,t},l.tf=function(t){},j(Ko,"LayeredOptions/LayeredFactory",999),k(1391,1,{}),l.a=0;var kpt;j(Co,"ElkSpacings/AbstractSpacingsBuilder",1391),k(792,1391,{},dle);var _D,jpt;j(Ko,"LayeredSpacings/LayeredSpacingsBuilder",792),k(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},vv),l.dg=function(){return fit(this)},l.qg=function(){return fit(this)};var d5,CJ,p5,Gme,Wme,Xme,OD,MJ,Jme,Yme=gn(Ko,"LayeringStrategy",265,xn,fDt,wNt),Spt;k(390,22,{3:1,34:1,22:1,390:1},FB);var TJ,Qme,LD,Zme=gn(Ko,"LongEdgeOrderingStrategy",390,xn,bPt,bNt),Ept;k(203,22,{3:1,34:1,22:1,203:1},ET);var O2,L2,DD,AJ,PJ=gn(Ko,"NodeFlexibility",203,xn,I_t,mNt),Ipt;k(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},dE),l.dg=function(){return tnt(this)},l.qg=function(){return tnt(this)};var bS,_J,OJ,mS,eve,tve=gn(Ko,"NodePlacementStrategy",323,xn,bOt,vNt),Npt;k(243,22,{3:1,34:1,22:1,243:1},Eb);var nve,Ww,Dm,CN,ive,rve,MN,sve,RD,$D,ove=gn(Ko,"NodePromotionStrategy",243,xn,DDt,yNt),Cpt;k(284,22,{3:1,34:1,22:1,284:1},IT);var cve,y1,LJ,DJ,uve=gn(Ko,"OrderingStrategy",284,xn,N_t,xNt),Mpt;k(430,22,{3:1,34:1,22:1,430:1},yie);var RJ,$J,lve=gn(Ko,"PortSortingStrategy",430,xn,vAt,kNt),Tpt;k(463,22,{3:1,34:1,22:1,463:1},BB);var au,gc,vS,Apt=gn(Ko,"PortType",463,xn,mPt,jNt),Ppt;k(387,22,{3:1,34:1,22:1,387:1},HB);var ave,FJ,fve,hve=gn(Ko,"SelfLoopDistributionStrategy",387,xn,vPt,SNt),_pt;k(349,22,{3:1,34:1,22:1,349:1},KB);var BJ,TN,HJ,dve=gn(Ko,"SelfLoopOrderingStrategy",349,xn,yPt,ENt),Opt;k(312,1,{312:1},Grt),j(Ko,"Spacings",312),k(350,22,{3:1,34:1,22:1,350:1},qB);var KJ,pve,yS,gve=gn(Ko,"SplineRoutingMode",350,xn,xPt,INt),Lpt;k(352,22,{3:1,34:1,22:1,352:1},zB);var qJ,wve,bve,mve=gn(Ko,"ValidifyStrategy",352,xn,kPt,NNt),Dpt;k(388,22,{3:1,34:1,22:1,388:1},VB);var Rm,zJ,g5,vve=gn(Ko,"WrappingStrategy",388,xn,jPt,CNt),Rpt;k(1398,1,Ts,bTe),l.rg=function(t){return c(t,36),$pt},l.Kf=function(t,n){oZt(this,c(t,36),n)};var $pt;j($O,"DepthFirstCycleBreaker",1398),k(793,1,Ts,_se),l.rg=function(t){return c(t,36),Fpt},l.Kf=function(t,n){ann(this,c(t,36),n)},l.sg=function(t){return c(Je(t,g_(this.d,t.c.length)),10)};var Fpt;j($O,"GreedyCycleBreaker",793),k(1401,793,Ts,aFe),l.sg=function(t){var n,i,r,o;for(o=null,n=ui,r=new q(t);r.a1&&(Xe(We(D(Yr((St(0,t.c.length),c(t.c[0],10))),(Ge(),Kw))))?pnt(t,this.d,c(this,669)):(jt(),ir(t,this.d)),dJe(this.e,t))},l.lg=function(t,n,i,r){var o,a,h,p,b,v,y;for(n!=TKe(i,t.length)&&(a=t[n-(i?1:-1)],uce(this.f,a,i?(Ns(),gc):(Ns(),au))),o=t[n][0],y=!r||o.k==(Kt(),rr),v=af(t[n]),this.vg(v,y,!1,i),h=0,b=new q(v);b.a"),t0?EK(this.a,t[n-1],t[n]):!i&&n1&&(Xe(We(D(Yr((St(0,t.c.length),c(t.c[0],10))),(Ge(),Kw))))?pnt(t,this.d,this):(jt(),ir(t,this.d)),Xe(We(D(Yr((St(0,t.c.length),c(t.c[0],10))),Kw)))||dJe(this.e,t))},j(Jc,"ModelOrderBarycenterHeuristic",669),k(1866,1,Dn,d_e),l.Ne=function(t,n){return oVt(this.a,c(t,10),c(n,10))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Jc,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),k(1423,1,Ts,CTe),l.rg=function(t){var n;return c(t,36),n=KT(tgt),Kn(n,(ss(),Xo),(hs(),GL)),n},l.Kf=function(t,n){qTt((c(t,36),n))};var tgt;j(Jc,"NoCrossingMinimizer",1423),k(809,413,V1e,qne),l.tg=function(t,n,i){var r,o,a,h,p,b,v,y,E,A,L;switch(E=this.g,i.g){case 1:{for(o=0,a=0,y=new q(t.j);y.a1&&(o.j==(qe(),Xt)?this.b[t]=!0:o.j==qt&&t>0&&(this.b[t-1]=!0))},l.f=0,j(Oh,"AllCrossingsCounter",1861),k(595,1,{},_P),l.b=0,l.d=0,j(Oh,"BinaryIndexedTree",595),k(532,1,{},OE);var kve,BD;j(Oh,"CrossingsCounter",532),k(1950,1,Dn,p_e),l.Ne=function(t,n){return gMt(this.a,c(t,12),c(n,12))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Oh,"CrossingsCounter/lambda$0$Type",1950),k(1951,1,Dn,g_e),l.Ne=function(t,n){return wMt(this.a,c(t,12),c(n,12))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Oh,"CrossingsCounter/lambda$1$Type",1951),k(1952,1,Dn,w_e),l.Ne=function(t,n){return bMt(this.a,c(t,12),c(n,12))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Oh,"CrossingsCounter/lambda$2$Type",1952),k(1953,1,Dn,b_e),l.Ne=function(t,n){return mMt(this.a,c(t,12),c(n,12))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Oh,"CrossingsCounter/lambda$3$Type",1953),k(1954,1,Zt,m_e),l.Cd=function(t){mLt(this.a,c(t,12))},j(Oh,"CrossingsCounter/lambda$4$Type",1954),k(1955,1,On,v_e),l.Mb=function(t){return q9t(this.a,c(t,12))},j(Oh,"CrossingsCounter/lambda$5$Type",1955),k(1956,1,Zt,y_e),l.Cd=function(t){tFe(this,t)},j(Oh,"CrossingsCounter/lambda$6$Type",1956),k(1957,1,Zt,h$e),l.Cd=function(t){var n;r4(),Q1(this.b,(n=this.a,c(t,12),n))},j(Oh,"CrossingsCounter/lambda$7$Type",1957),k(839,1,Zf,mte),l.Lb=function(t){return r4(),Ni(c(t,12),(Pe(),lu))},l.Fb=function(t){return this===t},l.Mb=function(t){return r4(),Ni(c(t,12),(Pe(),lu))},j(Oh,"CrossingsCounter/lambda$8$Type",839),k(1949,1,{},x_e),j(Oh,"HyperedgeCrossingsCounter",1949),k(478,1,{34:1,478:1},gHe),l.Fd=function(t){return bBt(this,c(t,478))},l.b=0,l.c=0,l.e=0,l.f=0;var Ynn=j(Oh,"HyperedgeCrossingsCounter/Hyperedge",478);k(374,1,{34:1,374:1},OA),l.Fd=function(t){return AGt(this,c(t,374))},l.b=0,l.c=0;var ngt=j(Oh,"HyperedgeCrossingsCounter/HyperedgeCorner",374);k(531,22,{3:1,34:1,22:1,531:1},xie);var kS,jS,igt=gn(Oh,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,xn,yAt,TNt),rgt;k(1425,1,Ts,MTe),l.rg=function(t){return c(D(c(t,36),(Pe(),cc)),21).Hc((Cs(),Nl))?sgt:null},l.Kf=function(t,n){KKt(this,c(t,36),n)};var sgt;j(As,"InteractiveNodePlacer",1425),k(1426,1,Ts,TTe),l.rg=function(t){return c(D(c(t,36),(Pe(),cc)),21).Hc((Cs(),Nl))?ogt:null},l.Kf=function(t,n){IHt(this,c(t,36),n)};var ogt,HD,KD;j(As,"LinearSegmentsNodePlacer",1426),k(261,1,{34:1,261:1},bne),l.Fd=function(t){return t9t(this,c(t,261))},l.Fb=function(t){var n;return ce(t,261)?(n=c(t,261),this.b==n.b):!1},l.Hb=function(){return this.b},l.Ib=function(){return"ls"+u0(this.e)},l.a=0,l.b=0,l.c=-1,l.d=-1,l.g=0;var cgt=j(As,"LinearSegmentsNodePlacer/LinearSegment",261);k(1428,1,Ts,BKe),l.rg=function(t){return c(D(c(t,36),(Pe(),cc)),21).Hc((Cs(),Nl))?ugt:null},l.Kf=function(t,n){tnn(this,c(t,36),n)},l.b=0,l.g=0;var ugt;j(As,"NetworkSimplexPlacer",1428),k(1447,1,Dn,SEe),l.Ne=function(t,n){return $o(c(t,17).a,c(n,17).a)},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(As,"NetworkSimplexPlacer/0methodref$compare$Type",1447),k(1449,1,Dn,EEe),l.Ne=function(t,n){return $o(c(t,17).a,c(n,17).a)},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(As,"NetworkSimplexPlacer/1methodref$compare$Type",1449),k(655,1,{655:1},d$e);var Qnn=j(As,"NetworkSimplexPlacer/EdgeRep",655);k(412,1,{412:1},doe),l.b=!1;var Znn=j(As,"NetworkSimplexPlacer/NodeRep",412);k(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},jLe),j(As,"NetworkSimplexPlacer/Path",515),k(1429,1,{},IEe),l.Kb=function(t){return c(t,18).d.i.k},j(As,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),k(1430,1,On,NEe),l.Mb=function(t){return c(t,273)==(Kt(),_r)},j(As,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),k(1431,1,{},CEe),l.Kb=function(t){return c(t,18).d.i},j(As,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),k(1432,1,On,k_e),l.Mb=function(t){return ZBe(nQe(c(t,10)))},j(As,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),k(1433,1,On,MEe),l.Mb=function(t){return ZCt(c(t,12))},j(As,"NetworkSimplexPlacer/lambda$0$Type",1433),k(1434,1,Zt,p$e),l.Cd=function(t){OEt(this.a,this.b,c(t,12))},j(As,"NetworkSimplexPlacer/lambda$1$Type",1434),k(1443,1,Zt,j_e),l.Cd=function(t){oUt(this.a,c(t,18))},j(As,"NetworkSimplexPlacer/lambda$10$Type",1443),k(1444,1,{},TEe),l.Kb=function(t){return Hu(),new gt(null,new yt(c(t,30).a,16))},j(As,"NetworkSimplexPlacer/lambda$11$Type",1444),k(1445,1,Zt,S_e),l.Cd=function(t){eJt(this.a,c(t,10))},j(As,"NetworkSimplexPlacer/lambda$12$Type",1445),k(1446,1,{},AEe),l.Kb=function(t){return Hu(),De(c(t,125).e)},j(As,"NetworkSimplexPlacer/lambda$13$Type",1446),k(1448,1,{},PEe),l.Kb=function(t){return Hu(),De(c(t,125).e)},j(As,"NetworkSimplexPlacer/lambda$15$Type",1448),k(1450,1,On,_Ee),l.Mb=function(t){return Hu(),c(t,412).c.k==(Kt(),er)},j(As,"NetworkSimplexPlacer/lambda$17$Type",1450),k(1451,1,On,OEe),l.Mb=function(t){return Hu(),c(t,412).c.j.c.length>1},j(As,"NetworkSimplexPlacer/lambda$18$Type",1451),k(1452,1,Zt,Wqe),l.Cd=function(t){FFt(this.c,this.b,this.d,this.a,c(t,412))},l.c=0,l.d=0,j(As,"NetworkSimplexPlacer/lambda$19$Type",1452),k(1435,1,{},LEe),l.Kb=function(t){return Hu(),new gt(null,new yt(c(t,30).a,16))},j(As,"NetworkSimplexPlacer/lambda$2$Type",1435),k(1453,1,Zt,E_e),l.Cd=function(t){DEt(this.a,c(t,12))},l.a=0,j(As,"NetworkSimplexPlacer/lambda$20$Type",1453),k(1454,1,{},DEe),l.Kb=function(t){return Hu(),new gt(null,new yt(c(t,30).a,16))},j(As,"NetworkSimplexPlacer/lambda$21$Type",1454),k(1455,1,Zt,I_e),l.Cd=function(t){WEt(this.a,c(t,10))},j(As,"NetworkSimplexPlacer/lambda$22$Type",1455),k(1456,1,On,REe),l.Mb=function(t){return ZBe(t)},j(As,"NetworkSimplexPlacer/lambda$23$Type",1456),k(1457,1,{},$Ee),l.Kb=function(t){return Hu(),new gt(null,new yt(c(t,30).a,16))},j(As,"NetworkSimplexPlacer/lambda$24$Type",1457),k(1458,1,On,N_e),l.Mb=function(t){return iEt(this.a,c(t,10))},j(As,"NetworkSimplexPlacer/lambda$25$Type",1458),k(1459,1,Zt,g$e),l.Cd=function(t){aVt(this.a,this.b,c(t,10))},j(As,"NetworkSimplexPlacer/lambda$26$Type",1459),k(1460,1,On,FEe),l.Mb=function(t){return Hu(),!ys(c(t,18))},j(As,"NetworkSimplexPlacer/lambda$27$Type",1460),k(1461,1,On,BEe),l.Mb=function(t){return Hu(),!ys(c(t,18))},j(As,"NetworkSimplexPlacer/lambda$28$Type",1461),k(1462,1,{},C_e),l.Ve=function(t,n){return LEt(this.a,c(t,30),c(n,30))},j(As,"NetworkSimplexPlacer/lambda$29$Type",1462),k(1436,1,{},HEe),l.Kb=function(t){return Hu(),new gt(null,new Wg(new Qt(en(nr(c(t,10)).a.Kc(),new M))))},j(As,"NetworkSimplexPlacer/lambda$3$Type",1436),k(1437,1,On,KEe),l.Mb=function(t){return Hu(),f_t(c(t,18))},j(As,"NetworkSimplexPlacer/lambda$4$Type",1437),k(1438,1,Zt,M_e),l.Cd=function(t){lQt(this.a,c(t,18))},j(As,"NetworkSimplexPlacer/lambda$5$Type",1438),k(1439,1,{},qEe),l.Kb=function(t){return Hu(),new gt(null,new yt(c(t,30).a,16))},j(As,"NetworkSimplexPlacer/lambda$6$Type",1439),k(1440,1,On,zEe),l.Mb=function(t){return Hu(),c(t,10).k==(Kt(),er)},j(As,"NetworkSimplexPlacer/lambda$7$Type",1440),k(1441,1,{},VEe),l.Kb=function(t){return Hu(),new gt(null,new Wg(new Qt(en(md(c(t,10)).a.Kc(),new M))))},j(As,"NetworkSimplexPlacer/lambda$8$Type",1441),k(1442,1,On,UEe),l.Mb=function(t){return Hu(),QCt(c(t,18))},j(As,"NetworkSimplexPlacer/lambda$9$Type",1442),k(1424,1,Ts,ATe),l.rg=function(t){return c(D(c(t,36),(Pe(),cc)),21).Hc((Cs(),Nl))?lgt:null},l.Kf=function(t,n){qQt(c(t,36),n)};var lgt;j(As,"SimpleNodePlacer",1424),k(185,1,{185:1},t2),l.Ib=function(){var t;return t="",this.c==(zf(),Xw)?t+=N3:this.c==x1&&(t+=I3),this.o==(uf(),eg)?t+=OU:this.o==If?t+="UP":t+="BALANCED",t},j(w0,"BKAlignedLayout",185),k(523,22,{3:1,34:1,22:1,523:1},kie);var x1,Xw,agt=gn(w0,"BKAlignedLayout/HDirection",523,xn,kAt,ANt),fgt;k(522,22,{3:1,34:1,22:1,522:1},jie);var eg,If,hgt=gn(w0,"BKAlignedLayout/VDirection",522,xn,jAt,PNt),dgt;k(1699,1,{},w$e),j(w0,"BKAligner",1699),k(1702,1,{},NZe),j(w0,"BKCompactor",1702),k(663,1,{663:1},GEe),l.a=0,j(w0,"BKCompactor/ClassEdge",663),k(467,1,{467:1},yLe),l.a=null,l.b=0,j(w0,"BKCompactor/ClassNode",467),k(1427,1,Ts,y$e),l.rg=function(t){return c(D(c(t,36),(Pe(),cc)),21).Hc((Cs(),Nl))?pgt:null},l.Kf=function(t,n){vnn(this,c(t,36),n)},l.d=!1;var pgt;j(w0,"BKNodePlacer",1427),k(1700,1,{},WEe),l.d=0,j(w0,"NeighborhoodInformation",1700),k(1701,1,Dn,T_e),l.Ne=function(t,n){return GLt(this,c(t,42),c(n,42))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(w0,"NeighborhoodInformation/NeighborComparator",1701),k(823,1,{}),j(w0,"ThresholdStrategy",823),k(1825,823,{},xLe),l.wg=function(t,n,i){return this.a.o==(uf(),If)?Li:br},l.xg=function(){},j(w0,"ThresholdStrategy/NullThresholdStrategy",1825),k(587,1,{587:1},x$e),l.c=!1,l.d=!1,j(w0,"ThresholdStrategy/Postprocessable",587),k(1826,823,{},kLe),l.wg=function(t,n,i){var r,o,a;return o=n==i,r=this.a.a[i.p]==n,o||r?(a=t,this.a.c==(zf(),Xw)?(o&&(a=_V(this,n,!0)),!isNaN(a)&&!isFinite(a)&&r&&(a=_V(this,i,!1))):(o&&(a=_V(this,n,!0)),!isNaN(a)&&!isFinite(a)&&r&&(a=_V(this,i,!1))),a):t},l.xg=function(){for(var t,n,i,r,o;this.d.b!=0;)o=c($At(this.d),587),r=trt(this,o),r.a&&(t=r.a,i=Xe(this.a.f[this.a.g[o.b.p].p]),!(!i&&!ys(t)&&t.c.i.c==t.d.i.c)&&(n=ont(this,o),n||oEt(this.e,o)));for(;this.e.a.c.length!=0;)ont(this,c(sYe(this.e),587))},j(w0,"ThresholdStrategy/SimpleThresholdStrategy",1826),k(645,1,{645:1,188:1,196:1},XEe),l.dg=function(){return pJe(this)},l.qg=function(){return pJe(this)};var VJ;j(PG,"EdgeRouterFactory",645),k(1485,1,Ts,PTe),l.rg=function(t){return TXt(c(t,36))},l.Kf=function(t,n){XQt(c(t,36),n)};var ggt,wgt,bgt,mgt,vgt,jve,ygt,xgt;j(PG,"OrthogonalEdgeRouter",1485),k(1478,1,Ts,v$e),l.rg=function(t){return QKt(c(t,36))},l.Kf=function(t,n){vtn(this,c(t,36),n)};var kgt,jgt,Sgt,Egt,PN,Igt;j(PG,"PolylineEdgeRouter",1478),k(1479,1,Zf,YEe),l.Lb=function(t){return aue(c(t,10))},l.Fb=function(t){return this===t},l.Mb=function(t){return aue(c(t,10))},j(PG,"PolylineEdgeRouter/1",1479),k(1872,1,On,QEe),l.Mb=function(t){return c(t,132).c==(za(),I0)},j(Ja,"HyperEdgeCycleDetector/lambda$0$Type",1872),k(1873,1,{},ZEe),l.Ze=function(t){return c(t,132).d},j(Ja,"HyperEdgeCycleDetector/lambda$1$Type",1873),k(1874,1,On,e7e),l.Mb=function(t){return c(t,132).c==(za(),I0)},j(Ja,"HyperEdgeCycleDetector/lambda$2$Type",1874),k(1875,1,{},t7e),l.Ze=function(t){return c(t,132).d},j(Ja,"HyperEdgeCycleDetector/lambda$3$Type",1875),k(1876,1,{},n7e),l.Ze=function(t){return c(t,132).d},j(Ja,"HyperEdgeCycleDetector/lambda$4$Type",1876),k(1877,1,{},JEe),l.Ze=function(t){return c(t,132).d},j(Ja,"HyperEdgeCycleDetector/lambda$5$Type",1877),k(118,1,{34:1,118:1},j7),l.Fd=function(t){return n9t(this,c(t,118))},l.Fb=function(t){var n;return ce(t,118)?(n=c(t,118),this.g==n.g):!1},l.Hb=function(){return this.g},l.Ib=function(){var t,n,i,r;for(t=new Fu("{"),r=new q(this.n);r.a"+this.b+" ("+x7t(this.c)+")"},l.d=0,j(Ja,"HyperEdgeSegmentDependency",132),k(528,22,{3:1,34:1,22:1,528:1},Sie);var I0,$m,Ngt=gn(Ja,"HyperEdgeSegmentDependency/DependencyType",528,xn,SAt,_Nt),Cgt;k(1878,1,{},A_e),j(Ja,"HyperEdgeSegmentSplitter",1878),k(1879,1,{},jDe),l.a=0,l.b=0,j(Ja,"HyperEdgeSegmentSplitter/AreaRating",1879),k(339,1,{339:1},_H),l.a=0,l.b=0,l.c=0,j(Ja,"HyperEdgeSegmentSplitter/FreeArea",339),k(1880,1,Dn,i7e),l.Ne=function(t,n){return xIt(c(t,118),c(n,118))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Ja,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),k(1881,1,Zt,Xqe),l.Cd=function(t){X_t(this.a,this.d,this.c,this.b,c(t,118))},l.b=0,j(Ja,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),k(1882,1,{},r7e),l.Kb=function(t){return new gt(null,new yt(c(t,118).e,16))},j(Ja,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),k(1883,1,{},s7e),l.Kb=function(t){return new gt(null,new yt(c(t,118).j,16))},j(Ja,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),k(1884,1,{},o7e),l.Ye=function(t){return pe(ye(t))},j(Ja,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),k(664,1,{},rK),l.a=0,l.b=0,l.c=0,j(Ja,"OrthogonalRoutingGenerator",664),k(1703,1,{},c7e),l.Kb=function(t){return new gt(null,new yt(c(t,118).e,16))},j(Ja,"OrthogonalRoutingGenerator/lambda$0$Type",1703),k(1704,1,{},u7e),l.Kb=function(t){return new gt(null,new yt(c(t,118).j,16))},j(Ja,"OrthogonalRoutingGenerator/lambda$1$Type",1704),k(670,1,{}),j(_G,"BaseRoutingDirectionStrategy",670),k(1870,670,{},ILe),l.yg=function(t,n,i){var r,o,a,h,p,b,v,y,E,A,L,$,H;if(!(t.r&&!t.q))for(y=n+t.o*i,v=new q(t.n);v.ath&&(a=y,o=t,r=new Ae(E,a),$n(h.a,r),yw(this,h,o,r,!1),A=t.r,A&&(L=pe(ye(xl(A.e,0))),r=new Ae(L,a),$n(h.a,r),yw(this,h,o,r,!1),a=n+A.o*i,o=A,r=new Ae(L,a),$n(h.a,r),yw(this,h,o,r,!1)),r=new Ae(H,a),$n(h.a,r),yw(this,h,o,r,!1)))},l.zg=function(t){return t.i.n.a+t.n.a+t.a.a},l.Ag=function(){return qe(),fn},l.Bg=function(){return qe(),Ht},j(_G,"NorthToSouthRoutingStrategy",1870),k(1871,670,{},NLe),l.yg=function(t,n,i){var r,o,a,h,p,b,v,y,E,A,L,$,H;if(!(t.r&&!t.q))for(y=n-t.o*i,v=new q(t.n);v.ath&&(a=y,o=t,r=new Ae(E,a),$n(h.a,r),yw(this,h,o,r,!1),A=t.r,A&&(L=pe(ye(xl(A.e,0))),r=new Ae(L,a),$n(h.a,r),yw(this,h,o,r,!1),a=n-A.o*i,o=A,r=new Ae(L,a),$n(h.a,r),yw(this,h,o,r,!1)),r=new Ae(H,a),$n(h.a,r),yw(this,h,o,r,!1)))},l.zg=function(t){return t.i.n.a+t.n.a+t.a.a},l.Ag=function(){return qe(),Ht},l.Bg=function(){return qe(),fn},j(_G,"SouthToNorthRoutingStrategy",1871),k(1869,670,{},CLe),l.yg=function(t,n,i){var r,o,a,h,p,b,v,y,E,A,L,$,H;if(!(t.r&&!t.q))for(y=n+t.o*i,v=new q(t.n);v.ath&&(a=y,o=t,r=new Ae(a,E),$n(h.a,r),yw(this,h,o,r,!0),A=t.r,A&&(L=pe(ye(xl(A.e,0))),r=new Ae(a,L),$n(h.a,r),yw(this,h,o,r,!0),a=n+A.o*i,o=A,r=new Ae(a,L),$n(h.a,r),yw(this,h,o,r,!0)),r=new Ae(a,H),$n(h.a,r),yw(this,h,o,r,!0)))},l.zg=function(t){return t.i.n.b+t.n.b+t.a.b},l.Ag=function(){return qe(),Xt},l.Bg=function(){return qe(),qt},j(_G,"WestToEastRoutingStrategy",1869),k(828,1,{},uhe),l.Ib=function(){return u0(this.a)},l.b=0,l.c=!1,l.d=!1,l.f=0,j(pm,"NubSpline",828),k(418,1,{418:1},Fnt,Nze),j(pm,"NubSpline/PolarCP",418),k(1480,1,Ts,vZe),l.rg=function(t){return Hqt(c(t,36))},l.Kf=function(t,n){$tn(this,c(t,36),n)};var Mgt,Tgt,Agt,Pgt,_gt;j(pm,"SplineEdgeRouter",1480),k(274,1,{274:1},iP),l.Ib=function(){return this.a+" ->("+this.c+") "+this.b},l.c=0,j(pm,"SplineEdgeRouter/Dependency",274),k(465,22,{3:1,34:1,22:1,465:1},Eie);var N0,D2,Ogt=gn(pm,"SplineEdgeRouter/SideToProcess",465,xn,TAt,ONt),Lgt;k(1481,1,On,l7e),l.Mb=function(t){return oj(),!c(t,131).o},j(pm,"SplineEdgeRouter/lambda$0$Type",1481),k(1482,1,{},a7e),l.Ze=function(t){return oj(),c(t,131).v+1},j(pm,"SplineEdgeRouter/lambda$1$Type",1482),k(1483,1,Zt,k$e),l.Cd=function(t){nMt(this.a,this.b,c(t,42))},j(pm,"SplineEdgeRouter/lambda$2$Type",1483),k(1484,1,Zt,j$e),l.Cd=function(t){iMt(this.a,this.b,c(t,42))},j(pm,"SplineEdgeRouter/lambda$3$Type",1484),k(131,1,{34:1,131:1},Zet,phe),l.Fd=function(t){return s9t(this,c(t,131))},l.b=0,l.e=!1,l.f=0,l.g=0,l.j=!1,l.k=!1,l.n=0,l.o=!1,l.p=!1,l.q=!1,l.s=0,l.u=0,l.v=0,l.F=0,j(pm,"SplineSegment",131),k(468,1,{468:1},f7e),l.a=0,l.b=!1,l.c=!1,l.d=!1,l.e=!1,l.f=0,j(pm,"SplineSegment/EdgeInformation",468),k(1198,1,{},h7e),j(Nd,fde,1198),k(1199,1,Dn,d7e),l.Ne=function(t,n){return jUt(c(t,121),c(n,121))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Nd,Xot,1199),k(1197,1,{},FDe),j(Nd,"MrTree",1197),k(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},NT),l.dg=function(){return ytt(this)},l.qg=function(){return ytt(this)};var qD,SS,ES,IS,Sve=gn(Nd,"TreeLayoutPhases",405,xn,P_t,LNt),Dgt;k(1112,205,Dp,dHe),l.rf=function(t,n){var i,r,o,a,h,p,b,v;for(Xe(We(Me(t,(Io(),Xve))))||XE((i=new d6((Dg(),new Cg(t))),i)),h=n.eh(DG),h.Ug("build tGraph",1),p=(b=new r7,no(b,t),Ne(b,(Si(),CS),t),v=new hn,gYt(t,b,v),OYt(t,b,v),b),h.Vg(),h=n.eh(DG),h.Ug("Split graph",1),a=xYt(this.a,p),h.Vg(),o=new q(a);o.a"+bp(this.c):"e_"+Ei(this)},j(Pj,"TEdge",65),k(121,137,{3:1,121:1,96:1,137:1},r7),l.Ib=function(){var t,n,i,r,o;for(o=null,r=wn(this.b,0);r.b!=r.d.c;)i=c(dn(r),40),o+=(i.c==null||i.c.length==0?"n_"+i.g:"n_"+i.c)+` -`;for(n=wn(this.a,0);n.b!=n.d.c;)t=c(dn(n),65),o+=(t.b&&t.c?bp(t.b)+"->"+bp(t.c):"e_"+Ei(t))+` -`;return o};var ein=j(Pj,"TGraph",121);k(643,508,{3:1,508:1,643:1,96:1,137:1}),j(Pj,"TShape",643),k(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},Dq),l.Ib=function(){return bp(this)};var zD=j(Pj,"TNode",40);k(236,1,Mh,nd),l.Jc=function(t){Qr(this,t)},l.Kc=function(){var t;return t=wn(this.a.d,0),new gv(t)},j(Pj,"TNode/2",236),k(329,1,Rr,gv),l.Nb=function(t){Jr(this,t)},l.Pb=function(){return c(dn(this.a),65).c},l.Ob=function(){return Z9(this.a)},l.Qb=function(){aq(this.a)},j(Pj,"TNode/2/1",329),k(1923,1,Ii,y7e),l.Kf=function(t,n){pnn(this,c(t,121),n)},j(rc,"CompactionProcessor",1923),k(1924,1,Dn,D_e),l.Ne=function(t,n){return tRt(this.a,c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(rc,"CompactionProcessor/lambda$0$Type",1924),k(1925,1,On,E$e),l.Mb=function(t){return cAt(this.b,this.a,c(t,42))},l.a=0,l.b=0,j(rc,"CompactionProcessor/lambda$1$Type",1925),k(1934,1,Dn,x7e),l.Ne=function(t,n){return QMt(c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(rc,"CompactionProcessor/lambda$10$Type",1934),k(1935,1,Dn,k7e),l.Ne=function(t,n){return h7t(c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(rc,"CompactionProcessor/lambda$11$Type",1935),k(1936,1,Dn,j7e),l.Ne=function(t,n){return ZMt(c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(rc,"CompactionProcessor/lambda$12$Type",1936),k(1926,1,On,R_e),l.Mb=function(t){return XEt(this.a,c(t,42))},l.a=0,j(rc,"CompactionProcessor/lambda$2$Type",1926),k(1927,1,On,$_e),l.Mb=function(t){return JEt(this.a,c(t,42))},l.a=0,j(rc,"CompactionProcessor/lambda$3$Type",1927),k(1928,1,On,S7e),l.Mb=function(t){return c(t,40).c.indexOf(BO)==-1},j(rc,"CompactionProcessor/lambda$4$Type",1928),k(1929,1,{},F_e),l.Kb=function(t){return l_t(this.a,c(t,40))},l.a=0,j(rc,"CompactionProcessor/lambda$5$Type",1929),k(1930,1,{},B_e),l.Kb=function(t){return bLt(this.a,c(t,40))},l.a=0,j(rc,"CompactionProcessor/lambda$6$Type",1930),k(1931,1,Dn,H_e),l.Ne=function(t,n){return COt(this.a,c(t,240),c(n,240))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(rc,"CompactionProcessor/lambda$7$Type",1931),k(1932,1,Dn,K_e),l.Ne=function(t,n){return MOt(this.a,c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(rc,"CompactionProcessor/lambda$8$Type",1932),k(1933,1,Dn,E7e),l.Ne=function(t,n){return d7t(c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(rc,"CompactionProcessor/lambda$9$Type",1933),k(1921,1,Ii,I7e),l.Kf=function(t,n){aJt(c(t,121),n)},j(rc,"DirectionProcessor",1921),k(1913,1,Ii,hHe),l.Kf=function(t,n){PYt(this,c(t,121),n)},j(rc,"FanProcessor",1913),k(1937,1,Ii,N7e),l.Kf=function(t,n){QXt(c(t,121),n)},j(rc,"GraphBoundsProcessor",1937),k(1938,1,{},C7e),l.Ye=function(t){return c(t,40).e.a},j(rc,"GraphBoundsProcessor/lambda$0$Type",1938),k(1939,1,{},M7e),l.Ye=function(t){return c(t,40).e.b},j(rc,"GraphBoundsProcessor/lambda$1$Type",1939),k(1940,1,{},T7e),l.Ye=function(t){return P9t(c(t,40))},j(rc,"GraphBoundsProcessor/lambda$2$Type",1940),k(1941,1,{},A7e),l.Ye=function(t){return A9t(c(t,40))},j(rc,"GraphBoundsProcessor/lambda$3$Type",1941),k(262,22,{3:1,34:1,22:1,262:1,196:1},Rg),l.dg=function(){switch(this.g){case 0:return new KLe;case 1:return new hHe;case 2:return new HLe;case 3:return new D7e;case 4:return new _7e;case 8:return new P7e;case 5:return new I7e;case 6:return new $7e;case 7:return new y7e;case 9:return new N7e;case 10:return new F7e;default:throw V(new Ft(QU+(this.f!=null?this.f:""+this.g)))}};var Eve,Ive,Nve,Cve,Mve,Tve,Ave,Pve,_ve,Ove,UJ,tin=gn(rc,ZU,262,xn,oJe,DNt),Rgt;k(1920,1,Ii,P7e),l.Kf=function(t,n){ftn(c(t,121),n)},j(rc,"LevelCoordinatesProcessor",1920),k(1918,1,Ii,_7e),l.Kf=function(t,n){PWt(this,c(t,121),n)},l.a=0,j(rc,"LevelHeightProcessor",1918),k(1919,1,Mh,O7e),l.Jc=function(t){Qr(this,t)},l.Kc=function(){return jt(),Xx(),Gk},j(rc,"LevelHeightProcessor/1",1919),k(1914,1,Ii,HLe),l.Kf=function(t,n){UXt(this,c(t,121),n)},j(rc,"LevelProcessor",1914),k(1915,1,On,L7e),l.Mb=function(t){return Xe(We(D(c(t,40),(Si(),C0))))},j(rc,"LevelProcessor/lambda$0$Type",1915),k(1916,1,Ii,D7e),l.Kf=function(t,n){MVt(this,c(t,121),n)},l.a=0,j(rc,"NeighborsProcessor",1916),k(1917,1,Mh,R7e),l.Jc=function(t){Qr(this,t)},l.Kc=function(){return jt(),Xx(),Gk},j(rc,"NeighborsProcessor/1",1917),k(1922,1,Ii,$7e),l.Kf=function(t,n){AYt(this,c(t,121),n)},l.a=0,j(rc,"NodePositionProcessor",1922),k(1912,1,Ii,KLe),l.Kf=function(t,n){dZt(this,c(t,121),n)},j(rc,"RootProcessor",1912),k(1942,1,Ii,F7e),l.Kf=function(t,n){lHt(c(t,121),n)},j(rc,"Untreeifyer",1942),k(392,22,{3:1,34:1,22:1,392:1},WB);var _N,GJ,Lve,Dve=gn(VI,"EdgeRoutingMode",392,xn,EPt,RNt),$gt,ON,w5,WJ,Rve,$ve,XJ,JJ,Fve,YJ,Bve,QJ,NS,ZJ,VD,UD,Ia,ef,b5,CS,MS,k1,Hve,Fgt,eY,C0,LN,DN;k(862,1,zl,_Te),l.hf=function(t){ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,W1e),""),Hct),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(_t(),!1)),(f1(),Mr)),Zi),lt((Xa(),Ct))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,X1e),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,J1e),""),"Tree Level"),"The index for the tree level the node is in"),De(0)),fo),es),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Y1e),""),Hct),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),De(-1)),fo),es),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Q1e),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),zve),Di),n2e),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Z1e),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),Kve),Di),Dve),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,e0e),""),"Search Order"),"Which search order to use when computing a spanning tree."),qve),Di),r2e),lt(Ct)))),Tst((new DTe,t))};var Bgt,Hgt,Kgt,Kve,qgt,zgt,qve,Vgt,Ugt,zve;j(VI,"MrTreeMetaDataProvider",862),k(1006,1,zl,DTe),l.hf=function(t){Tst(t)};var Ggt,Vve,Uve,Jw,Gve,Wve,tY,Wgt,Xgt,Jgt,Ygt,Qgt,Zgt,ewt,Xve,Jve,Yve,twt,R2,GD,Qve,nwt,Zve,nY,iwt,rwt,swt,e2e,owt,ah,t2e;j(VI,"MrTreeOptions",1006),k(1007,1,{},B7e),l.sf=function(){var t;return t=new dHe,t},l.tf=function(t){},j(VI,"MrTreeOptions/MrtreeFactory",1007),k(353,22,{3:1,34:1,22:1,353:1},CT);var iY,WD,rY,sY,n2e=gn(VI,"OrderWeighting",353,xn,__t,$Nt),cwt;k(433,22,{3:1,34:1,22:1,433:1},Iie);var i2e,oY,r2e=gn(VI,"TreeifyingOrder",433,xn,CAt,FNt),uwt;k(1486,1,Ts,RTe),l.rg=function(t){return c(t,121),lwt},l.Kf=function(t,n){qDt(this,c(t,121),n)};var lwt;j("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),k(1487,1,Ts,$Te),l.rg=function(t){return c(t,121),awt},l.Kf=function(t,n){JXt(this,c(t,121),n)};var awt;j(Ok,"NodeOrderer",1487),k(1494,1,{},wjt),l.td=function(t){return vKe(t)},j(Ok,"NodeOrderer/0methodref$lambda$6$Type",1494),k(1488,1,On,nIe),l.Mb=function(t){return r3(),Xe(We(D(c(t,40),(Si(),C0))))},j(Ok,"NodeOrderer/lambda$0$Type",1488),k(1489,1,On,iIe),l.Mb=function(t){return r3(),c(D(c(t,40),(Io(),R2)),17).a<0},j(Ok,"NodeOrderer/lambda$1$Type",1489),k(1490,1,On,z_e),l.Mb=function(t){return mDt(this.a,c(t,40))},j(Ok,"NodeOrderer/lambda$2$Type",1490),k(1491,1,On,q_e),l.Mb=function(t){return h_t(this.a,c(t,40))},j(Ok,"NodeOrderer/lambda$3$Type",1491),k(1492,1,Dn,rIe),l.Ne=function(t,n){return HLt(c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Ok,"NodeOrderer/lambda$4$Type",1492),k(1493,1,On,sIe),l.Mb=function(t){return r3(),c(D(c(t,40),(Si(),JJ)),17).a!=0},j(Ok,"NodeOrderer/lambda$5$Type",1493),k(1495,1,Ts,LTe),l.rg=function(t){return c(t,121),fwt},l.Kf=function(t,n){rYt(this,c(t,121),n)},l.b=0;var fwt;j("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),k(1496,1,Ts,OTe),l.rg=function(t){return c(t,121),hwt},l.Kf=function(t,n){BJt(c(t,121),n)};var hwt,nin=j(Du,"EdgeRouter",1496);k(1498,1,Dn,tIe),l.Ne=function(t,n){return $o(c(t,17).a,c(n,17).a)},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/0methodref$compare$Type",1498),k(1503,1,{},K7e),l.Ye=function(t){return pe(ye(t))},j(Du,"EdgeRouter/1methodref$doubleValue$Type",1503),k(1505,1,Dn,q7e),l.Ne=function(t,n){return xi(pe(ye(t)),pe(ye(n)))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/2methodref$compare$Type",1505),k(1507,1,Dn,z7e),l.Ne=function(t,n){return xi(pe(ye(t)),pe(ye(n)))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/3methodref$compare$Type",1507),k(1509,1,{},H7e),l.Ye=function(t){return pe(ye(t))},j(Du,"EdgeRouter/4methodref$doubleValue$Type",1509),k(1511,1,Dn,V7e),l.Ne=function(t,n){return xi(pe(ye(t)),pe(ye(n)))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/5methodref$compare$Type",1511),k(1513,1,Dn,U7e),l.Ne=function(t,n){return xi(pe(ye(t)),pe(ye(n)))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/6methodref$compare$Type",1513),k(1497,1,{},G7e),l.Kb=function(t){return pd(),c(D(c(t,40),(Io(),ah)),17)},j(Du,"EdgeRouter/lambda$0$Type",1497),k(1508,1,{},W7e),l.Kb=function(t){return I7t(c(t,40))},j(Du,"EdgeRouter/lambda$11$Type",1508),k(1510,1,{},I$e),l.Kb=function(t){return eMt(this.b,this.a,c(t,40))},l.a=0,l.b=0,j(Du,"EdgeRouter/lambda$13$Type",1510),k(1512,1,{},N$e),l.Kb=function(t){return N7t(this.b,this.a,c(t,40))},l.a=0,l.b=0,j(Du,"EdgeRouter/lambda$15$Type",1512),k(1514,1,Dn,X7e),l.Ne=function(t,n){return FBt(c(t,65),c(n,65))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/lambda$17$Type",1514),k(1515,1,Dn,J7e),l.Ne=function(t,n){return BBt(c(t,65),c(n,65))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/lambda$18$Type",1515),k(1516,1,Dn,Y7e),l.Ne=function(t,n){return KBt(c(t,65),c(n,65))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/lambda$19$Type",1516),k(1499,1,On,V_e),l.Mb=function(t){return qAt(this.a,c(t,40))},l.a=0,j(Du,"EdgeRouter/lambda$2$Type",1499),k(1517,1,Dn,Q7e),l.Ne=function(t,n){return HBt(c(t,65),c(n,65))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/lambda$20$Type",1517),k(1500,1,Dn,Z7e),l.Ne=function(t,n){return BCt(c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/lambda$3$Type",1500),k(1501,1,Dn,eIe),l.Ne=function(t,n){return HCt(c(t,40),c(n,40))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"EdgeRouter/lambda$4$Type",1501),k(1502,1,{},oIe),l.Kb=function(t){return C7t(c(t,40))},j(Du,"EdgeRouter/lambda$5$Type",1502),k(1504,1,{},C$e),l.Kb=function(t){return tMt(this.b,this.a,c(t,40))},l.a=0,l.b=0,j(Du,"EdgeRouter/lambda$7$Type",1504),k(1506,1,{},M$e),l.Kb=function(t){return M7t(this.b,this.a,c(t,40))},l.a=0,l.b=0,j(Du,"EdgeRouter/lambda$9$Type",1506),k(675,1,{675:1},cZe),l.e=0,l.f=!1,l.g=!1,j(Du,"MultiLevelEdgeNodeNodeGap",675),k(1943,1,Dn,cIe),l.Ne=function(t,n){return ZAt(c(t,240),c(n,240))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),k(1944,1,Dn,uIe),l.Ne=function(t,n){return ePt(c(t,240),c(n,240))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Du,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var $2;k(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},Nie),l.dg=function(){return GYe(this)},l.qg=function(){return GYe(this)};var XD,F2,s2e=gn(t0e,"RadialLayoutPhases",501,xn,xAt,BNt),dwt;k(1113,205,Dp,$De),l.rf=function(t,n){var i,r,o,a,h,p;if(i=Ont(this,t),n.Ug("Radial layout",i.c.length),Xe(We(Me(t,(a0(),w2e))))||XE((r=new d6((Dg(),new Cg(t))),r)),p=zqt(t),bi(t,(Pv(),$2),p),!p)throw V(new Ft("The given graph is not a tree!"));for(o=pe(ye(Me(t,QD))),o==0&&(o=ptt(t)),bi(t,QD,o),h=new q(Ont(this,t));h.a=3)for(Te=c(le(he,0),27),He=c(le(he,1),27),a=0;a+2=Te.f+He.f+y||He.f>=Ee.f+Te.f+y){at=!0;break}else++a;else at=!0;if(!at){for(A=he.i,p=new Jt(he);p.e!=p.i.gc();)h=c(tn(p),27),bi(h,(Un(),JN),De(A)),--A;art(t,new jy),n.Vg();return}for(i=(zE(this.a),Ka(this.a,(i_(),$N),c(Me(t,V2e),188)),Ka(this.a,ZD,c(Me(t,F2e),188)),Ka(this.a,mY,c(Me(t,K2e),188)),Vie(this.a,(At=new ur,Kn(At,$N,(p_(),xY)),Kn(At,ZD,yY),Xe(We(Me(t,R2e)))&&Kn(At,$N,vY),At)),wI(this.a,t)),v=1/i.c.length,$=new q(i);$.a<$.c.c.length;){if(L=c(K($),47),n.$g())return;L.Kf(t,n.eh(v))}for(X=0,H=0,ue=new Jt(he);ue.e!=ue.i.gc();)ie=c(tn(ue),27),X=w.Math.max(X,ie.i+ie.g),H=w.Math.max(H,ie.j+ie.f);zae(t,new Ae(pe(ye(Me(t,(Nh(),X3)))),pe(ye(Me(t,m5)))),new Ae(X,H)),cRt(he,E),b||kw(t,pe(ye(Me(t,X3)))+(E.b+E.c),pe(ye(Me(t,m5)))+(E.d+E.a),!1,!0),Xe(We(Me(t,EY)))||XE((r=new d6((Dg(),new Cg(t))),r)),n.Vg()},j(Yct,"RectPackingLayoutProvider",1118),k(1518,1,Ii,SIe),l.Kf=function(t,n){BQt(c(t,27),n)},j(zO,"InteractiveNodeReorderer",1518),k(1519,1,Dn,EIe),l.Ne=function(t,n){return GRt(c(t,27),c(n,27))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(zO,"InteractiveNodeReorderer/lambda$0$Type",1519),k(456,22,{3:1,34:1,22:1,456:1,196:1},QB),l.dg=function(){switch(this.g){case 0:return new SIe;case 1:return new NIe;case 2:return new IIe}return null};var vY,yY,xY,Bwt=gn(zO,ZU,456,xn,PPt,GNt),Hwt;k(1521,1,Ii,IIe),l.Kf=function(t,n){cBt(c(t,27),n)},j(zO,"MinSizePostProcessor",1521),k(1520,1,Ii,NIe),l.Kf=function(t,n){s$t(c(t,27),n)},j(zO,"MinSizePreProcessor",1520);var TS,m5,X3,Kwt,qwt,eR,kY,jY,AS,tR,Fm;k(394,22,{3:1,34:1,22:1,394:1},ZB);var T2e,A2e,SY,P2e=gn(qG,"OptimizationGoal",394,xn,TPt,WNt),zwt;k(867,1,zl,HTe),l.hf=function(t){ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,g0e),""),"Try box layout first"),"Whether one should check whether the regions are stackable to see whether box layout would do the job. For example, nodes with the same height are not stackable inside a row. Therefore, box layout will perform better and faster."),(_t(),!1)),(f1(),Mr)),Zi),lt((Xa(),Ct))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,w0e),""),"Current position of a node in the order of nodes"),"The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node."),De(-1)),fo),es),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,b0e),""),"Desired index of node"),"The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position."),De(-1)),fo),es),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,m0e),""),"In new Row"),"If set to true this node begins in a new row. Consequently this node cannot be moved in a previous layer during compaction. Width approximation does does not take this into account."),!1),Mr),Zi),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,v0e),zG),"Width Approximation Strategy"),"Strategy for finding an initial width of the drawing."),L2e),Di),W2e),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,y0e),zG),"Target Width"),"Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding."),-1),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,x0e),zG),"Optimization Goal"),"Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored."),O2e),Di),P2e),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,k0e),zG),"Shift Last Placed."),"When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces."),!0),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,j0e),"packing"),Qct),"Strategy for finding an initial placement on nodes."),_2e),Di),Y2e),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,S0e),Zct),"Row Height Reevaluation"),"During the compaction step the height of a row is normally not changed. If this options is set, the blocks of other rows might be added if they exceed the row height. If this is the case the whole row has to be packed again to be optimal regarding the new row height. This option should, therefore, be used with care since it might be computation heavy."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,E0e),Zct),"Compaction iterations"),"Defines the number of compaction iterations. E.g. if set to 2 the width is initially approximated, then the drawing is compacted and based on the resulting drawing the target width is decreased or increased and a second compaction step is executed and the result compared to the first one. The best run is used based on the scale measure."),De(1)),fo),es),lt(Ct)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,I0e),"whiteSpaceElimination"),"White Space Approximation Strategy"),"Strategy for expanding nodes such that whitespace in the parent is eliminated."),Di),eye),lt(Ct)))),Bst((new KTe,t))};var Vwt,Uwt,Gwt,Wwt,Xwt,Jwt,_2e,Ywt,Qwt,Zwt,ebt,O2e,tbt,L2e,nbt;j(qG,"RectPackingMetaDataProvider",867),k(1016,1,zl,KTe),l.hf=function(t){Bst(t)};var nR,ibt,D2e,FN,R2e,rbt,BN,sbt,obt,cbt,ubt,lbt,EY,$2e,IY,F2e,PS,B2e,abt,_S,H2e,K2e,q2e,z2e,V2e,NY;j(qG,"RectPackingOptions",1016),k(1017,1,{},CIe),l.sf=function(){var t;return t=new BDe,t},l.tf=function(t){},j(qG,"RectPackingOptions/RectpackingFactory",1017),k(1705,1,{},qHe),l.a=0,l.c=!1,j(Lk,"AreaApproximation",1705);var U2e=qi(Lk,"BestCandidateFilter");k(673,1,{535:1},AF),l.Hg=function(t,n,i){var r,o,a,h,p,b;for(b=new Re,a=Li,p=new q(t);p.a0&&bYe((Bt(n-1,t.length),t.charCodeAt(n-1)),oct);)--n;if(r>=n)throw V(new Ft("The given string does not contain any numbers."));if(o=cm((Ur(r,n,t.length),t.substr(r,n-r)),`,|;|\r| -`),o.length!=2)throw V(new Ft("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=em(tm(o[0])),this.b=em(tm(o[1]))}catch(a){throw a=Ri(a),ce(a,130)?(i=a,V(new Ft(cct+i))):V(a)}},l.Ib=function(){return"("+this.a+","+this.b+")"},l.a=0,l.b=0;var Ar=j(BI,"KVector",8);k(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},Hc,tT,DBe),l.Pc=function(){return o$t(this)},l.cg=function(t){var n,i,r,o,a,h;r=cm(t,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | -`),Bu(this);try{for(i=0,a=0,o=0,h=0;i0&&(a%2==0?o=em(r[i]):h=em(r[i]),a>0&&a%2!=0&&$n(this,new Ae(o,h)),++a),++i}catch(p){throw p=Ri(p),ce(p,130)?(n=p,V(new Ft("The given string does not match the expected format for vectors."+n))):V(p)}},l.Ib=function(){var t,n,i;for(t=new Fu("("),n=wn(this,0);n.b!=n.d.c;)i=c(dn(n),8),Hn(t,i.a+","+i.b),n.b!=n.d.c&&(t.a+="; ");return(t.a+=")",t).a};var Cye=j(BI,"KVectorChain",75);k(255,22,{3:1,34:1,22:1,255:1},F6);var HY,lR,aR,qN,zN,fR,Mye=gn(ku,"Alignment",255,xn,iLt,aCt),Gbt;k(991,1,zl,GTe),l.hf=function(t){Git(t)};var Tye,KY,Wbt,Aye,Pye,Xbt,_ye,Jbt,Ybt,Oye,Lye,Qbt;j(ku,"BoxLayouterOptions",991),k(992,1,{},wNe),l.sf=function(){var t;return t=new vNe,t},l.tf=function(t){},j(ku,"BoxLayouterOptions/BoxFactory",992),k(298,22,{3:1,34:1,22:1,298:1},B6);var RS,qY,$S,FS,BS,zY,VY=gn(ku,"ContentAlignment",298,xn,rLt,fCt),Zbt;k(699,1,zl,Ete),l.hf=function(t){ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,uut),""),"Layout Algorithm"),"Select a specific layout algorithm."),(f1(),H2)),Ye),lt((Xa(),Ct))))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,lut),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),Nf),sin),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,S1e),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),Dye),Di),Mye),lt(Sr)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,M3),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,R0e),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),Nf),Cye),lt(fh)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,LO),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),$ye),Y3),VY),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,zI),""),"Debug Mode"),"Whether additional debug information shall be generated."),(_t(),!1)),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,MG),""),rde),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),Fye),Di),KS),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,qI),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),Kye),Di),sQ),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,L0e),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,OO),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),Vye),Di),A3e),Ci(Ct,J(W(Fh,1),Ce,170,0,[Sr]))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Iw),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),e3e),Nf),twe),Ci(Ct,J(W(Fh,1),Ce,170,0,[Sr]))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Ej),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,RO),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Ij),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,XU),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),s3e),Di),O3e),lt(Sr)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,DO),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),Nf),Ar),Ci(Sr,J(W(Fh,1),Ce,170,0,[tg,j1]))))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,OI),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),fo),es),Ci(Sr,J(W(Fh,1),Ce,170,0,[fh]))))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,wO),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),fo),es),lt(Ct)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,Sj),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,L1e),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),Uye),Nf),Cye),lt(fh)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,$1e),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),Mr),Zi),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,F1e),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),Mr),Zi),lt(Sr)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,Pnn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),Nf),ain),Ci(Ct,J(W(Fh,1),Ce,170,0,[j1]))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,H1e),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),Gye),Nf),ewe),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,k1e),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),Mr),Zi),Ci(Sr,J(W(Fh,1),Ce,170,0,[fh,tg,j1]))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,aut),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),us),dr),lt(Sr)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,fut),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,hut),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,LI),""),iut),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),Mr),Zi),lt(Ct)))),lr(t,LI,Nw,null),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,dut),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,put),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),De(100)),fo),es),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,gut),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,wut),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),De(4e3)),fo),es),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,but),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),De(400)),fo),es),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,mut),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,vut),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,yut),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,xut),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,D0e),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),Rye),Di),z3e),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,f1e),kf),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,h1e),kf),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,KU),kf),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,d1e),kf),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,WU),kf),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,CG),kf),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,p1e),kf),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,b1e),kf),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,g1e),kf),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,w1e),kf),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,dm),kf),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,m1e),kf),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),us),dr),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,v1e),kf),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),us),dr),Ci(Ct,J(W(Fh,1),Ce,170,0,[Sr]))))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,y1e),kf),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),Nf),Bmt),Ci(Sr,J(W(Fh,1),Ce,170,0,[fh,tg,j1]))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,K1e),kf),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),w3e),Nf),ewe),lt(Ct)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,AG),Sut),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),fo),es),Ci(Ct,J(W(Fh,1),Ce,170,0,[Sr]))))),lr(t,AG,TG,umt),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,TG),Sut),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),t3e),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,N1e),Eut),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),Xye),Nf),twe),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Ak),Eut),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),Jye),Y3),Ps),Ci(Sr,J(W(Fh,1),Ce,170,0,[j1]))))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,T1e),GO),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),i3e),Di),US),lt(Sr)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,A1e),GO),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),Di),US),lt(Sr)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,P1e),GO),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),Di),US),lt(Sr)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,_1e),GO),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),Di),US),lt(Sr)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,O1e),GO),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),Di),US),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,a2),ZG),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),Yye),Y3),XS),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,T3),ZG),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),Zye),Y3),D3e),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,A3),ZG),"Node Size Minimum"),"The minimal size to which a node can be reduced."),Qye),Nf),Ar),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Tk),ZG),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),Mr),Zi),lt(Ct)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,D1e),NG),"Edge Label Placement"),"Gives a hint on where to put edge labels."),Bye),Di),v3e),lt(j1)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,bO),NG),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),Mr),Zi),lt(j1)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,_nn),"font"),"Font Name"),"Font name used for a label."),H2),Ye),lt(j1)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,kut),"font"),"Font Size"),"Font size used for a label."),fo),es),lt(j1)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,B1e),eW),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),Nf),Ar),lt(tg)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,R1e),eW),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),fo),es),lt(tg)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,j1e),eW),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),u3e),Di),ks),lt(tg)))),ct(t,new Ze(st(rt(ot(et(it(tt(nt(new Qe,x1e),eW),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),us),dr),lt(tg)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Pk),B0e),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),o3e),Y3),bR),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,C1e),B0e),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),Mr),Zi),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,M1e),B0e),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),Mr),Zi),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,DI),GI),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),us),dr),lt(Ct)))),lr(t,DI,Nw,wmt),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,$0e),GI),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),Di),jR),lt(Sr)))),lr(t,$0e,Nw,bmt),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,RI),GI),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),us),dr),Ci(Ct,J(W(Fh,1),Ce,170,0,[Sr]))))),lr(t,RI,Nw,null),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,$I),GI),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),us),dr),Ci(Ct,J(W(Fh,1),Ce,170,0,[Sr]))))),lr(t,$I,Nw,null),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,Nw),GI),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),Di),$3e),lt(Sr)))),lr(t,Nw,Tk,null),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,F0e),GI),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),us),dr),lt(Ct)))),lr(t,F0e,Nw,gmt),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,E1e),Iut),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),Mr),Zi),lt(Sr)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,I1e),Iut),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),Mr),Zi),lt(fh)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,qU),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),us),dr),lt(fh)))),ct(t,new Ze(st(rt(ot(bt(et(it(tt(nt(new Qe,jut),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),zye),Di),E3e),lt(fh)))),M6(t,new Yy(S6(zx(qx(new my,Wt),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),M6(t,new Yy(S6(zx(qx(new my,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),M6(t,new Yy(S6(zx(qx(new my,jc),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),M6(t,new Yy(S6(zx(qx(new my,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),M6(t,new Yy(S6(zx(qx(new my,Kct),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),M6(t,new Yy(S6(zx(qx(new my,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),M6(t,new Yy(S6(zx(qx(new my,jl),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),Pit((new WTe,t)),Git((new GTe,t)),oit((new XTe,t))};var v5,emt,Dye,K2,tmt,nmt,Rye,q2,z2,imt,VN,$ye,UN,ng,Fye,UY,GY,Bye,Hye,Kye,qye,zye,rmt,V2,Vye,smt,GN,WY,WN,XY,Yw,Uye,y5,Gye,Wye,Xye,U2,Jye,ig,Yye,Bm,G2,Qye,M0,Zye,hR,XN,S1,e3e,omt,t3e,cmt,umt,n3e,i3e,JY,YY,QY,ZY,r3e,ju,HS,s3e,eQ,tQ,Hm,o3e,c3e,W2,u3e,Q3,JN,nQ,X2,lmt,iQ,amt,fmt,l3e,hmt,a3e,f3e,Z3,h3e,dR,d3e,p3e,rg,dmt,g3e,w3e,b3e,pR,YN,x5,ex,pmt,gmt,gR,wmt,m3e,bmt;j(ku,"CoreOptions",699),k(88,22,{3:1,34:1,22:1,88:1},vE);var Cf,Js,so,Mf,Cl,KS=gn(ku,rde,88,xn,uOt,hCt),mmt;k(278,22,{3:1,34:1,22:1,278:1},nH);var k5,Km,j5,v3e=gn(ku,"EdgeLabelPlacement",278,xn,RPt,dCt),vmt;k(223,22,{3:1,34:1,22:1,223:1},TT);var S5,QN,tx,rQ,sQ=gn(ku,"EdgeRouting",223,xn,R_t,pCt),ymt;k(321,22,{3:1,34:1,22:1,321:1},H6);var y3e,x3e,k3e,j3e,oQ,S3e,E3e=gn(ku,"EdgeType",321,xn,nLt,gCt),xmt;k(989,1,zl,WTe),l.hf=function(t){Pit(t)};var I3e,N3e,C3e,M3e,kmt,T3e,qS;j(ku,"FixedLayouterOptions",989),k(990,1,{},bNe),l.sf=function(){var t;return t=new CNe,t},l.tf=function(t){},j(ku,"FixedLayouterOptions/FixedFactory",990),k(346,22,{3:1,34:1,22:1,346:1},iH);var E1,wR,zS,A3e=gn(ku,"HierarchyHandling",346,xn,LPt,wCt),jmt;k(291,22,{3:1,34:1,22:1,291:1},AT);var Bh,T0,ZN,eC,Smt=gn(ku,"LabelSide",291,xn,D_t,bCt),Emt;k(95,22,{3:1,34:1,22:1,95:1},yv);var Td,Na,Jl,Ca,el,Ma,Yl,Hh,Ta,Ps=gn(ku,"NodeLabelPlacement",95,xn,iDt,mCt),Imt;k(256,22,{3:1,34:1,22:1,256:1},yE);var P3e,VS,A0,_3e,tC,US=gn(ku,"PortAlignment",256,xn,jOt,vCt),Nmt;k(101,22,{3:1,34:1,22:1,101:1},K6);var sg,uc,Kh,E5,Tf,P0,O3e=gn(ku,"PortConstraints",101,xn,tLt,yCt),Cmt;k(279,22,{3:1,34:1,22:1,279:1},q6);var GS,WS,Ad,nC,_0,nx,bR=gn(ku,"PortLabelPlacement",279,xn,eLt,xCt),Mmt;k(64,22,{3:1,34:1,22:1,64:1},xE);var Xt,Ht,Ml,Tl,Lc,Ic,Af,Aa,fu,Qc,lc,hu,Dc,Rc,Pa,tl,nl,Ql,fn,ko,qt,ks=gn(ku,"PortSide",64,xn,lOt,kCt),Tmt;k(993,1,zl,XTe),l.hf=function(t){oit(t)};var Amt,Pmt,L3e,_mt,Omt;j(ku,"RandomLayouterOptions",993),k(994,1,{},mNe),l.sf=function(){var t;return t=new ENe,t},l.tf=function(t){},j(ku,"RandomLayouterOptions/RandomFactory",994),k(386,22,{3:1,34:1,22:1,386:1},PT);var qm,iC,rC,og,XS=gn(ku,"SizeConstraint",386,xn,L_t,jCt),Lmt;k(264,22,{3:1,34:1,22:1,264:1},xv);var sC,mR,I5,cQ,oC,JS,vR,yR,xR,D3e=gn(ku,"SizeOptions",264,xn,gDt,SCt),Dmt;k(280,22,{3:1,34:1,22:1,280:1},rH);var zm,R3e,kR,$3e=gn(ku,"TopdownNodeTypes",280,xn,$Pt,ECt),Rmt;k(347,22,H0e);var F3e,B3e,jR=gn(ku,"TopdownSizeApproximator",347,xn,_At,NCt);k(987,347,H0e,mKe),l.Tg=function(t){return WQe(t)},gn(ku,"TopdownSizeApproximator/1",987,jR,null,null),k(988,347,H0e,iqe),l.Tg=function(t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut,At;for(n=c(Me(t,(Un(),X2)),143),He=(K1(),L=new m6,L),oI(He,t),at=new hn,a=new Jt((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a));a.e!=a.i.gc();)r=c(tn(a),27),ue=(A=new m6,A),$_(ue,He),oI(ue,r),At=WQe(r),Iv(ue,w.Math.max(r.g,At.a),w.Math.max(r.f,At.b)),dc(at.f,r,ue);for(o=new Jt((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a));o.e!=o.i.gc();)for(r=c(tn(o),27),y=new Jt((!r.e&&(r.e=new It(tr,r,7,4)),r.e));y.e!=y.i.gc();)v=c(tn(y),74),Ee=c(Qs(Is(at.f,r)),27),Te=c(Yt(at,le((!v.c&&(v.c=new It(cn,v,5,8)),v.c),0)),27),he=(E=new LF,E),yn((!he.b&&(he.b=new It(cn,he,4,7)),he.b),Ee),yn((!he.c&&(he.c=new It(cn,he,5,8)),he.c),Te),R_(he,Oi(Ee)),oI(he,v);H=c(WE(n.f),205);try{H.rf(He,new ANe),Oqe(n.f,H)}catch(Pt){throw Pt=Ri(Pt),ce(Pt,103)?($=Pt,V($)):V(Pt)}return hf(He,z2)||hf(He,q2)||Nhe(He),b=pe(ye(Me(He,z2))),p=pe(ye(Me(He,q2))),h=b/p,i=pe(ye(Me(He,YN)))*w.Math.sqrt((!He.a&&(He.a=new Ie(ti,He,10,11)),He.a).i),ut=c(Me(He,S1),107),ie=ut.b+ut.c+1,X=ut.d+ut.a+1,new Ae(w.Math.max(ie,i),w.Math.max(X,i/h))},gn(ku,"TopdownSizeApproximator/2",988,jR,null,null);var $mt;k(344,1,{871:1},jy),l.Ug=function(t,n){return cet(this,t,n)},l.Vg=function(){Pet(this)},l.Wg=function(){return this.q},l.Xg=function(){return this.f?vK(this.f):null},l.Yg=function(){return vK(this.a)},l.Zg=function(){return this.p},l.$g=function(){return!1},l._g=function(){return this.n},l.ah=function(){return this.p!=null&&!this.b},l.bh=function(t){var n;this.n&&(n=t,$e(this.f,n))},l.dh=function(t,n){var i,r;this.n&&t&&ZPt(this,(i=new gqe,r=jV(i,t),Oen(i),r),(qP(),lQ))},l.eh=function(t){var n;return this.b?null:(n=$Lt(this,this.g),$n(this.a,n),n.i=this,this.d=t,n)},l.fh=function(t){t>0&&!this.b&&zce(this,t)},l.b=!1,l.c=0,l.d=-1,l.e=null,l.f=null,l.g=-1,l.j=!1,l.k=!1,l.n=!1,l.o=0,l.q=0,l.r=0,j(Co,"BasicProgressMonitor",344),k(717,205,Dp,vNe),l.rf=function(t,n){art(t,n)},j(Co,"BoxLayoutProvider",717),k(983,1,Dn,iOe),l.Ne=function(t,n){return OWt(this,c(t,27),c(n,27))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},l.a=!1,j(Co,"BoxLayoutProvider/1",983),k(163,1,{163:1},yP,KBe),l.Ib=function(){return this.c?qfe(this.c):u0(this.b)},j(Co,"BoxLayoutProvider/Group",163),k(320,22,{3:1,34:1,22:1,320:1},_T);var H3e,K3e,q3e,uQ,z3e=gn(Co,"BoxLayoutProvider/PackingMode",320,xn,$_t,CCt),Fmt;k(984,1,Dn,yNe),l.Ne=function(t,n){return ZTt(c(t,163),c(n,163))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Co,"BoxLayoutProvider/lambda$0$Type",984),k(985,1,Dn,xNe),l.Ne=function(t,n){return VTt(c(t,163),c(n,163))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Co,"BoxLayoutProvider/lambda$1$Type",985),k(986,1,Dn,kNe),l.Ne=function(t,n){return UTt(c(t,163),c(n,163))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Co,"BoxLayoutProvider/lambda$2$Type",986),k(1384,1,{845:1},jNe),l.Mg=function(t,n){return aT(),!ce(n,167)||qDe((o3(),c(t,167)),n)},j(Co,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),k(1385,1,Zt,rOe),l.Cd=function(t){l$t(this.a,c(t,149))},j(Co,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),k(1386,1,Zt,INe),l.Cd=function(t){c(t,96),aT()},j(Co,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),k(1390,1,Zt,sOe),l.Cd=function(t){ADt(this.a,c(t,96))},j(Co,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),k(1388,1,On,_$e),l.Mb=function(t){return zRt(this.a,this.b,c(t,149))},j(Co,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),k(1387,1,On,O$e),l.Mb=function(t){return E7t(this.a,this.b,c(t,845))},j(Co,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),k(1389,1,Zt,L$e),l.Cd=function(t){$Mt(this.a,this.b,c(t,149))},j(Co,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),k(947,1,{},NNe),l.Kb=function(t){return TFe(t)},l.Fb=function(t){return this===t},j(Co,"ElkUtil/lambda$0$Type",947),k(948,1,Zt,D$e),l.Cd=function(t){RUt(this.a,this.b,c(t,74))},l.a=0,l.b=0,j(Co,"ElkUtil/lambda$1$Type",948),k(949,1,Zt,R$e),l.Cd=function(t){CSt(this.a,this.b,c(t,166))},l.a=0,l.b=0,j(Co,"ElkUtil/lambda$2$Type",949),k(950,1,Zt,$$e),l.Cd=function(t){jEt(this.a,this.b,c(t,135))},l.a=0,l.b=0,j(Co,"ElkUtil/lambda$3$Type",950),k(951,1,Zt,oOe),l.Cd=function(t){sMt(this.a,c(t,377))},j(Co,"ElkUtil/lambda$4$Type",951),k(325,1,{34:1,325:1},rSt),l.Fd=function(t){return QEt(this,c(t,242))},l.Fb=function(t){var n;return ce(t,325)?(n=c(t,325),this.a==n.a):!1},l.Hb=function(){return kr(this.a)},l.Ib=function(){return this.a+" (exclusive)"},l.a=0,j(Co,"ExclusiveBounds/ExclusiveLowerBound",325),k(1119,205,Dp,CNe),l.rf=function(t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie,ue,he,Ee,Te,He,at,ut;for(n.Ug("Fixed Layout",1),a=c(Me(t,(Un(),Hye)),223),E=0,A=0,ue=new Jt((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a));ue.e!=ue.i.gc();){for(X=c(tn(ue),27),ut=c(Me(X,(zP(),qS)),8),ut&&(cl(X,ut.a,ut.b),c(Me(X,N3e),181).Hc((Lu(),qm))&&(L=c(Me(X,M3e),8),L.a>0&&L.b>0&&kw(X,L.a,L.b,!0,!0))),E=w.Math.max(E,X.i+X.g),A=w.Math.max(A,X.j+X.f),v=new Jt((!X.n&&(X.n=new Ie($s,X,1,7)),X.n));v.e!=v.i.gc();)p=c(tn(v),135),ut=c(Me(p,qS),8),ut&&cl(p,ut.a,ut.b),E=w.Math.max(E,X.i+p.i+p.g),A=w.Math.max(A,X.j+p.j+p.f);for(Te=new Jt((!X.c&&(X.c=new Ie(du,X,9,9)),X.c));Te.e!=Te.i.gc();)for(Ee=c(tn(Te),123),ut=c(Me(Ee,qS),8),ut&&cl(Ee,ut.a,ut.b),He=X.i+Ee.i,at=X.j+Ee.j,E=w.Math.max(E,He+Ee.g),A=w.Math.max(A,at+Ee.f),b=new Jt((!Ee.n&&(Ee.n=new Ie($s,Ee,1,7)),Ee.n));b.e!=b.i.gc();)p=c(tn(b),135),ut=c(Me(p,qS),8),ut&&cl(p,ut.a,ut.b),E=w.Math.max(E,He+p.i+p.g),A=w.Math.max(A,at+p.j+p.f);for(o=new Qt(en(xd(X).a.Kc(),new M));bn(o);)i=c(on(o),74),y=Sst(i),E=w.Math.max(E,y.a),A=w.Math.max(A,y.b);for(r=new Qt(en(sI(X).a.Kc(),new M));bn(r);)i=c(on(r),74),Oi(Ih(i))!=t&&(y=Sst(i),E=w.Math.max(E,y.a),A=w.Math.max(A,y.b))}if(a==(bd(),S5))for(ie=new Jt((!t.a&&(t.a=new Ie(ti,t,10,11)),t.a));ie.e!=ie.i.gc();)for(X=c(tn(ie),27),r=new Qt(en(xd(X).a.Kc(),new M));bn(r);)i=c(on(r),74),h=FYt(i),h.b==0?bi(i,Yw,null):bi(i,Yw,h);Xe(We(Me(t,(zP(),C3e))))||(he=c(Me(t,kmt),107),H=E+he.b+he.c,$=A+he.d+he.a,kw(t,H,$,!0,!0)),n.Vg()},j(Co,"FixedLayoutProvider",1119),k(385,137,{3:1,423:1,385:1,96:1,137:1},OF,yWe),l.cg=function(t){var n,i,r,o,a,h,p,b,v;if(t)try{for(b=cm(t,";,;"),a=b,h=0,p=a.length;h>16&fr|n^r<<16},l.Kc=function(){return new cOe(this)},l.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+uo(this.b)+")":this.b==null?"pair("+uo(this.a)+",null)":"pair("+uo(this.a)+","+uo(this.b)+")"},j(Co,"Pair",42),k(995,1,Rr,cOe),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},l.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw V(new po)},l.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),V(new Bc)},l.b=!1,l.c=!1,j(Co,"Pair/1",995),k(455,1,{455:1},Jqe),l.Fb=function(t){return _o(this.a,c(t,455).a)&&_o(this.c,c(t,455).c)&&_o(this.d,c(t,455).d)&&_o(this.b,c(t,455).b)},l.Hb=function(){return P7(J(W(Cr,1),Mt,1,5,[this.a,this.c,this.d,this.b]))},l.Ib=function(){return"("+this.a+bs+this.c+bs+this.d+bs+this.b+")"},j(Co,"Quadruple",455),k(1108,205,Dp,ENe),l.rf=function(t,n){var i,r,o,a,h;if(n.Ug("Random Layout",1),(!t.a&&(t.a=new Ie(ti,t,10,11)),t.a).i==0){n.Vg();return}a=c(Me(t,(mle(),_mt)),17),a&&a.a!=0?o=new ZA(a.a):o=new oz,i=Q9(ye(Me(t,Amt))),h=Q9(ye(Me(t,Omt))),r=c(Me(t,Pmt),107),itn(t,o,i,h,r),n.Vg()},j(Co,"RandomLayoutProvider",1108),k(240,1,{240:1},OH),l.Fb=function(t){return _o(this.a,c(t,240).a)&&_o(this.b,c(t,240).b)&&_o(this.c,c(t,240).c)},l.Hb=function(){return P7(J(W(Cr,1),Mt,1,5,[this.a,this.b,this.c]))},l.Ib=function(){return"("+this.a+bs+this.b+bs+this.c+")"},j(Co,"Triple",240);var qmt;k(562,1,{}),l.Lf=function(){return new Ae(this.f.i,this.f.j)},l.of=function(t){return Sze(t,(Un(),ju))?Me(this.f,zmt):Me(this.f,t)},l.Mf=function(){return new Ae(this.f.g,this.f.f)},l.Nf=function(){return this.g},l.pf=function(t){return hf(this.f,t)},l.Of=function(t){vc(this.f,t.a),yc(this.f,t.b)},l.Pf=function(t){cw(this.f,t.a),ow(this.f,t.b)},l.Qf=function(t){this.g=t},l.g=0;var zmt;j(Lj,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),k(563,1,{853:1},KM),l.Rf=function(){var t,n;if(!this.b)for(this.b=XA(PA(this.a).i),n=new Jt(PA(this.a));n.e!=n.i.gc();)t=c(tn(n),135),$e(this.b,new aB(t));return this.b},l.b=null,j(Lj,"ElkGraphAdapters/ElkEdgeAdapter",563),k(289,562,{},Cg),l.Sf=function(){return wZe(this)},l.a=null,j(Lj,"ElkGraphAdapters/ElkGraphAdapter",289),k(640,562,{187:1},aB),j(Lj,"ElkGraphAdapters/ElkLabelAdapter",640),k(639,562,{695:1},mH),l.Rf=function(){return zHt(this)},l.Vf=function(){var t;return t=c(Me(this.f,(Un(),y5)),140),!t&&(t=new b6),t},l.Xf=function(){return VHt(this)},l.Zf=function(t){var n;n=new DH(t),bi(this.f,(Un(),y5),n)},l.$f=function(t){bi(this.f,(Un(),S1),new use(t))},l.Tf=function(){return this.d},l.Uf=function(){var t,n;if(!this.a)for(this.a=new Re,n=new Qt(en(sI(c(this.f,27)).a.Kc(),new M));bn(n);)t=c(on(n),74),$e(this.a,new KM(t));return this.a},l.Wf=function(){var t,n;if(!this.c)for(this.c=new Re,n=new Qt(en(xd(c(this.f,27)).a.Kc(),new M));bn(n);)t=c(on(n),74),$e(this.c,new KM(t));return this.c},l.Yf=function(){return RA(c(this.f,27)).i!=0||Xe(We(c(this.f,27).of((Un(),GN))))},l._f=function(){jLt(this,(Dg(),qmt))},l.a=null,l.b=null,l.c=null,l.d=null,l.e=null,j(Lj,"ElkGraphAdapters/ElkNodeAdapter",639),k(1284,562,{852:1},uOe),l.Rf=function(){return ZHt(this)},l.Uf=function(){var t,n;if(!this.a)for(this.a=mh(c(this.f,123).hh().i),n=new Jt(c(this.f,123).hh());n.e!=n.i.gc();)t=c(tn(n),74),$e(this.a,new KM(t));return this.a},l.Wf=function(){var t,n;if(!this.c)for(this.c=mh(c(this.f,123).ih().i),n=new Jt(c(this.f,123).ih());n.e!=n.i.gc();)t=c(tn(n),74),$e(this.c,new KM(t));return this.c},l.ag=function(){return c(c(this.f,123).of((Un(),W2)),64)},l.bg=function(){var t,n,i,r,o,a,h,p;for(r=cf(c(this.f,123)),i=new Jt(c(this.f,123).ih());i.e!=i.i.gc();)for(t=c(tn(i),74),p=new Jt((!t.c&&(t.c=new It(cn,t,5,8)),t.c));p.e!=p.i.gc();){if(h=c(tn(p),84),zb(io(h),r))return!0;if(io(h)==r&&Xe(We(Me(t,(Un(),WY)))))return!0}for(n=new Jt(c(this.f,123).hh());n.e!=n.i.gc();)for(t=c(tn(n),74),a=new Jt((!t.b&&(t.b=new It(cn,t,4,7)),t.b));a.e!=a.i.gc();)if(o=c(tn(a),84),zb(io(o),r))return!0;return!1},l.a=null,l.b=null,l.c=null,j(Lj,"ElkGraphAdapters/ElkPortAdapter",1284),k(1285,1,Dn,SNe),l.Ne=function(t,n){return AJt(c(t,123),c(n,123))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(Lj,"ElkGraphAdapters/PortComparator",1285);var O0=qi(Sl,"EObject"),N5=qi(d2,Mut),il=qi(d2,Tut),cC=qi(d2,Aut),uC=qi(d2,"ElkShape"),cn=qi(d2,Put),tr=qi(d2,K0e),Pi=qi(d2,_ut),lC=qi(Sl,Out),YS=qi(Sl,"EFactory"),Vmt,aQ=qi(Sl,Lut),tf=qi(Sl,"EPackage"),Or,Umt,Gmt,W3e,SR,Wmt,X3e,J3e,Y3e,qh,Xmt,Jmt,$s=qi(d2,q0e),ti=qi(d2,z0e),du=qi(d2,V0e);k(93,1,Dut),l.th=function(){return this.uh(),null},l.uh=function(){return null},l.vh=function(){return this.uh(),!1},l.wh=function(){return!1},l.xh=function(t){ai(this,t)},j(O3,"BasicNotifierImpl",93),k(99,93,But),l.Yh=function(){return Mu(this)},l.yh=function(t,n){return t},l.zh=function(){throw V(new An)},l.Ah=function(t){var n;return n=Es(c(Nt(this.Dh(),this.Fh()),19)),this.Ph().Th(this,n.n,n.f,t)},l.Bh=function(t,n){throw V(new An)},l.Ch=function(t,n,i){return Xu(this,t,n,i)},l.Dh=function(){var t;return this.zh()&&(t=this.zh().Nk(),t)?t:this.ii()},l.Eh=function(){return oV(this)},l.Fh=function(){throw V(new An)},l.Gh=function(){var t,n;return n=this.$h().Ok(),!n&&this.zh().Tk(n=(A6(),t=xoe(Jf(this.Dh())),t==null?mQ:new IE(this,t))),n},l.Hh=function(t,n){return t},l.Ih=function(t){var n;return n=t.pk(),n?t.Lj():$i(this.Dh(),t)},l.Jh=function(){var t;return t=this.zh(),t?t.Qk():null},l.Kh=function(){return this.zh()?this.zh().Nk():null},l.Lh=function(t,n,i){return h_(this,t,n,i)},l.Mh=function(t){return y4(this,t)},l.Nh=function(t,n){return VK(this,t,n)},l.Oh=function(){var t;return t=this.zh(),!!t&&t.Rk()},l.Ph=function(){throw V(new An)},l.Qh=function(){return s_(this)},l.Rh=function(t,n,i,r){return h3(this,t,n,r)},l.Sh=function(t,n,i){var r;return r=c(Nt(this.Dh(),n),69),r.wk().zk(this,this.hi(),n-this.ji(),t,i)},l.Th=function(t,n,i,r){return HA(this,t,n,r)},l.Uh=function(t,n,i){var r;return r=c(Nt(this.Dh(),n),69),r.wk().Ak(this,this.hi(),n-this.ji(),t,i)},l.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},l.Wh=function(t){return bz(this,t)},l.Xh=function(t){return $ze(this,t)},l.Zh=function(t){return ust(this,t)},l.$h=function(){throw V(new An)},l._h=function(){return this.zh()?this.zh().Pk():null},l.ai=function(){return s_(this)},l.bi=function(t,n){tV(this,t,n)},l.ci=function(t){this.$h().Sk(t)},l.di=function(t){this.$h().Vk(t)},l.ei=function(t){this.$h().Uk(t)},l.fi=function(t,n){var i,r,o,a;return a=this.Jh(),a&&t&&(n=ws(a.El(),this,n),a.Il(this)),r=this.Ph(),r&&(yV(this,this.Ph(),this.Fh()).Bb&xs?(o=r.Qh(),o&&(t?!a&&o.Il(this):o.Hl(this))):(n=(i=this.Fh(),i>=0?this.Ah(n):this.Ph().Th(this,-1-i,null,n)),n=this.Ch(null,-1,n))),this.di(t),n},l.gi=function(t){var n,i,r,o,a,h,p,b;if(i=this.Dh(),a=$i(i,t),n=this.ji(),a>=n)return c(t,69).wk().Dk(this,this.hi(),a-n);if(a<=-1)if(h=i2((Wc(),ts),i,t),h){if(Ss(),c(h,69).xk()||(h=Qy(Vs(ts,h))),o=(r=this.Ih(h),c(r>=0?this.Lh(r,!0,!0):vw(this,h,!0),160)),b=h.Ik(),b>1||b==-1)return c(c(o,220).Sl(t,!1),79)}else throw V(new Ft(b0+t.xe()+tW));else if(t.Jk())return r=this.Ih(t),c(r>=0?this.Lh(r,!1,!0):vw(this,t,!1),79);return p=new nFe(this,t),p},l.hi=function(){return Ice(this)},l.ii=function(){return(X1(),Ot).S},l.ji=function(){return sn(this.ii())},l.ki=function(t){Qz(this,t)},l.Ib=function(){return ma(this)},j(Lt,"BasicEObjectImpl",99);var Ymt;k(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),l.li=function(t){var n;return n=Ece(this),n[t]},l.mi=function(t,n){var i;i=Ece(this),Vi(i,t,n)},l.ni=function(t){var n;n=Ece(this),Vi(n,t,null)},l.th=function(){return c($t(this,4),129)},l.uh=function(){throw V(new An)},l.vh=function(){return(this.Db&4)!=0},l.zh=function(){throw V(new An)},l.oi=function(t){a3(this,2,t)},l.Bh=function(t,n){this.Db=n<<16|this.Db&255,this.oi(t)},l.Dh=function(){return Tc(this)},l.Fh=function(){return this.Db>>16},l.Gh=function(){var t,n;return A6(),n=xoe(Jf((t=c($t(this,16),29),t||this.ii()))),n==null?mQ:new IE(this,n)},l.wh=function(){return(this.Db&1)==0},l.Jh=function(){return c($t(this,128),2034)},l.Kh=function(){return c($t(this,16),29)},l.Oh=function(){return(this.Db&32)!=0},l.Ph=function(){return c($t(this,2),54)},l.Vh=function(){return(this.Db&64)!=0},l.$h=function(){throw V(new An)},l._h=function(){return c($t(this,64),288)},l.ci=function(t){a3(this,16,t)},l.di=function(t){a3(this,128,t)},l.ei=function(t){a3(this,64,t)},l.hi=function(){return xc(this)},l.Db=0,j(Lt,"MinimalEObjectImpl",119),k(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.oi=function(t){this.Cb=t},l.Ph=function(){return this.Cb},j(Lt,"MinimalEObjectImpl/Container",120),k(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.Lh=function(t,n,i){return Hle(this,t,n,i)},l.Uh=function(t,n,i){return Tae(this,t,n,i)},l.Wh=function(t){return Loe(this,t)},l.bi=function(t,n){Iue(this,t,n)},l.ii=function(){return Bo(),Jmt},l.ki=function(t){gue(this,t)},l.nf=function(){return DQe(this)},l.gh=function(){return!this.o&&(this.o=new Uc((Bo(),qh),I1,this,0)),this.o},l.of=function(t){return Me(this,t)},l.pf=function(t){return hf(this,t)},l.qf=function(t,n){return bi(this,t,n)},j(Bp,"EMapPropertyHolderImpl",2083),k(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},AM),l.Lh=function(t,n,i){switch(t){case 0:return this.a;case 1:return this.b}return h_(this,t,n,i)},l.Wh=function(t){switch(t){case 0:return this.a!=0;case 1:return this.b!=0}return bz(this,t)},l.bi=function(t,n){switch(t){case 0:kP(this,pe(ye(n)));return;case 1:xP(this,pe(ye(n)));return}tV(this,t,n)},l.ii=function(){return Bo(),Umt},l.ki=function(t){switch(t){case 0:kP(this,0);return;case 1:xP(this,0);return}Qz(this,t)},l.Ib=function(){var t;return this.Db&64?ma(this):(t=new $l(ma(this)),t.a+=" (x: ",wv(t,this.a),t.a+=", y: ",wv(t,this.b),t.a+=")",t.a)},l.a=0,l.b=0,j(Bp,"ElkBendPointImpl",572),k(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.Lh=function(t,n,i){return Xue(this,t,n,i)},l.Sh=function(t,n,i){return Vz(this,t,n,i)},l.Uh=function(t,n,i){return Cq(this,t,n,i)},l.Wh=function(t){return lue(this,t)},l.bi=function(t,n){oae(this,t,n)},l.ii=function(){return Bo(),Wmt},l.ki=function(t){Bue(this,t)},l.jh=function(){return this.k},l.kh=function(){return PA(this)},l.Ib=function(){return ez(this)},l.k=null,j(Bp,"ElkGraphElementImpl",739),k(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.Lh=function(t,n,i){return ile(this,t,n,i)},l.Wh=function(t){return lle(this,t)},l.bi=function(t,n){cae(this,t,n)},l.ii=function(){return Bo(),Xmt},l.ki=function(t){wle(this,t)},l.lh=function(){return this.f},l.mh=function(){return this.g},l.nh=function(){return this.i},l.oh=function(){return this.j},l.ph=function(t,n){Iv(this,t,n)},l.qh=function(t,n){cl(this,t,n)},l.rh=function(t){vc(this,t)},l.sh=function(t){yc(this,t)},l.Ib=function(){return Jz(this)},l.f=0,l.g=0,l.i=0,l.j=0,j(Bp,"ElkShapeImpl",740),k(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.Lh=function(t,n,i){return Ole(this,t,n,i)},l.Sh=function(t,n,i){return eae(this,t,n,i)},l.Uh=function(t,n,i){return tae(this,t,n,i)},l.Wh=function(t){return Eue(this,t)},l.bi=function(t,n){pfe(this,t,n)},l.ii=function(){return Bo(),Gmt},l.ki=function(t){Mle(this,t)},l.hh=function(){return!this.d&&(this.d=new It(tr,this,8,5)),this.d},l.ih=function(){return!this.e&&(this.e=new It(tr,this,7,4)),this.e},j(Bp,"ElkConnectableShapeImpl",741),k(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},LF),l.Ah=function(t){return Jle(this,t)},l.Lh=function(t,n,i){switch(t){case 3:return JE(this);case 4:return!this.b&&(this.b=new It(cn,this,4,7)),this.b;case 5:return!this.c&&(this.c=new It(cn,this,5,8)),this.c;case 6:return!this.a&&(this.a=new Ie(Pi,this,6,6)),this.a;case 7:return _t(),!this.b&&(this.b=new It(cn,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new It(cn,this,5,8)),this.c.i<=1));case 8:return _t(),!!nj(this);case 9:return _t(),!!mw(this);case 10:return _t(),!this.b&&(this.b=new It(cn,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new It(cn,this,5,8)),this.c.i!=0)}return Xue(this,t,n,i)},l.Sh=function(t,n,i){var r;switch(n){case 3:return this.Cb&&(i=(r=this.Db>>16,r>=0?Jle(this,i):this.Cb.Th(this,-1-r,null,i))),Are(this,c(t,27),i);case 4:return!this.b&&(this.b=new It(cn,this,4,7)),hc(this.b,t,i);case 5:return!this.c&&(this.c=new It(cn,this,5,8)),hc(this.c,t,i);case 6:return!this.a&&(this.a=new Ie(Pi,this,6,6)),hc(this.a,t,i)}return Vz(this,t,n,i)},l.Uh=function(t,n,i){switch(n){case 3:return Are(this,null,i);case 4:return!this.b&&(this.b=new It(cn,this,4,7)),ws(this.b,t,i);case 5:return!this.c&&(this.c=new It(cn,this,5,8)),ws(this.c,t,i);case 6:return!this.a&&(this.a=new Ie(Pi,this,6,6)),ws(this.a,t,i)}return Cq(this,t,n,i)},l.Wh=function(t){switch(t){case 3:return!!JE(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new It(cn,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new It(cn,this,5,8)),this.c.i<=1));case 8:return nj(this);case 9:return mw(this);case 10:return!this.b&&(this.b=new It(cn,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new It(cn,this,5,8)),this.c.i!=0)}return lue(this,t)},l.bi=function(t,n){switch(t){case 3:R_(this,c(n,27));return;case 4:!this.b&&(this.b=new It(cn,this,4,7)),mn(this.b),!this.b&&(this.b=new It(cn,this,4,7)),Wi(this.b,c(n,16));return;case 5:!this.c&&(this.c=new It(cn,this,5,8)),mn(this.c),!this.c&&(this.c=new It(cn,this,5,8)),Wi(this.c,c(n,16));return;case 6:!this.a&&(this.a=new Ie(Pi,this,6,6)),mn(this.a),!this.a&&(this.a=new Ie(Pi,this,6,6)),Wi(this.a,c(n,16));return}oae(this,t,n)},l.ii=function(){return Bo(),W3e},l.ki=function(t){switch(t){case 3:R_(this,null);return;case 4:!this.b&&(this.b=new It(cn,this,4,7)),mn(this.b);return;case 5:!this.c&&(this.c=new It(cn,this,5,8)),mn(this.c);return;case 6:!this.a&&(this.a=new Ie(Pi,this,6,6)),mn(this.a);return}Bue(this,t)},l.Ib=function(){return Irt(this)},j(Bp,"ElkEdgeImpl",326),k(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},PM),l.Ah=function(t){return Ule(this,t)},l.Lh=function(t,n,i){switch(t){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new cr(il,this,5)),this.a;case 6:return Oze(this);case 7:return n?kz(this):this.i;case 8:return n?xz(this):this.f;case 9:return!this.g&&(this.g=new It(Pi,this,9,10)),this.g;case 10:return!this.e&&(this.e=new It(Pi,this,10,9)),this.e;case 11:return this.d}return Hle(this,t,n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 6:return this.Cb&&(i=(o=this.Db>>16,o>=0?Ule(this,i):this.Cb.Th(this,-1-o,null,i))),Tre(this,c(t,74),i);case 9:return!this.g&&(this.g=new It(Pi,this,9,10)),hc(this.g,t,i);case 10:return!this.e&&(this.e=new It(Pi,this,10,9)),hc(this.e,t,i)}return a=c(Nt((r=c($t(this,16),29),r||(Bo(),SR)),n),69),a.wk().zk(this,xc(this),n-sn((Bo(),SR)),t,i)},l.Uh=function(t,n,i){switch(n){case 5:return!this.a&&(this.a=new cr(il,this,5)),ws(this.a,t,i);case 6:return Tre(this,null,i);case 9:return!this.g&&(this.g=new It(Pi,this,9,10)),ws(this.g,t,i);case 10:return!this.e&&(this.e=new It(Pi,this,10,9)),ws(this.e,t,i)}return Tae(this,t,n,i)},l.Wh=function(t){switch(t){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!Oze(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return Loe(this,t)},l.bi=function(t,n){switch(t){case 1:I4(this,pe(ye(n)));return;case 2:C4(this,pe(ye(n)));return;case 3:E4(this,pe(ye(n)));return;case 4:N4(this,pe(ye(n)));return;case 5:!this.a&&(this.a=new cr(il,this,5)),mn(this.a),!this.a&&(this.a=new cr(il,this,5)),Wi(this.a,c(n,16));return;case 6:Ent(this,c(n,74));return;case 7:MP(this,c(n,84));return;case 8:CP(this,c(n,84));return;case 9:!this.g&&(this.g=new It(Pi,this,9,10)),mn(this.g),!this.g&&(this.g=new It(Pi,this,9,10)),Wi(this.g,c(n,16));return;case 10:!this.e&&(this.e=new It(Pi,this,10,9)),mn(this.e),!this.e&&(this.e=new It(Pi,this,10,9)),Wi(this.e,c(n,16));return;case 11:Yce(this,_n(n));return}Iue(this,t,n)},l.ii=function(){return Bo(),SR},l.ki=function(t){switch(t){case 1:I4(this,0);return;case 2:C4(this,0);return;case 3:E4(this,0);return;case 4:N4(this,0);return;case 5:!this.a&&(this.a=new cr(il,this,5)),mn(this.a);return;case 6:Ent(this,null);return;case 7:MP(this,null);return;case 8:CP(this,null);return;case 9:!this.g&&(this.g=new It(Pi,this,9,10)),mn(this.g);return;case 10:!this.e&&(this.e=new It(Pi,this,10,9)),mn(this.e);return;case 11:Yce(this,null);return}gue(this,t)},l.Ib=function(){return Ftt(this)},l.b=0,l.c=0,l.d=null,l.j=0,l.k=0,j(Bp,"ElkEdgeSectionImpl",452),k(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),l.Lh=function(t,n,i){var r;return t==0?(!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab):pl(this,t-sn(this.ii()),Nt((r=c($t(this,16),29),r||this.ii()),t),n,i)},l.Sh=function(t,n,i){var r,o;return n==0?(!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i)):(o=c(Nt((r=c($t(this,16),29),r||this.ii()),n),69),o.wk().zk(this,xc(this),n-sn(this.ii()),t,i))},l.Uh=function(t,n,i){var r,o;return n==0?(!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i)):(o=c(Nt((r=c($t(this,16),29),r||this.ii()),n),69),o.wk().Ak(this,xc(this),n-sn(this.ii()),t,i))},l.Wh=function(t){var n;return t==0?!!this.Ab&&this.Ab.i!=0:hl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.Zh=function(t){return Ehe(this,t)},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return}ml(this,t-sn(this.ii()),Nt((i=c($t(this,16),29),i||this.ii()),t),n)},l.di=function(t){a3(this,128,t)},l.ii=function(){return kt(),gvt},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return}bl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.pi=function(){this.Bb|=1},l.qi=function(t){return lj(this,t)},l.Bb=0,j(Lt,"EModelElementImpl",158),k(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},Nte),l.ri=function(t,n){return tst(this,t,n)},l.si=function(t){var n,i,r,o,a;if(this.a!=qu(t)||t.Bb&256)throw V(new Ft(iW+t.zb+Aw));for(r=eo(t);Uo(r.a).i!=0;){if(i=c(bI(r,0,(n=c(le(Uo(r.a),0),89),a=n.c,ce(a,90)?c(a,29):(kt(),na))),29),bw(i))return o=qu(i).wi().si(i),c(o,54).ci(t),o;r=eo(i)}return(t.D!=null?t.D:t.B)=="java.util.Map$Entry"?new wKe(t):new vse(t)},l.ti=function(t,n){return jw(this,t,n)},l.Lh=function(t,n,i){var r;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.a}return pl(this,t-sn((kt(),$0)),Nt((r=c($t(this,16),29),r||$0),t),n,i)},l.Sh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 1:return this.a&&(i=c(this.a,54).Th(this,4,tf,i)),Fue(this,c(t,241),i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),$0)),n),69),o.wk().zk(this,xc(this),n-sn((kt(),$0)),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 1:return Fue(this,null,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),$0)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),$0)),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return hl(this,t-sn((kt(),$0)),Nt((n=c($t(this,16),29),n||$0),t))},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:xet(this,c(n,241));return}ml(this,t-sn((kt(),$0)),Nt((i=c($t(this,16),29),i||$0),t),n)},l.ii=function(){return kt(),$0},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:xet(this,null);return}bl(this,t-sn((kt(),$0)),Nt((n=c($t(this,16),29),n||$0),t))};var QS,Q3e,Qmt;j(Lt,"EFactoryImpl",720),k(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},_Ne),l.ri=function(t,n){switch(t.hk()){case 12:return c(n,149).Pg();case 13:return uo(n);default:throw V(new Ft(Fk+t.xe()+Aw))}},l.si=function(t){var n,i,r,o,a,h,p,b;switch(t.G==-1&&(t.G=(n=qu(t),n?l1(n.vi(),t):-1)),t.G){case 4:return a=new xte,a;case 6:return h=new m6,h;case 7:return p=new xne,p;case 8:return r=new LF,r;case 9:return i=new AM,i;case 10:return o=new PM,o;case 11:return b=new ONe,b;default:throw V(new Ft(iW+t.zb+Aw))}},l.ti=function(t,n){switch(t.hk()){case 13:case 12:return null;default:throw V(new Ft(Fk+t.xe()+Aw))}},j(Bp,"ElkGraphFactoryImpl",1037),k(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),l.Gh=function(){var t,n;return n=(t=c($t(this,16),29),xoe(Jf(t||this.ii()))),n==null?(A6(),A6(),mQ):new FBe(this,n)},l.Lh=function(t,n,i){var r;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.xe()}return pl(this,t-sn(this.ii()),Nt((r=c($t(this,16),29),r||this.ii()),t),n,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return hl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:this.ui(_n(n));return}ml(this,t-sn(this.ii()),Nt((i=c($t(this,16),29),i||this.ii()),t),n)},l.ii=function(){return kt(),wvt},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:this.ui(null);return}bl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.xe=function(){return this.zb},l.ui=function(t){fc(this,t)},l.Ib=function(){return R8(this)},l.zb=null,j(Lt,"ENamedElementImpl",448),k(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},hze),l.Ah=function(t){return AZe(this,t)},l.Lh=function(t,n,i){var r;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Ob(this,nf,this)),this.rb;case 6:return!this.vb&&(this.vb=new Fy(tf,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?c(this.Cb,241):null:Hze(this)}return pl(this,t-sn((kt(),T1)),Nt((r=c($t(this,16),29),r||T1),t),n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 4:return this.sb&&(i=c(this.sb,54).Th(this,1,YS,i)),Kue(this,c(t,480),i);case 5:return!this.rb&&(this.rb=new Ob(this,nf,this)),hc(this.rb,t,i);case 6:return!this.vb&&(this.vb=new Fy(tf,this,6,7)),hc(this.vb,t,i);case 7:return this.Cb&&(i=(o=this.Db>>16,o>=0?AZe(this,i):this.Cb.Th(this,-1-o,null,i))),Xu(this,t,7,i)}return a=c(Nt((r=c($t(this,16),29),r||(kt(),T1)),n),69),a.wk().zk(this,xc(this),n-sn((kt(),T1)),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 4:return Kue(this,null,i);case 5:return!this.rb&&(this.rb=new Ob(this,nf,this)),ws(this.rb,t,i);case 6:return!this.vb&&(this.vb=new Fy(tf,this,6,7)),ws(this.vb,t,i);case 7:return Xu(this,null,7,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),T1)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),T1)),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!Hze(this)}return hl(this,t-sn((kt(),T1)),Nt((n=c($t(this,16),29),n||T1),t))},l.Zh=function(t){var n;return n=UWt(this,t),n||Ehe(this,t)},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:fc(this,_n(n));return;case 2:LP(this,_n(n));return;case 3:OP(this,_n(n));return;case 4:Xz(this,c(n,480));return;case 5:!this.rb&&(this.rb=new Ob(this,nf,this)),mn(this.rb),!this.rb&&(this.rb=new Ob(this,nf,this)),Wi(this.rb,c(n,16));return;case 6:!this.vb&&(this.vb=new Fy(tf,this,6,7)),mn(this.vb),!this.vb&&(this.vb=new Fy(tf,this,6,7)),Wi(this.vb,c(n,16));return}ml(this,t-sn((kt(),T1)),Nt((i=c($t(this,16),29),i||T1),t),n)},l.ei=function(t){var n,i;if(t&&this.rb)for(i=new Jt(this.rb);i.e!=i.i.gc();)n=tn(i),ce(n,364)&&(c(n,364).w=null);a3(this,64,t)},l.ii=function(){return kt(),T1},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:fc(this,null);return;case 2:LP(this,null);return;case 3:OP(this,null);return;case 4:Xz(this,null);return;case 5:!this.rb&&(this.rb=new Ob(this,nf,this)),mn(this.rb);return;case 6:!this.vb&&(this.vb=new Fy(tf,this,6,7)),mn(this.vb);return}bl(this,t-sn((kt(),T1)),Nt((n=c($t(this,16),29),n||T1),t))},l.pi=function(){Lz(this)},l.vi=function(){return!this.rb&&(this.rb=new Ob(this,nf,this)),this.rb},l.wi=function(){return this.sb},l.xi=function(){return this.ub},l.yi=function(){return this.xb},l.zi=function(){return this.yb},l.Ai=function(t){this.ub=t},l.Ib=function(){var t;return this.Db&64?R8(this):(t=new $l(R8(this)),t.a+=" (nsURI: ",Os(t,this.yb),t.a+=", nsPrefix: ",Os(t,this.xb),t.a+=")",t.a)},l.xb=null,l.yb=null,j(Lt,"EPackageImpl",184),k(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},Wtt),l.q=!1,l.r=!1;var Zmt=!1;j(Bp,"ElkGraphPackageImpl",569),k(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},xte),l.Ah=function(t){return Gle(this,t)},l.Lh=function(t,n,i){switch(t){case 7:return Kze(this);case 8:return this.a}return ile(this,t,n,i)},l.Sh=function(t,n,i){var r;switch(n){case 7:return this.Cb&&(i=(r=this.Db>>16,r>=0?Gle(this,i):this.Cb.Th(this,-1-r,null,i))),Ose(this,c(t,167),i)}return Vz(this,t,n,i)},l.Uh=function(t,n,i){return n==7?Ose(this,null,i):Cq(this,t,n,i)},l.Wh=function(t){switch(t){case 7:return!!Kze(this);case 8:return!wt("",this.a)}return lle(this,t)},l.bi=function(t,n){switch(t){case 7:Nfe(this,c(n,167));return;case 8:Uce(this,_n(n));return}cae(this,t,n)},l.ii=function(){return Bo(),X3e},l.ki=function(t){switch(t){case 7:Nfe(this,null);return;case 8:Uce(this,"");return}wle(this,t)},l.Ib=function(){return Det(this)},l.a="",j(Bp,"ElkLabelImpl",366),k(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},m6),l.Ah=function(t){return Yle(this,t)},l.Lh=function(t,n,i){switch(t){case 9:return!this.c&&(this.c=new Ie(du,this,9,9)),this.c;case 10:return!this.a&&(this.a=new Ie(ti,this,10,11)),this.a;case 11:return Oi(this);case 12:return!this.b&&(this.b=new Ie(tr,this,12,3)),this.b;case 13:return _t(),!this.a&&(this.a=new Ie(ti,this,10,11)),this.a.i>0}return Ole(this,t,n,i)},l.Sh=function(t,n,i){var r;switch(n){case 9:return!this.c&&(this.c=new Ie(du,this,9,9)),hc(this.c,t,i);case 10:return!this.a&&(this.a=new Ie(ti,this,10,11)),hc(this.a,t,i);case 11:return this.Cb&&(i=(r=this.Db>>16,r>=0?Yle(this,i):this.Cb.Th(this,-1-r,null,i))),Hre(this,c(t,27),i);case 12:return!this.b&&(this.b=new Ie(tr,this,12,3)),hc(this.b,t,i)}return eae(this,t,n,i)},l.Uh=function(t,n,i){switch(n){case 9:return!this.c&&(this.c=new Ie(du,this,9,9)),ws(this.c,t,i);case 10:return!this.a&&(this.a=new Ie(ti,this,10,11)),ws(this.a,t,i);case 11:return Hre(this,null,i);case 12:return!this.b&&(this.b=new Ie(tr,this,12,3)),ws(this.b,t,i)}return tae(this,t,n,i)},l.Wh=function(t){switch(t){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!Oi(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new Ie(ti,this,10,11)),this.a.i>0}return Eue(this,t)},l.bi=function(t,n){switch(t){case 9:!this.c&&(this.c=new Ie(du,this,9,9)),mn(this.c),!this.c&&(this.c=new Ie(du,this,9,9)),Wi(this.c,c(n,16));return;case 10:!this.a&&(this.a=new Ie(ti,this,10,11)),mn(this.a),!this.a&&(this.a=new Ie(ti,this,10,11)),Wi(this.a,c(n,16));return;case 11:$_(this,c(n,27));return;case 12:!this.b&&(this.b=new Ie(tr,this,12,3)),mn(this.b),!this.b&&(this.b=new Ie(tr,this,12,3)),Wi(this.b,c(n,16));return}pfe(this,t,n)},l.ii=function(){return Bo(),J3e},l.ki=function(t){switch(t){case 9:!this.c&&(this.c=new Ie(du,this,9,9)),mn(this.c);return;case 10:!this.a&&(this.a=new Ie(ti,this,10,11)),mn(this.a);return;case 11:$_(this,null);return;case 12:!this.b&&(this.b=new Ie(tr,this,12,3)),mn(this.b);return}Mle(this,t)},l.Ib=function(){return qfe(this)},j(Bp,"ElkNodeImpl",207),k(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},xne),l.Ah=function(t){return Wle(this,t)},l.Lh=function(t,n,i){return t==9?cf(this):Ole(this,t,n,i)},l.Sh=function(t,n,i){var r;switch(n){case 9:return this.Cb&&(i=(r=this.Db>>16,r>=0?Wle(this,i):this.Cb.Th(this,-1-r,null,i))),Pre(this,c(t,27),i)}return eae(this,t,n,i)},l.Uh=function(t,n,i){return n==9?Pre(this,null,i):tae(this,t,n,i)},l.Wh=function(t){return t==9?!!cf(this):Eue(this,t)},l.bi=function(t,n){switch(t){case 9:jfe(this,c(n,27));return}pfe(this,t,n)},l.ii=function(){return Bo(),Y3e},l.ki=function(t){switch(t){case 9:jfe(this,null);return}Mle(this,t)},l.Ib=function(){return Sit(this)},j(Bp,"ElkPortImpl",193);var evt=qi(ms,"BasicEMap/Entry");k(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},ONe),l.Fb=function(t){return this===t},l.ld=function(){return this.b},l.Hb=function(){return Kg(this)},l.Di=function(t){Gce(this,c(t,149))},l.Lh=function(t,n,i){switch(t){case 0:return this.b;case 1:return this.c}return h_(this,t,n,i)},l.Wh=function(t){switch(t){case 0:return!!this.b;case 1:return this.c!=null}return bz(this,t)},l.bi=function(t,n){switch(t){case 0:Gce(this,c(n,149));return;case 1:Vce(this,n);return}tV(this,t,n)},l.ii=function(){return Bo(),qh},l.ki=function(t){switch(t){case 0:Gce(this,null);return;case 1:Vce(this,null);return}Qz(this,t)},l.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t?Ei(t):0),this.a},l.md=function(){return this.c},l.Ci=function(t){this.a=t},l.nd=function(t){var n;return n=this.c,Vce(this,t),n},l.Ib=function(){var t;return this.Db&64?ma(this):(t=new B1,Hn(Hn(Hn(t,this.b?this.b.Pg():Oc),JU),Y6(this.c)),t.a)},l.a=-1,l.c=null;var I1=j(Bp,"ElkPropertyToValueMapEntryImpl",1122);k(996,1,{},RNe),j(Zr,"JsonAdapter",996),k(216,63,jd,Df),j(Zr,"JsonImportException",216),k(868,1,{},PZe),j(Zr,"JsonImporter",868),k(903,1,{},F$e),j(Zr,"JsonImporter/lambda$0$Type",903),k(904,1,{},B$e),j(Zr,"JsonImporter/lambda$1$Type",904),k(912,1,{},lOe),j(Zr,"JsonImporter/lambda$10$Type",912),k(914,1,{},H$e),j(Zr,"JsonImporter/lambda$11$Type",914),k(915,1,{},K$e),j(Zr,"JsonImporter/lambda$12$Type",915),k(921,1,{},eze),j(Zr,"JsonImporter/lambda$13$Type",921),k(920,1,{},tze),j(Zr,"JsonImporter/lambda$14$Type",920),k(916,1,{},q$e),j(Zr,"JsonImporter/lambda$15$Type",916),k(917,1,{},z$e),j(Zr,"JsonImporter/lambda$16$Type",917),k(918,1,{},V$e),j(Zr,"JsonImporter/lambda$17$Type",918),k(919,1,{},U$e),j(Zr,"JsonImporter/lambda$18$Type",919),k(924,1,{},aOe),j(Zr,"JsonImporter/lambda$19$Type",924),k(905,1,{},fOe),j(Zr,"JsonImporter/lambda$2$Type",905),k(922,1,{},hOe),j(Zr,"JsonImporter/lambda$20$Type",922),k(923,1,{},dOe),j(Zr,"JsonImporter/lambda$21$Type",923),k(927,1,{},pOe),j(Zr,"JsonImporter/lambda$22$Type",927),k(925,1,{},gOe),j(Zr,"JsonImporter/lambda$23$Type",925),k(926,1,{},wOe),j(Zr,"JsonImporter/lambda$24$Type",926),k(929,1,{},bOe),j(Zr,"JsonImporter/lambda$25$Type",929),k(928,1,{},mOe),j(Zr,"JsonImporter/lambda$26$Type",928),k(930,1,Zt,G$e),l.Cd=function(t){oLt(this.b,this.a,_n(t))},j(Zr,"JsonImporter/lambda$27$Type",930),k(931,1,Zt,W$e),l.Cd=function(t){cLt(this.b,this.a,_n(t))},j(Zr,"JsonImporter/lambda$28$Type",931),k(932,1,{},X$e),j(Zr,"JsonImporter/lambda$29$Type",932),k(908,1,{},vOe),j(Zr,"JsonImporter/lambda$3$Type",908),k(933,1,{},J$e),j(Zr,"JsonImporter/lambda$30$Type",933),k(934,1,{},yOe),j(Zr,"JsonImporter/lambda$31$Type",934),k(935,1,{},xOe),j(Zr,"JsonImporter/lambda$32$Type",935),k(936,1,{},kOe),j(Zr,"JsonImporter/lambda$33$Type",936),k(937,1,{},jOe),j(Zr,"JsonImporter/lambda$34$Type",937),k(870,1,{},SOe),j(Zr,"JsonImporter/lambda$35$Type",870),k(941,1,{},zHe),j(Zr,"JsonImporter/lambda$36$Type",941),k(938,1,Zt,EOe),l.Cd=function(t){hOt(this.a,c(t,377))},j(Zr,"JsonImporter/lambda$37$Type",938),k(939,1,Zt,Y$e),l.Cd=function(t){G9t(this.a,this.b,c(t,166))},j(Zr,"JsonImporter/lambda$38$Type",939),k(940,1,Zt,Q$e),l.Cd=function(t){W9t(this.a,this.b,c(t,166))},j(Zr,"JsonImporter/lambda$39$Type",940),k(906,1,{},IOe),j(Zr,"JsonImporter/lambda$4$Type",906),k(942,1,Zt,NOe),l.Cd=function(t){dOt(this.a,c(t,8))},j(Zr,"JsonImporter/lambda$40$Type",942),k(907,1,{},COe),j(Zr,"JsonImporter/lambda$5$Type",907),k(911,1,{},MOe),j(Zr,"JsonImporter/lambda$6$Type",911),k(909,1,{},TOe),j(Zr,"JsonImporter/lambda$7$Type",909),k(910,1,{},AOe),j(Zr,"JsonImporter/lambda$8$Type",910),k(913,1,{},POe),j(Zr,"JsonImporter/lambda$9$Type",913),k(961,1,Zt,_Oe),l.Cd=function(t){Gy(this.a,new Lb(_n(t)))},j(Zr,"JsonMetaDataConverter/lambda$0$Type",961),k(962,1,Zt,OOe),l.Cd=function(t){rTt(this.a,c(t,245))},j(Zr,"JsonMetaDataConverter/lambda$1$Type",962),k(963,1,Zt,LOe),l.Cd=function(t){iPt(this.a,c(t,143))},j(Zr,"JsonMetaDataConverter/lambda$2$Type",963),k(964,1,Zt,DOe),l.Cd=function(t){sTt(this.a,c(t,170))},j(Zr,"JsonMetaDataConverter/lambda$3$Type",964),k(245,22,{3:1,34:1,22:1,245:1},_y);var ER,IR,fQ,NR,CR,MR,hQ,dQ,TR=gn(PI,"GraphFeature",245,xn,KLt,ACt),tvt;k(11,1,{34:1,149:1},mi,Fi,pt,qr),l.Fd=function(t){return ZEt(this,c(t,149))},l.Fb=function(t){return Sze(this,t)},l.Sg=function(){return Ve(this)},l.Pg=function(){return this.b},l.Hb=function(){return n1(this.b)},l.Ib=function(){return this.b},j(PI,"Property",11),k(671,1,Dn,XF),l.Ne=function(t,n){return lFt(this,c(t,96),c(n,96))},l.Fb=function(t){return this===t},l.Oe=function(){return new Cn(this)},j(PI,"PropertyHolderComparator",671),k(709,1,Rr,nne),l.Nb=function(t){Jr(this,t)},l.Pb=function(){return aLt(this)},l.Qb=function(){PDe()},l.Ob=function(){return!!this.a},j(YO,"ElkGraphUtil/AncestorIterator",709);var Z3e=qi(ms,"EList");k(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),l.bd=function(t,n){F8(this,t,n)},l.Fc=function(t){return yn(this,t)},l.cd=function(t,n){return wue(this,t,n)},l.Gc=function(t){return Wi(this,t)},l.Ii=function(){return new $y(this)},l.Ji=function(){return new NE(this)},l.Ki=function(t){return v7(this,t)},l.Li=function(){return!0},l.Mi=function(t,n){},l.Ni=function(){},l.Oi=function(t,n){XK(this,t,n)},l.Pi=function(t,n,i){},l.Qi=function(t,n){},l.Ri=function(t,n,i){},l.Fb=function(t){return uit(this,t)},l.Hb=function(){return hue(this)},l.Si=function(){return!1},l.Kc=function(){return new Jt(this)},l.ed=function(){return new Ry(this)},l.fd=function(t){var n;if(n=this.gc(),t<0||t>n)throw V(new Pb(t,n));return new eK(this,t)},l.Ui=function(t,n){this.Ti(t,this.dd(n))},l.Mc=function(t){return pP(this,t)},l.Wi=function(t,n){return n},l.hd=function(t,n){return Vv(this,t,n)},l.Ib=function(){return ole(this)},l.Yi=function(){return!0},l.Zi=function(t,n){return K4(this,n)},j(ms,"AbstractEList",70),k(66,70,oh,_M,sw,oue),l.Ei=function(t,n){return Uz(this,t,n)},l.Fi=function(t){return iZe(this,t)},l.Gi=function(t,n){O7(this,t,n)},l.Hi=function(t){i7(this,t)},l.$i=function(t){return yce(this,t)},l.$b=function(){x8(this)},l.Hc=function(t){return rk(this,t)},l.Xb=function(t){return le(this,t)},l._i=function(t){var n,i,r;++this.j,i=this.g==null?0:this.g.length,t>i&&(r=this.g,n=i+(i/2|0)+4,n=0?(this.gd(n),!0):!1},l.Xi=function(t,n){return this.Dj(t,this.Zi(t,n))},l.gc=function(){return this.Ej()},l.Pc=function(){return this.Fj()},l.Qc=function(t){return this.Gj(t)},l.Ib=function(){return this.Hj()},j(ms,"DelegatingEList",2093),k(2094,2093,Slt),l.Ei=function(t,n){return the(this,t,n)},l.Fi=function(t){return this.Ei(this.Ej(),t)},l.Gi=function(t,n){Xtt(this,t,n)},l.Hi=function(t){Rtt(this,t)},l.Li=function(){return!this.Mj()},l.$b=function(){gj(this)},l.Ij=function(t,n,i,r,o){return new jze(this,t,n,i,r,o)},l.Jj=function(t){ai(this.jj(),t)},l.Kj=function(){return null},l.Lj=function(){return-1},l.jj=function(){return null},l.Mj=function(){return!1},l.Nj=function(t,n){return n},l.Oj=function(t,n){return n},l.Pj=function(){return!1},l.Qj=function(){return!this.Aj()},l.Ti=function(t,n){var i,r;return this.Pj()?(r=this.Qj(),i=Nae(this,t,n),this.Jj(this.Ij(7,De(n),i,t,r)),i):Nae(this,t,n)},l.gd=function(t){var n,i,r,o;return this.Pj()?(i=null,r=this.Qj(),n=this.Ij(4,o=hA(this,t),null,t,r),this.Mj()&&o?(i=this.Oj(o,i),i?(i.nj(n),i.oj()):this.Jj(n)):i?(i.nj(n),i.oj()):this.Jj(n),o):(o=hA(this,t),this.Mj()&&o&&(i=this.Oj(o,null),i&&i.oj()),o)},l.Xi=function(t,n){return nrt(this,t,n)},j(O3,"DelegatingNotifyingListImpl",2094),k(152,1,XI),l.nj=function(t){return hae(this,t)},l.oj=function(){iq(this)},l.gj=function(){return this.d},l.Kj=function(){return null},l.Rj=function(){return null},l.hj=function(t){return-1},l.ij=function(){return qnt(this)},l.jj=function(){return null},l.kj=function(){return Pfe(this)},l.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},l.Sj=function(){return!1},l.mj=function(t){var n,i,r,o,a,h,p,b,v,y,E;switch(this.d){case 1:case 2:switch(o=t.gj(),o){case 1:case 2:if(a=t.jj(),be(a)===be(this.jj())&&this.hj(null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0}case 4:{switch(o=t.gj(),o){case 4:{if(a=t.jj(),be(a)===be(this.jj())&&this.hj(null)==t.hj(null))return v=mhe(this),b=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,h=t.lj(),this.d=6,E=new sw(2),b<=h?(yn(E,this.n),yn(E,t.kj()),this.g=J(W(kn,1),qn,28,15,[this.o=b,h+1])):(yn(E,t.kj()),yn(E,this.n),this.g=J(W(kn,1),qn,28,15,[this.o=h,b])),this.n=E,v||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(a=t.jj(),be(a)===be(this.jj())&&this.hj(null)==t.hj(null)){for(v=mhe(this),h=t.lj(),y=c(this.g,53),r=ke(kn,qn,28,y.length+1,15,1),n=0;n>>0,n.toString(16))),r.a+=" (eventType: ",this.d){case 1:{r.a+="SET";break}case 2:{r.a+="UNSET";break}case 3:{r.a+="ADD";break}case 5:{r.a+="ADD_MANY";break}case 4:{r.a+="REMOVE";break}case 6:{r.a+="REMOVE_MANY";break}case 7:{r.a+="MOVE";break}case 8:{r.a+="REMOVING_ADAPTER";break}case 9:{r.a+="RESOLVE";break}default:{vB(r,this.d);break}}if(Tit(this)&&(r.a+=", touch: true"),r.a+=", position: ",vB(r,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),r.a+=", notifier: ",V6(r,this.jj()),r.a+=", feature: ",V6(r,this.Kj()),r.a+=", oldValue: ",V6(r,Pfe(this)),r.a+=", newValue: ",this.d==6&&ce(this.g,53)){for(i=c(this.g,53),r.a+="[",t=0;t10?((!this.b||this.c.j!=this.a)&&(this.b=new i8(this),this.a=this.j),Ba(this.b,t)):rk(this,t)},l.Yi=function(){return!0},l.a=0,j(ms,"AbstractEList/1",966),k(302,77,yU,Pb),j(ms,"AbstractEList/BasicIndexOutOfBoundsException",302),k(37,1,Rr,Jt),l.Nb=function(t){Jr(this,t)},l.Xj=function(){if(this.i.j!=this.f)throw V(new ol)},l.Yj=function(){return tn(this)},l.Ob=function(){return this.e!=this.i.gc()},l.Pb=function(){return this.Yj()},l.Qb=function(){Y8(this)},l.e=0,l.f=0,l.g=-1,j(ms,"AbstractEList/EIterator",37),k(286,37,Ch,Ry,eK),l.Qb=function(){Y8(this)},l.Rb=function(t){tQe(this,t)},l.Zj=function(){var t;try{return t=this.d.Xb(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=Ri(n),ce(n,77)?(this.Xj(),V(new po)):V(n)}},l.$j=function(t){oZe(this,t)},l.Sb=function(){return this.e!=0},l.Tb=function(){return this.e},l.Ub=function(){return this.Zj()},l.Vb=function(){return this.e-1},l.Wb=function(t){this.$j(t)},j(ms,"AbstractEList/EListIterator",286),k(355,37,Rr,$y),l.Yj=function(){return mz(this)},l.Qb=function(){throw V(new An)},j(ms,"AbstractEList/NonResolvingEIterator",355),k(398,286,Ch,NE,Wre),l.Rb=function(t){throw V(new An)},l.Yj=function(){var t;try{return t=this.c.Vi(this.e),this.Xj(),this.g=this.e++,t}catch(n){throw n=Ri(n),ce(n,77)?(this.Xj(),V(new po)):V(n)}},l.Zj=function(){var t;try{return t=this.c.Vi(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=Ri(n),ce(n,77)?(this.Xj(),V(new po)):V(n)}},l.Qb=function(){throw V(new An)},l.Wb=function(t){throw V(new An)},j(ms,"AbstractEList/NonResolvingEListIterator",398),k(2080,70,Elt),l.Ei=function(t,n){var i,r,o,a,h,p,b,v,y,E,A;if(o=n.gc(),o!=0){for(v=c($t(this.a,4),129),y=v==null?0:v.length,A=y+o,r=Hq(this,A),E=y-t,E>0&&Wo(v,t,r,t+o,E),b=n.Kc(),h=0;hi)throw V(new Pb(t,i));return new Vqe(this,t)},l.$b=function(){var t,n;++this.j,t=c($t(this.a,4),129),n=t==null?0:t.length,ek(this,null),XK(this,n,t)},l.Hc=function(t){var n,i,r,o,a;if(n=c($t(this.a,4),129),n!=null){if(t!=null){for(r=n,o=0,a=r.length;o=i)throw V(new Pb(t,i));return n[t]},l.dd=function(t){var n,i,r;if(n=c($t(this.a,4),129),n!=null){if(t!=null){for(i=0,r=n.length;ii)throw V(new Pb(t,i));return new zqe(this,t)},l.Ti=function(t,n){var i,r,o;if(i=fQe(this),o=i==null?0:i.length,t>=o)throw V(new Ks(hW+t+Hp+o));if(n>=o)throw V(new Ks(dW+n+Hp+o));return r=i[n],t!=n&&(t0&&Wo(t,0,n,0,i),n},l.Qc=function(t){var n,i,r;return n=c($t(this.a,4),129),r=n==null?0:n.length,r>0&&(t.lengthr&&Vi(t,r,null),t};var nvt;j(ms,"ArrayDelegatingEList",2080),k(1051,37,Rr,UUe),l.Xj=function(){if(this.b.j!=this.f||be(c($t(this.b.a,4),129))!==be(this.a))throw V(new ol)},l.Qb=function(){Y8(this),this.a=c($t(this.b.a,4),129)},j(ms,"ArrayDelegatingEList/EIterator",1051),k(722,286,Ch,rqe,zqe),l.Xj=function(){if(this.b.j!=this.f||be(c($t(this.b.a,4),129))!==be(this.a))throw V(new ol)},l.$j=function(t){oZe(this,t),this.a=c($t(this.b.a,4),129)},l.Qb=function(){Y8(this),this.a=c($t(this.b.a,4),129)},j(ms,"ArrayDelegatingEList/EListIterator",722),k(1052,355,Rr,GUe),l.Xj=function(){if(this.b.j!=this.f||be(c($t(this.b.a,4),129))!==be(this.a))throw V(new ol)},j(ms,"ArrayDelegatingEList/NonResolvingEIterator",1052),k(723,398,Ch,sqe,Vqe),l.Xj=function(){if(this.b.j!=this.f||be(c($t(this.b.a,4),129))!==be(this.a))throw V(new ol)},j(ms,"ArrayDelegatingEList/NonResolvingEListIterator",723),k(615,302,yU,sH),j(ms,"BasicEList/BasicIndexOutOfBoundsException",615),k(710,66,oh,Die),l.bd=function(t,n){throw V(new An)},l.Fc=function(t){throw V(new An)},l.cd=function(t,n){throw V(new An)},l.Gc=function(t){throw V(new An)},l.$b=function(){throw V(new An)},l._i=function(t){throw V(new An)},l.Kc=function(){return this.Ii()},l.ed=function(){return this.Ji()},l.fd=function(t){return this.Ki(t)},l.Ti=function(t,n){throw V(new An)},l.Ui=function(t,n){throw V(new An)},l.gd=function(t){throw V(new An)},l.Mc=function(t){throw V(new An)},l.hd=function(t,n){throw V(new An)},j(ms,"BasicEList/UnmodifiableEList",710),k(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),l.bd=function(t,n){HEt(this,t,c(n,44))},l.Fc=function(t){return O7t(this,c(t,44))},l.Jc=function(t){Qr(this,t)},l.Xb=function(t){return c(le(this.c,t),136)},l.Ti=function(t,n){return c(this.c.Ti(t,n),44)},l.Ui=function(t,n){KEt(this,t,c(n,44))},l.Lc=function(){return new gt(null,new yt(this,16))},l.gd=function(t){return c(this.c.gd(t),44)},l.hd=function(t,n){return iTt(this,t,c(n,44))},l.jd=function(t){xp(this,t)},l.Nc=function(){return new yt(this,16)},l.Oc=function(){return new gt(null,new yt(this,16))},l.cd=function(t,n){return this.c.cd(t,n)},l.Gc=function(t){return this.c.Gc(t)},l.$b=function(){this.c.$b()},l.Hc=function(t){return this.c.Hc(t)},l.Ic=function(t){return E7(this.c,t)},l._j=function(){var t,n,i;if(this.d==null){for(this.d=ke(exe,lpe,66,2*this.f+1,0,1),i=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)t=c(n.Yj(),136),w_(this,t);this.e=i}},l.Fb=function(t){return PHe(this,t)},l.Hb=function(){return hue(this.c)},l.dd=function(t){return this.c.dd(t)},l.ak=function(){this.c=new ROe(this)},l.dc=function(){return this.f==0},l.Kc=function(){return this.c.Kc()},l.ed=function(){return this.c.ed()},l.fd=function(t){return this.c.fd(t)},l.bk=function(){return o7(this)},l.ck=function(t,n,i){return new VHe(t,n,i)},l.dk=function(){return new HNe},l.Mc=function(t){return mXe(this,t)},l.gc=function(){return this.f},l.kd=function(t,n){return new Jd(this.c,t,n)},l.Pc=function(){return this.c.Pc()},l.Qc=function(t){return this.c.Qc(t)},l.Ib=function(){return ole(this.c)},l.e=0,l.f=0,j(ms,"BasicEMap",721),k(1046,66,oh,ROe),l.Mi=function(t,n){vSt(this,c(n,136))},l.Pi=function(t,n,i){var r;++(r=this,c(n,136),r).a.e},l.Qi=function(t,n){ySt(this,c(n,136))},l.Ri=function(t,n,i){v7t(this,c(n,136),c(i,136))},l.Oi=function(t,n){fJe(this.a)},j(ms,"BasicEMap/1",1046),k(1047,66,oh,HNe),l.aj=function(t){return ke(cin,Ilt,621,t,0,1)},j(ms,"BasicEMap/2",1047),k(1048,vf,Xc,$Oe),l.$b=function(){this.a.c.$b()},l.Hc=function(t){return uz(this.a,t)},l.Kc=function(){return this.a.f==0?(n4(),hC.a):new yDe(this.a)},l.Mc=function(t){var n;return n=this.a.f,r_(this.a,t),this.a.f!=n},l.gc=function(){return this.a.f},j(ms,"BasicEMap/3",1048),k(1049,31,lm,FOe),l.$b=function(){this.a.c.$b()},l.Hc=function(t){return lit(this.a,t)},l.Kc=function(){return this.a.f==0?(n4(),hC.a):new xDe(this.a)},l.gc=function(){return this.a.f},j(ms,"BasicEMap/4",1049),k(1050,vf,Xc,BOe),l.$b=function(){this.a.c.$b()},l.Hc=function(t){var n,i,r,o,a,h,p,b,v;if(this.a.f>0&&ce(t,44)&&(this.a._j(),b=c(t,44),p=b.ld(),o=p==null?0:Ei(p),a=_re(this.a,o),n=this.a.d[a],n)){for(i=c(n.g,379),v=n.i,h=0;h"+this.c},l.a=0;var cin=j(ms,"BasicEMap/EntryImpl",621);k(546,1,{},OM),j(ms,"BasicEMap/View",546);var hC;k(783,1,{}),l.Fb=function(t){return gfe((jt(),vs),t)},l.Hb=function(){return Sue((jt(),vs))},l.Ib=function(){return u0((jt(),vs))},j(ms,"ECollections/BasicEmptyUnmodifiableEList",783),k(1348,1,Ch,KNe),l.Nb=function(t){Jr(this,t)},l.Rb=function(t){throw V(new An)},l.Ob=function(){return!1},l.Sb=function(){return!1},l.Pb=function(){throw V(new po)},l.Tb=function(){return 0},l.Ub=function(){throw V(new po)},l.Vb=function(){return-1},l.Qb=function(){throw V(new An)},l.Wb=function(t){throw V(new An)},j(ms,"ECollections/BasicEmptyUnmodifiableEList/1",1348),k(1346,783,{20:1,16:1,15:1,61:1},TLe),l.bd=function(t,n){VDe()},l.Fc=function(t){return UDe()},l.cd=function(t,n){return GDe()},l.Gc=function(t){return WDe()},l.$b=function(){XDe()},l.Hc=function(t){return!1},l.Ic=function(t){return!1},l.Jc=function(t){Qr(this,t)},l.Xb=function(t){return Fie((jt(),t)),null},l.dd=function(t){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.ed=function(){return this.a},l.fd=function(t){return this.a},l.Ti=function(t,n){return JDe()},l.Ui=function(t,n){YDe()},l.Lc=function(){return new gt(null,new yt(this,16))},l.gd=function(t){return QDe()},l.Mc=function(t){return ZDe()},l.hd=function(t,n){return eRe()},l.gc=function(){return 0},l.jd=function(t){xp(this,t)},l.Nc=function(){return new yt(this,16)},l.Oc=function(){return new gt(null,new yt(this,16))},l.kd=function(t,n){return jt(),new Jd(vs,t,n)},l.Pc=function(){return Dse((jt(),vs))},l.Qc=function(t){return jt(),G8(vs,t)},j(ms,"ECollections/EmptyUnmodifiableEList",1346),k(1347,783,{20:1,16:1,15:1,61:1,597:1},ALe),l.bd=function(t,n){VDe()},l.Fc=function(t){return UDe()},l.cd=function(t,n){return GDe()},l.Gc=function(t){return WDe()},l.$b=function(){XDe()},l.Hc=function(t){return!1},l.Ic=function(t){return!1},l.Jc=function(t){Qr(this,t)},l.Xb=function(t){return Fie((jt(),t)),null},l.dd=function(t){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.ed=function(){return this.a},l.fd=function(t){return this.a},l.Ti=function(t,n){return JDe()},l.Ui=function(t,n){YDe()},l.Lc=function(){return new gt(null,new yt(this,16))},l.gd=function(t){return QDe()},l.Mc=function(t){return ZDe()},l.hd=function(t,n){return eRe()},l.gc=function(){return 0},l.jd=function(t){xp(this,t)},l.Nc=function(){return new yt(this,16)},l.Oc=function(){return new gt(null,new yt(this,16))},l.kd=function(t,n){return jt(),new Jd(vs,t,n)},l.Pc=function(){return Dse((jt(),vs))},l.Qc=function(t){return jt(),G8(vs,t)},l.bk=function(){return jt(),jt(),Lh},j(ms,"ECollections/EmptyUnmodifiableEMap",1347);var nxe=qi(ms,"Enumerator"),AR;k(288,1,{288:1},gV),l.Fb=function(t){var n;return this===t?!0:ce(t,288)?(n=c(t,288),this.f==n.f&&vMt(this.i,n.i)&&KH(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&KH(this.d,n.d)&&KH(this.g,n.g)&&KH(this.e,n.e)&&qBt(this,n)):!1},l.Hb=function(){return this.f},l.Ib=function(){return Kit(this)},l.f=0;var ivt=0,rvt=0,svt=0,ovt=0,ixe=0,rxe=0,sxe=0,oxe=0,cxe=0,cvt,ZS=0,e9=0,uvt=0,lvt=0,PR,uxe;j(ms,"URI",288),k(1121,45,o2,PLe),l.zc=function(t,n){return c(zs(this,_n(t),c(n,288)),288)},j(ms,"URI/URICache",1121),k(506,66,oh,DNe,mA),l.Si=function(){return!0},j(ms,"UniqueEList",506),k(590,63,jd,fP),j(ms,"WrappedException",590);var Vn=qi(Sl,Mlt),Vm=qi(Sl,Tlt),$c=qi(Sl,Alt),Um=qi(Sl,Plt),nf=qi(Sl,_lt),Zl=qi(Sl,"EClass"),wQ=qi(Sl,"EDataType"),avt;k(1233,45,o2,_Le),l.xc=function(t){return Dr(t)?Zo(this,t):Qs(Is(this.f,t))},j(Sl,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var _R=qi(Sl,"EEnum"),Pd=qi(Sl,Olt),_s=qi(Sl,Llt),ea=qi(Sl,Dlt),ta,Qw=qi(Sl,Rlt),Gm=qi(Sl,$lt);k(1042,1,{},LNe),l.Ib=function(){return"NIL"},j(Sl,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var fvt;k(1041,45,o2,OLe),l.xc=function(t){return Dr(t)?Zo(this,t):Qs(Is(this.f,t))},j(Sl,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var Nc=qi(Sl,Flt),ix=qi(Sl,"EValidator/PatternMatcher"),lxe,axe,Ot,N1,Wm,D0,hvt,dvt,pvt,R0,C1,$0,Zw,Pf,gvt,wvt,na,M1,bvt,T1,Xm,J2,js,mvt,vvt,eb,OR=qi(_i,"FeatureMap/Entry");k(545,1,{76:1},LT),l.Lk=function(){return this.a},l.md=function(){return this.b},j(Lt,"BasicEObjectImpl/1",545),k(1040,1,vW,nFe),l.Fk=function(t){return VK(this.a,this.b,t)},l.Qj=function(){return $ze(this.a,this.b)},l.Wb=function(t){Soe(this.a,this.b,t)},l.Gk=function(){wTt(this.a,this.b)},j(Lt,"BasicEObjectImpl/4",1040),k(2081,1,{114:1}),l.Mk=function(t){this.e=t==0?yvt:ke(Cr,Mt,1,t,5,1)},l.li=function(t){return this.e[t]},l.mi=function(t,n){this.e[t]=n},l.ni=function(t){this.e[t]=null},l.Nk=function(){return this.c},l.Ok=function(){throw V(new An)},l.Pk=function(){throw V(new An)},l.Qk=function(){return this.d},l.Rk=function(){return this.e!=null},l.Sk=function(t){this.c=t},l.Tk=function(t){throw V(new An)},l.Uk=function(t){throw V(new An)},l.Vk=function(t){this.d=t};var yvt;j(Lt,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),k(192,2081,{114:1},$a),l.Ok=function(){return this.a},l.Pk=function(){return this.b},l.Tk=function(t){this.a=t},l.Uk=function(t){this.b=t},j(Lt,"BasicEObjectImpl/EPropertiesHolderImpl",192),k(516,99,But,LM),l.uh=function(){return this.f},l.zh=function(){return this.k},l.Bh=function(t,n){this.g=t,this.i=n},l.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},l.Fh=function(){return this.i},l.wh=function(){return(this.j&1)!=0},l.Ph=function(){return this.g},l.Vh=function(){return(this.j&4)!=0},l.$h=function(){return!this.k&&(this.k=new $a),this.k},l.ci=function(t){this.$h().Sk(t),t?this.j|=2:this.j&=-3},l.ei=function(t){this.$h().Uk(t),t?this.j|=4:this.j&=-5},l.ii=function(){return(X1(),Ot).S},l.i=0,l.j=1,j(Lt,"EObjectImpl",516),k(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},vse),l.li=function(t){return this.e[t]},l.mi=function(t,n){this.e[t]=n},l.ni=function(t){this.e[t]=null},l.Dh=function(){return this.d},l.Ih=function(t){return $i(this.d,t)},l.Kh=function(){return this.d},l.Oh=function(){return this.e!=null},l.$h=function(){return!this.k&&(this.k=new qNe),this.k},l.ci=function(t){this.d=t},l.hi=function(){var t;return this.e==null&&(t=sn(this.d),this.e=t==0?xvt:ke(Cr,Mt,1,t,5,1)),this},l.ji=function(){return 0};var xvt;j(Lt,"DynamicEObjectImpl",798),k(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},wKe),l.Fb=function(t){return this===t},l.Hb=function(){return Kg(this)},l.ci=function(t){this.d=t,this.b=cI(t,"key"),this.c=cI(t,$j)},l.Bi=function(){var t;return this.a==-1&&(t=rq(this,this.b),this.a=t==null?0:Ei(t)),this.a},l.ld=function(){return rq(this,this.b)},l.md=function(){return rq(this,this.c)},l.Ci=function(t){this.a=t},l.Di=function(t){Soe(this,this.b,t)},l.nd=function(t){var n;return n=rq(this,this.c),Soe(this,this.c,t),n},l.a=0,j(Lt,"DynamicEObjectImpl/BasicEMapEntry",1522),k(1523,1,{114:1},qNe),l.Mk=function(t){throw V(new An)},l.li=function(t){throw V(new An)},l.mi=function(t,n){throw V(new An)},l.ni=function(t){throw V(new An)},l.Nk=function(){throw V(new An)},l.Ok=function(){return this.a},l.Pk=function(){return this.b},l.Qk=function(){return this.c},l.Rk=function(){throw V(new An)},l.Sk=function(t){throw V(new An)},l.Tk=function(t){this.a=t},l.Uk=function(t){this.b=t},l.Vk=function(t){this.c=t},j(Lt,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),k(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},kte),l.Ah=function(t){return Xle(this,t)},l.Lh=function(t,n,i){var r;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.d;case 2:return i?(!this.b&&(this.b=new Au((kt(),js),Po,this)),this.b):(!this.b&&(this.b=new Au((kt(),js),Po,this)),o7(this.b));case 3:return qze(this);case 4:return!this.a&&(this.a=new cr(O0,this,4)),this.a;case 5:return!this.c&&(this.c=new Mv(O0,this,5)),this.c}return pl(this,t-sn((kt(),N1)),Nt((r=c($t(this,16),29),r||N1),t),n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 3:return this.Cb&&(i=(o=this.Db>>16,o>=0?Xle(this,i):this.Cb.Th(this,-1-o,null,i))),Lse(this,c(t,155),i)}return a=c(Nt((r=c($t(this,16),29),r||(kt(),N1)),n),69),a.wk().zk(this,xc(this),n-sn((kt(),N1)),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 2:return!this.b&&(this.b=new Au((kt(),js),Po,this)),eA(this.b,t,i);case 3:return Lse(this,null,i);case 4:return!this.a&&(this.a=new cr(O0,this,4)),ws(this.a,t,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),N1)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),N1)),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!qze(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return hl(this,t-sn((kt(),N1)),Nt((n=c($t(this,16),29),n||N1),t))},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:oMt(this,_n(n));return;case 2:!this.b&&(this.b=new Au((kt(),js),Po,this)),DP(this.b,n);return;case 3:Tnt(this,c(n,155));return;case 4:!this.a&&(this.a=new cr(O0,this,4)),mn(this.a),!this.a&&(this.a=new cr(O0,this,4)),Wi(this.a,c(n,16));return;case 5:!this.c&&(this.c=new Mv(O0,this,5)),mn(this.c),!this.c&&(this.c=new Mv(O0,this,5)),Wi(this.c,c(n,16));return}ml(this,t-sn((kt(),N1)),Nt((i=c($t(this,16),29),i||N1),t),n)},l.ii=function(){return kt(),N1},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:Jce(this,null);return;case 2:!this.b&&(this.b=new Au((kt(),js),Po,this)),this.b.c.$b();return;case 3:Tnt(this,null);return;case 4:!this.a&&(this.a=new cr(O0,this,4)),mn(this.a);return;case 5:!this.c&&(this.c=new Mv(O0,this,5)),mn(this.c);return}bl(this,t-sn((kt(),N1)),Nt((n=c($t(this,16),29),n||N1),t))},l.Ib=function(){return PYe(this)},l.d=null,j(Lt,"EAnnotationImpl",519),k(141,721,ape,Uc),l.Gi=function(t,n){SEt(this,t,c(n,44))},l.Wk=function(t,n){return IIt(this,c(t,44),n)},l.$i=function(t){return c(c(this.c,71).$i(t),136)},l.Ii=function(){return c(this.c,71).Ii()},l.Ji=function(){return c(this.c,71).Ji()},l.Ki=function(t){return c(this.c,71).Ki(t)},l.Xk=function(t,n){return eA(this,t,n)},l.Fk=function(t){return c(this.c,79).Fk(t)},l.ak=function(){},l.Qj=function(){return c(this.c,79).Qj()},l.ck=function(t,n,i){var r;return r=c(qu(this.b).wi().si(this.b),136),r.Ci(t),r.Di(n),r.nd(i),r},l.dk=function(){return new rne(this)},l.Wb=function(t){DP(this,t)},l.Gk=function(){c(this.c,79).Gk()},j(_i,"EcoreEMap",141),k(165,141,ape,Au),l._j=function(){var t,n,i,r,o,a;if(this.d==null){for(a=ke(exe,lpe,66,2*this.f+1,0,1),i=this.c.Kc();i.e!=i.i.gc();)n=c(i.Yj(),136),r=n.Bi(),o=(r&ui)%a.length,t=a[o],!t&&(t=a[o]=new rne(this)),t.Fc(n);this.d=a}},j(Lt,"EAnnotationImpl/1",165),k(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),l.Lh=function(t,n,i){var r,o;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _t(),!!(this.Bb&256);case 3:return _t(),!!(this.Bb&512);case 4:return De(this.s);case 5:return De(this.t);case 6:return _t(),!!this.Jk();case 7:return _t(),o=this.s,o>=1;case 8:return n?Kl(this):this.r;case 9:return this.q}return pl(this,t-sn(this.ii()),Nt((r=c($t(this,16),29),r||this.ii()),t),n,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 9:return iK(this,i)}return o=c(Nt((r=c($t(this,16),29),r||this.ii()),n),69),o.wk().Ak(this,xc(this),n-sn(this.ii()),t,i)},l.Wh=function(t){var n,i;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Jg(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Jg(this.q).i==0)}return hl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.bi=function(t,n){var i,r;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:this.ui(_n(n));return;case 2:s1(this,Xe(We(n)));return;case 3:o1(this,Xe(We(n)));return;case 4:t1(this,c(n,17).a);return;case 5:this.Zk(c(n,17).a);return;case 8:Np(this,c(n,142));return;case 9:r=bf(this,c(n,89),null),r&&r.oj();return}ml(this,t-sn(this.ii()),Nt((i=c($t(this,16),29),i||this.ii()),t),n)},l.ii=function(){return kt(),vvt},l.ki=function(t){var n,i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:this.ui(null);return;case 2:s1(this,!0);return;case 3:o1(this,!0);return;case 4:t1(this,0);return;case 5:this.Zk(1);return;case 8:Np(this,null);return;case 9:i=bf(this,null,null),i&&i.oj();return}bl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.pi=function(){Kl(this),this.Bb|=1},l.Hk=function(){return Kl(this)},l.Ik=function(){return this.t},l.Jk=function(){var t;return t=this.t,t>1||t==-1},l.Si=function(){return(this.Bb&512)!=0},l.Yk=function(t,n){return que(this,t,n)},l.Zk=function(t){Vb(this,t)},l.Ib=function(){return ofe(this)},l.s=0,l.t=1,j(Lt,"ETypedElementImpl",292),k(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),l.Ah=function(t){return xZe(this,t)},l.Lh=function(t,n,i){var r,o;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _t(),!!(this.Bb&256);case 3:return _t(),!!(this.Bb&512);case 4:return De(this.s);case 5:return De(this.t);case 6:return _t(),!!this.Jk();case 7:return _t(),o=this.s,o>=1;case 8:return n?Kl(this):this.r;case 9:return this.q;case 10:return _t(),!!(this.Bb&xa);case 11:return _t(),!!(this.Bb&mm);case 12:return _t(),!!(this.Bb&fm);case 13:return this.j;case 14:return ak(this);case 15:return _t(),!!(this.Bb&Yc);case 16:return _t(),!!(this.Bb&Yf);case 17:return Rb(this)}return pl(this,t-sn(this.ii()),Nt((r=c($t(this,16),29),r||this.ii()),t),n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 17:return this.Cb&&(i=(o=this.Db>>16,o>=0?xZe(this,i):this.Cb.Th(this,-1-o,null,i))),Xu(this,t,17,i)}return a=c(Nt((r=c($t(this,16),29),r||this.ii()),n),69),a.wk().zk(this,xc(this),n-sn(this.ii()),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 9:return iK(this,i);case 17:return Xu(this,null,17,i)}return o=c(Nt((r=c($t(this,16),29),r||this.ii()),n),69),o.wk().Ak(this,xc(this),n-sn(this.ii()),t,i)},l.Wh=function(t){var n,i;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Jg(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Jg(this.q).i==0);case 10:return(this.Bb&xa)==0;case 11:return(this.Bb&mm)!=0;case 12:return(this.Bb&fm)!=0;case 13:return this.j!=null;case 14:return ak(this)!=null;case 15:return(this.Bb&Yc)!=0;case 16:return(this.Bb&Yf)!=0;case 17:return!!Rb(this)}return hl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.bi=function(t,n){var i,r;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:TK(this,_n(n));return;case 2:s1(this,Xe(We(n)));return;case 3:o1(this,Xe(We(n)));return;case 4:t1(this,c(n,17).a);return;case 5:this.Zk(c(n,17).a);return;case 8:Np(this,c(n,142));return;case 9:r=bf(this,c(n,89),null),r&&r.oj();return;case 10:G4(this,Xe(We(n)));return;case 11:J4(this,Xe(We(n)));return;case 12:W4(this,Xe(We(n)));return;case 13:Lie(this,_n(n));return;case 15:X4(this,Xe(We(n)));return;case 16:Y4(this,Xe(We(n)));return}ml(this,t-sn(this.ii()),Nt((i=c($t(this,16),29),i||this.ii()),t),n)},l.ii=function(){return kt(),mvt},l.ki=function(t){var n,i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:ce(this.Cb,90)&&nm(gu(c(this.Cb,90)),4),fc(this,null);return;case 2:s1(this,!0);return;case 3:o1(this,!0);return;case 4:t1(this,0);return;case 5:this.Zk(1);return;case 8:Np(this,null);return;case 9:i=bf(this,null,null),i&&i.oj();return;case 10:G4(this,!0);return;case 11:J4(this,!1);return;case 12:W4(this,!1);return;case 13:this.i=null,TP(this,null);return;case 15:X4(this,!1);return;case 16:Y4(this,!1);return}bl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.pi=function(){d4(Vs((Wc(),ts),this)),Kl(this),this.Bb|=1},l.pk=function(){return this.f},l.ik=function(){return ak(this)},l.qk=function(){return Rb(this)},l.uk=function(){return null},l.$k=function(){return this.k},l.Lj=function(){return this.n},l.vk=function(){return S_(this)},l.wk=function(){var t,n,i,r,o,a,h,p,b;return this.p||(i=Rb(this),(i.i==null&&Jf(i),i.i).length,r=this.uk(),r&&sn(Rb(r)),o=Kl(this),h=o.kk(),t=h?h.i&1?h==Su?Zi:h==kn?es:h==Ym?Uk:h==$r?dr:h==B0?_w:h==ey?Ow:h==Zc?L3:Xj:h:null,n=ak(this),p=o.ik(),yFt(this),this.Bb&Yf&&((a=nae((Wc(),ts),i))&&a!=this||(a=Qy(Vs(ts,this))))?this.p=new rFe(this,a):this.Jk()?this.al()?r?this.Bb&Yc?t?this.bl()?this.p=new pp(47,t,this,r):this.p=new pp(5,t,this,r):this.bl()?this.p=new vp(46,this,r):this.p=new vp(4,this,r):t?this.bl()?this.p=new pp(49,t,this,r):this.p=new pp(7,t,this,r):this.bl()?this.p=new vp(48,this,r):this.p=new vp(6,this,r):this.Bb&Yc?t?t==zp?this.p=new Gd(50,evt,this):this.bl()?this.p=new Gd(43,t,this):this.p=new Gd(1,t,this):this.bl()?this.p=new Xd(42,this):this.p=new Xd(0,this):t?t==zp?this.p=new Gd(41,evt,this):this.bl()?this.p=new Gd(45,t,this):this.p=new Gd(3,t,this):this.bl()?this.p=new Xd(44,this):this.p=new Xd(2,this):ce(o,156)?t==OR?this.p=new Xd(40,this):this.Bb&512?this.Bb&Yc?t?this.p=new Gd(9,t,this):this.p=new Xd(8,this):t?this.p=new Gd(11,t,this):this.p=new Xd(10,this):this.Bb&Yc?t?this.p=new Gd(13,t,this):this.p=new Xd(12,this):t?this.p=new Gd(15,t,this):this.p=new Xd(14,this):r?(b=r.t,b>1||b==-1?this.bl()?this.Bb&Yc?t?this.p=new pp(25,t,this,r):this.p=new vp(24,this,r):t?this.p=new pp(27,t,this,r):this.p=new vp(26,this,r):this.Bb&Yc?t?this.p=new pp(29,t,this,r):this.p=new vp(28,this,r):t?this.p=new pp(31,t,this,r):this.p=new vp(30,this,r):this.bl()?this.Bb&Yc?t?this.p=new pp(33,t,this,r):this.p=new vp(32,this,r):t?this.p=new pp(35,t,this,r):this.p=new vp(34,this,r):this.Bb&Yc?t?this.p=new pp(37,t,this,r):this.p=new vp(36,this,r):t?this.p=new pp(39,t,this,r):this.p=new vp(38,this,r)):this.bl()?this.Bb&Yc?t?this.p=new Gd(17,t,this):this.p=new Xd(16,this):t?this.p=new Gd(19,t,this):this.p=new Xd(18,this):this.Bb&Yc?t?this.p=new Gd(21,t,this):this.p=new Xd(20,this):t?this.p=new Gd(23,t,this):this.p=new Xd(22,this):this._k()?this.bl()?this.p=new UHe(c(o,29),this,r):this.p=new koe(c(o,29),this,r):ce(o,156)?t==OR?this.p=new Xd(40,this):this.Bb&Yc?t?this.p=new VKe(n,p,this,(lz(),h==kn?bxe:h==Su?hxe:h==B0?mxe:h==Ym?wxe:h==$r?gxe:h==ey?vxe:h==Zc?dxe:h==Al?pxe:vQ)):this.p=new rze(c(o,156),n,p,this):t?this.p=new zKe(n,p,this,(lz(),h==kn?bxe:h==Su?hxe:h==B0?mxe:h==Ym?wxe:h==$r?gxe:h==ey?vxe:h==Zc?dxe:h==Al?pxe:vQ)):this.p=new ize(c(o,156),n,p,this):this.al()?r?this.Bb&Yc?this.bl()?this.p=new WHe(c(o,29),this,r):this.p=new cse(c(o,29),this,r):this.bl()?this.p=new GHe(c(o,29),this,r):this.p=new LH(c(o,29),this,r):this.Bb&Yc?this.bl()?this.p=new zBe(c(o,29),this):this.p=new xre(c(o,29),this):this.bl()?this.p=new qBe(c(o,29),this):this.p=new kH(c(o,29),this):this.bl()?r?this.Bb&Yc?this.p=new XHe(c(o,29),this,r):this.p=new sse(c(o,29),this,r):this.Bb&Yc?this.p=new VBe(c(o,29),this):this.p=new kre(c(o,29),this):r?this.Bb&Yc?this.p=new JHe(c(o,29),this,r):this.p=new ose(c(o,29),this,r):this.Bb&Yc?this.p=new UBe(c(o,29),this):this.p=new bA(c(o,29),this)),this.p},l.rk=function(){return(this.Bb&xa)!=0},l._k=function(){return!1},l.al=function(){return!1},l.sk=function(){return(this.Bb&Yf)!=0},l.xk=function(){return sq(this)},l.bl=function(){return!1},l.tk=function(){return(this.Bb&Yc)!=0},l.cl=function(t){this.k=t},l.ui=function(t){TK(this,t)},l.Ib=function(){return V_(this)},l.e=!1,l.n=0,j(Lt,"EStructuralFeatureImpl",462),k(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},nB),l.Lh=function(t,n,i){var r,o;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _t(),!!(this.Bb&256);case 3:return _t(),!!(this.Bb&512);case 4:return De(this.s);case 5:return De(this.t);case 6:return _t(),!!efe(this);case 7:return _t(),o=this.s,o>=1;case 8:return n?Kl(this):this.r;case 9:return this.q;case 10:return _t(),!!(this.Bb&xa);case 11:return _t(),!!(this.Bb&mm);case 12:return _t(),!!(this.Bb&fm);case 13:return this.j;case 14:return ak(this);case 15:return _t(),!!(this.Bb&Yc);case 16:return _t(),!!(this.Bb&Yf);case 17:return Rb(this);case 18:return _t(),!!(this.Bb&Lo);case 19:return n?Mq(this):cGe(this)}return pl(this,t-sn((kt(),Wm)),Nt((r=c($t(this,16),29),r||Wm),t),n,i)},l.Wh=function(t){var n,i;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return efe(this);case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Jg(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Jg(this.q).i==0);case 10:return(this.Bb&xa)==0;case 11:return(this.Bb&mm)!=0;case 12:return(this.Bb&fm)!=0;case 13:return this.j!=null;case 14:return ak(this)!=null;case 15:return(this.Bb&Yc)!=0;case 16:return(this.Bb&Yf)!=0;case 17:return!!Rb(this);case 18:return(this.Bb&Lo)!=0;case 19:return!!cGe(this)}return hl(this,t-sn((kt(),Wm)),Nt((n=c($t(this,16),29),n||Wm),t))},l.bi=function(t,n){var i,r;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:TK(this,_n(n));return;case 2:s1(this,Xe(We(n)));return;case 3:o1(this,Xe(We(n)));return;case 4:t1(this,c(n,17).a);return;case 5:SDe(this,c(n,17).a);return;case 8:Np(this,c(n,142));return;case 9:r=bf(this,c(n,89),null),r&&r.oj();return;case 10:G4(this,Xe(We(n)));return;case 11:J4(this,Xe(We(n)));return;case 12:W4(this,Xe(We(n)));return;case 13:Lie(this,_n(n));return;case 15:X4(this,Xe(We(n)));return;case 16:Y4(this,Xe(We(n)));return;case 18:tz(this,Xe(We(n)));return}ml(this,t-sn((kt(),Wm)),Nt((i=c($t(this,16),29),i||Wm),t),n)},l.ii=function(){return kt(),Wm},l.ki=function(t){var n,i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:ce(this.Cb,90)&&nm(gu(c(this.Cb,90)),4),fc(this,null);return;case 2:s1(this,!0);return;case 3:o1(this,!0);return;case 4:t1(this,0);return;case 5:this.b=0,Vb(this,1);return;case 8:Np(this,null);return;case 9:i=bf(this,null,null),i&&i.oj();return;case 10:G4(this,!0);return;case 11:J4(this,!1);return;case 12:W4(this,!1);return;case 13:this.i=null,TP(this,null);return;case 15:X4(this,!1);return;case 16:Y4(this,!1);return;case 18:tz(this,!1);return}bl(this,t-sn((kt(),Wm)),Nt((n=c($t(this,16),29),n||Wm),t))},l.pi=function(){Mq(this),d4(Vs((Wc(),ts),this)),Kl(this),this.Bb|=1},l.Jk=function(){return efe(this)},l.Yk=function(t,n){return this.b=0,this.a=null,que(this,t,n)},l.Zk=function(t){SDe(this,t)},l.Ib=function(){var t;return this.Db&64?V_(this):(t=new $l(V_(this)),t.a+=" (iD: ",qd(t,(this.Bb&Lo)!=0),t.a+=")",t.a)},l.b=0,j(Lt,"EAttributeImpl",331),k(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),l.dl=function(t){return t.Dh()==this},l.Ah=function(t){return Oz(this,t)},l.Bh=function(t,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=t},l.Lh=function(t,n,i){var r;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return bw(this);case 4:return this.ik();case 5:return this.F;case 6:return n?qu(this):w4(this);case 7:return!this.A&&(this.A=new Kc(Nc,this,7)),this.A}return pl(this,t-sn(this.ii()),Nt((r=c($t(this,16),29),r||this.ii()),t),n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 6:return this.Cb&&(i=(o=this.Db>>16,o>=0?Oz(this,i):this.Cb.Th(this,-1-o,null,i))),Xu(this,t,6,i)}return a=c(Nt((r=c($t(this,16),29),r||this.ii()),n),69),a.wk().zk(this,xc(this),n-sn(this.ii()),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 6:return Xu(this,null,6,i);case 7:return!this.A&&(this.A=new Kc(Nc,this,7)),ws(this.A,t,i)}return o=c(Nt((r=c($t(this,16),29),r||this.ii()),n),69),o.wk().Ak(this,xc(this),n-sn(this.ii()),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!bw(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!w4(this);case 7:return!!this.A&&this.A.i!=0}return hl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:UA(this,_n(n));return;case 2:uH(this,_n(n));return;case 5:bk(this,_n(n));return;case 7:!this.A&&(this.A=new Kc(Nc,this,7)),mn(this.A),!this.A&&(this.A=new Kc(Nc,this,7)),Wi(this.A,c(n,16));return}ml(this,t-sn(this.ii()),Nt((i=c($t(this,16),29),i||this.ii()),t),n)},l.ii=function(){return kt(),hvt},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:ce(this.Cb,184)&&(c(this.Cb,184).tb=null),fc(this,null);return;case 2:z4(this,null),M4(this,this.D);return;case 5:bk(this,null);return;case 7:!this.A&&(this.A=new Kc(Nc,this,7)),mn(this.A);return}bl(this,t-sn(this.ii()),Nt((n=c($t(this,16),29),n||this.ii()),t))},l.hk=function(){var t;return this.G==-1&&(this.G=(t=qu(this),t?l1(t.vi(),this):-1)),this.G},l.ik=function(){return null},l.jk=function(){return qu(this)},l.el=function(){return this.v},l.kk=function(){return bw(this)},l.lk=function(){return this.D!=null?this.D:this.B},l.mk=function(){return this.F},l.fk=function(t){return SV(this,t)},l.fl=function(t){this.v=t},l.gl=function(t){VXe(this,t)},l.hl=function(t){this.C=t},l.ui=function(t){UA(this,t)},l.Ib=function(){return e_(this)},l.C=null,l.D=null,l.G=-1,j(Lt,"EClassifierImpl",364),k(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},Ite),l.dl=function(t){return lIt(this,t.Dh())},l.Lh=function(t,n,i){var r;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return bw(this);case 4:return null;case 5:return this.F;case 6:return n?qu(this):w4(this);case 7:return!this.A&&(this.A=new Kc(Nc,this,7)),this.A;case 8:return _t(),!!(this.Bb&256);case 9:return _t(),!!(this.Bb&512);case 10:return eo(this);case 11:return!this.q&&(this.q=new Ie(ea,this,11,10)),this.q;case 12:return n2(this);case 13:return hj(this);case 14:return hj(this),this.r;case 15:return n2(this),this.k;case 16:return qae(this);case 17:return CV(this);case 18:return Jf(this);case 19:return D_(this);case 20:return n2(this),this.o;case 21:return!this.s&&(this.s=new Ie($c,this,21,17)),this.s;case 22:return Uo(this);case 23:return pV(this)}return pl(this,t-sn((kt(),D0)),Nt((r=c($t(this,16),29),r||D0),t),n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 6:return this.Cb&&(i=(o=this.Db>>16,o>=0?Oz(this,i):this.Cb.Th(this,-1-o,null,i))),Xu(this,t,6,i);case 11:return!this.q&&(this.q=new Ie(ea,this,11,10)),hc(this.q,t,i);case 21:return!this.s&&(this.s=new Ie($c,this,21,17)),hc(this.s,t,i)}return a=c(Nt((r=c($t(this,16),29),r||(kt(),D0)),n),69),a.wk().zk(this,xc(this),n-sn((kt(),D0)),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 6:return Xu(this,null,6,i);case 7:return!this.A&&(this.A=new Kc(Nc,this,7)),ws(this.A,t,i);case 11:return!this.q&&(this.q=new Ie(ea,this,11,10)),ws(this.q,t,i);case 21:return!this.s&&(this.s=new Ie($c,this,21,17)),ws(this.s,t,i);case 22:return ws(Uo(this),t,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),D0)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),D0)),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!bw(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!w4(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&Uo(this.u.a).i!=0&&!(this.n&&jz(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return n2(this).i!=0;case 13:return hj(this).i!=0;case 14:return hj(this),this.r.i!=0;case 15:return n2(this),this.k.i!=0;case 16:return qae(this).i!=0;case 17:return CV(this).i!=0;case 18:return Jf(this).i!=0;case 19:return D_(this).i!=0;case 20:return n2(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&jz(this.n);case 23:return pV(this).i!=0}return hl(this,t-sn((kt(),D0)),Nt((n=c($t(this,16),29),n||D0),t))},l.Zh=function(t){var n;return n=this.i==null||this.q&&this.q.i!=0?null:cI(this,t),n||Ehe(this,t)},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:UA(this,_n(n));return;case 2:uH(this,_n(n));return;case 5:bk(this,_n(n));return;case 7:!this.A&&(this.A=new Kc(Nc,this,7)),mn(this.A),!this.A&&(this.A=new Kc(Nc,this,7)),Wi(this.A,c(n,16));return;case 8:zue(this,Xe(We(n)));return;case 9:Vue(this,Xe(We(n)));return;case 10:gj(eo(this)),Wi(eo(this),c(n,16));return;case 11:!this.q&&(this.q=new Ie(ea,this,11,10)),mn(this.q),!this.q&&(this.q=new Ie(ea,this,11,10)),Wi(this.q,c(n,16));return;case 21:!this.s&&(this.s=new Ie($c,this,21,17)),mn(this.s),!this.s&&(this.s=new Ie($c,this,21,17)),Wi(this.s,c(n,16));return;case 22:mn(Uo(this)),Wi(Uo(this),c(n,16));return}ml(this,t-sn((kt(),D0)),Nt((i=c($t(this,16),29),i||D0),t),n)},l.ii=function(){return kt(),D0},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:ce(this.Cb,184)&&(c(this.Cb,184).tb=null),fc(this,null);return;case 2:z4(this,null),M4(this,this.D);return;case 5:bk(this,null);return;case 7:!this.A&&(this.A=new Kc(Nc,this,7)),mn(this.A);return;case 8:zue(this,!1);return;case 9:Vue(this,!1);return;case 10:this.u&&gj(this.u);return;case 11:!this.q&&(this.q=new Ie(ea,this,11,10)),mn(this.q);return;case 21:!this.s&&(this.s=new Ie($c,this,21,17)),mn(this.s);return;case 22:this.n&&mn(this.n);return}bl(this,t-sn((kt(),D0)),Nt((n=c($t(this,16),29),n||D0),t))},l.pi=function(){var t,n;if(n2(this),hj(this),qae(this),CV(this),Jf(this),D_(this),pV(this),x8(LCt(gu(this))),this.s)for(t=0,n=this.s.i;t=0;--n)le(this,n);return gle(this,t)},l.Gk=function(){mn(this)},l.Zi=function(t,n){return dXe(this,t,n)},j(_i,"EcoreEList",632),k(505,632,lo,FE),l.Li=function(){return!1},l.Lj=function(){return this.c},l.Mj=function(){return!1},l.ol=function(){return!0},l.Si=function(){return!0},l.Wi=function(t,n){return n},l.Yi=function(){return!1},l.c=0,j(_i,"EObjectEList",505),k(83,505,lo,cr),l.Mj=function(){return!0},l.ml=function(){return!1},l.al=function(){return!0},j(_i,"EObjectContainmentEList",83),k(555,83,lo,VT),l.Ni=function(){this.b=!0},l.Qj=function(){return this.b},l.Gk=function(){var t;mn(this),Mu(this.e)?(t=this.b,this.b=!1,ai(this.e,new ga(this.e,2,this.c,t,!1))):this.b=!1},l.b=!1,j(_i,"EObjectContainmentEList/Unsettable",555),k(1161,555,lo,KKe),l.Ti=function(t,n){var i,r;return i=c(B8(this,t,n),89),Mu(this.e)&&Bx(this,new c7(this.a,7,(kt(),dvt),De(n),(r=i.c,ce(r,90)?c(r,29):na),t)),i},l.Uj=function(t,n){return nBt(this,c(t,89),n)},l.Vj=function(t,n){return tBt(this,c(t,89),n)},l.Wj=function(t,n,i){return sqt(this,c(t,89),c(n,89),i)},l.Ij=function(t,n,i,r,o){switch(t){case 3:return g8(this,t,n,i,r,this.i>1);case 5:return g8(this,t,n,i,r,this.i-c(i,15).gc()>0);default:return new hd(this.e,t,this.c,n,i,r,!0)}},l.Tj=function(){return!0},l.Qj=function(){return jz(this)},l.Gk=function(){mn(this)},j(Lt,"EClassImpl/1",1161),k(1175,1174,upe),l.dj=function(t){var n,i,r,o,a,h,p;if(i=t.gj(),i!=8){if(r=RBt(t),r==0)switch(i){case 1:case 9:{p=t.kj(),p!=null&&(n=gu(c(p,482)),!n.c&&(n.c=new _x),pP(n.c,t.jj())),h=t.ij(),h!=null&&(o=c(h,482),o.Bb&1||(n=gu(o),!n.c&&(n.c=new _x),yn(n.c,c(t.jj(),29))));break}case 3:{h=t.ij(),h!=null&&(o=c(h,482),o.Bb&1||(n=gu(o),!n.c&&(n.c=new _x),yn(n.c,c(t.jj(),29))));break}case 5:{if(h=t.ij(),h!=null)for(a=c(h,16).Kc();a.Ob();)o=c(a.Pb(),482),o.Bb&1||(n=gu(o),!n.c&&(n.c=new _x),yn(n.c,c(t.jj(),29)));break}case 4:{p=t.kj(),p!=null&&(o=c(p,482),o.Bb&1||(n=gu(o),!n.c&&(n.c=new _x),pP(n.c,t.jj())));break}case 6:{if(p=t.kj(),p!=null)for(a=c(p,16).Kc();a.Ob();)o=c(a.Pb(),482),o.Bb&1||(n=gu(o),!n.c&&(n.c=new _x),pP(n.c,t.jj()));break}}this.ql(r)}},l.ql=function(t){wit(this,t)},l.b=63,j(Lt,"ESuperAdapter",1175),k(1176,1175,upe,KOe),l.ql=function(t){nm(this,t)},j(Lt,"EClassImpl/10",1176),k(1165,710,lo),l.Ei=function(t,n){return Uz(this,t,n)},l.Fi=function(t){return iZe(this,t)},l.Gi=function(t,n){O7(this,t,n)},l.Hi=function(t){i7(this,t)},l.$i=function(t){return yce(this,t)},l.Xi=function(t,n){return oq(this,t,n)},l.Wk=function(t,n){throw V(new An)},l.Ii=function(){return new $y(this)},l.Ji=function(){return new NE(this)},l.Ki=function(t){return v7(this,t)},l.Xk=function(t,n){throw V(new An)},l.Fk=function(t){return this},l.Qj=function(){return this.i!=0},l.Wb=function(t){throw V(new An)},l.Gk=function(){throw V(new An)},j(_i,"EcoreEList/UnmodifiableEList",1165),k(328,1165,lo,jv),l.Yi=function(){return!1},j(_i,"EcoreEList/UnmodifiableEList/FastCompare",328),k(1168,328,lo,$Je),l.dd=function(t){var n,i,r;if(ce(t,179)&&(n=c(t,179),i=n.Lj(),i!=-1)){for(r=this.i;i4)if(this.fk(t)){if(this.al()){if(r=c(t,54),i=r.Eh(),p=i==this.b&&(this.ml()?r.yh(r.Fh(),c(Nt(Tc(this.b),this.Lj()).Hk(),29).kk())==Es(c(Nt(Tc(this.b),this.Lj()),19)).n:-1-r.Fh()==this.Lj()),this.nl()&&!p&&!i&&r.Jh()){for(o=0;o1||r==-1)):!1},l.ml=function(){var t,n,i;return n=Nt(Tc(this.b),this.Lj()),ce(n,102)?(t=c(n,19),i=Es(t),!!i):!1},l.nl=function(){var t,n;return n=Nt(Tc(this.b),this.Lj()),ce(n,102)?(t=c(n,19),(t.Bb&xs)!=0):!1},l.dd=function(t){var n,i,r,o;if(r=this.zj(t),r>=0)return r;if(this.ol()){for(i=0,o=this.Ej();i=0;--t)bI(this,t,this.xj(t));return this.Fj()},l.Qc=function(t){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)bI(this,n,this.xj(n));return this.Gj(t)},l.Gk=function(){gj(this)},l.Zi=function(t,n){return zGe(this,t,n)},j(_i,"DelegatingEcoreEList",756),k(1171,756,hpe,rHe),l.qj=function(t,n){_7t(this,t,c(n,29))},l.rj=function(t){xEt(this,c(t,29))},l.xj=function(t){var n,i;return n=c(le(Uo(this.a),t),89),i=n.c,ce(i,90)?c(i,29):(kt(),na)},l.Cj=function(t){var n,i;return n=c(sm(Uo(this.a),t),89),i=n.c,ce(i,90)?c(i,29):(kt(),na)},l.Dj=function(t,n){return THt(this,t,c(n,29))},l.Li=function(){return!1},l.Ij=function(t,n,i,r,o){return null},l.sj=function(){return new VOe(this)},l.tj=function(){mn(Uo(this.a))},l.uj=function(t){return OYe(this,t)},l.vj=function(t){var n,i;for(i=t.Kc();i.Ob();)if(n=i.Pb(),!OYe(this,n))return!1;return!0},l.wj=function(t){var n,i,r;if(ce(t,15)&&(r=c(t,15),r.gc()==Uo(this.a).i)){for(n=r.Kc(),i=new Jt(this);n.Ob();)if(be(n.Pb())!==be(tn(i)))return!1;return!0}return!1},l.yj=function(){var t,n,i,r,o;for(i=1,n=new Jt(Uo(this.a));n.e!=n.i.gc();)t=c(tn(n),89),r=(o=t.c,ce(o,90)?c(o,29):(kt(),na)),i=31*i+(r?Kg(r):0);return i},l.zj=function(t){var n,i,r,o;for(r=0,i=new Jt(Uo(this.a));i.e!=i.i.gc();){if(n=c(tn(i),89),be(t)===be((o=n.c,ce(o,90)?c(o,29):(kt(),na))))return r;++r}return-1},l.Aj=function(){return Uo(this.a).i==0},l.Bj=function(){return null},l.Ej=function(){return Uo(this.a).i},l.Fj=function(){var t,n,i,r,o,a;for(a=Uo(this.a).i,o=ke(Cr,Mt,1,a,5,1),i=0,n=new Jt(Uo(this.a));n.e!=n.i.gc();)t=c(tn(n),89),o[i++]=(r=t.c,ce(r,90)?c(r,29):(kt(),na));return o},l.Gj=function(t){var n,i,r,o,a,h,p;for(p=Uo(this.a).i,t.lengthp&&Vi(t,p,null),r=0,i=new Jt(Uo(this.a));i.e!=i.i.gc();)n=c(tn(i),89),a=(h=n.c,ce(h,90)?c(h,29):(kt(),na)),Vi(t,r++,a);return t},l.Hj=function(){var t,n,i,r,o;for(o=new Kd,o.a+="[",t=Uo(this.a),n=0,r=Uo(this.a).i;n>16,o>=0?Oz(this,i):this.Cb.Th(this,-1-o,null,i))),Xu(this,t,6,i);case 9:return!this.a&&(this.a=new Ie(Pd,this,9,5)),hc(this.a,t,i)}return a=c(Nt((r=c($t(this,16),29),r||(kt(),R0)),n),69),a.wk().zk(this,xc(this),n-sn((kt(),R0)),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 6:return Xu(this,null,6,i);case 7:return!this.A&&(this.A=new Kc(Nc,this,7)),ws(this.A,t,i);case 9:return!this.a&&(this.a=new Ie(Pd,this,9,5)),ws(this.a,t,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),R0)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),R0)),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!bw(this);case 4:return!!Pue(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!w4(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return hl(this,t-sn((kt(),R0)),Nt((n=c($t(this,16),29),n||R0),t))},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:UA(this,_n(n));return;case 2:uH(this,_n(n));return;case 5:bk(this,_n(n));return;case 7:!this.A&&(this.A=new Kc(Nc,this,7)),mn(this.A),!this.A&&(this.A=new Kc(Nc,this,7)),Wi(this.A,c(n,16));return;case 8:WP(this,Xe(We(n)));return;case 9:!this.a&&(this.a=new Ie(Pd,this,9,5)),mn(this.a),!this.a&&(this.a=new Ie(Pd,this,9,5)),Wi(this.a,c(n,16));return}ml(this,t-sn((kt(),R0)),Nt((i=c($t(this,16),29),i||R0),t),n)},l.ii=function(){return kt(),R0},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:ce(this.Cb,184)&&(c(this.Cb,184).tb=null),fc(this,null);return;case 2:z4(this,null),M4(this,this.D);return;case 5:bk(this,null);return;case 7:!this.A&&(this.A=new Kc(Nc,this,7)),mn(this.A);return;case 8:WP(this,!0);return;case 9:!this.a&&(this.a=new Ie(Pd,this,9,5)),mn(this.a);return}bl(this,t-sn((kt(),R0)),Nt((n=c($t(this,16),29),n||R0),t))},l.pi=function(){var t,n;if(this.a)for(t=0,n=this.a.i;t>16==5?c(this.Cb,685):null}return pl(this,t-sn((kt(),C1)),Nt((r=c($t(this,16),29),r||C1),t),n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 5:return this.Cb&&(i=(o=this.Db>>16,o>=0?TZe(this,i):this.Cb.Th(this,-1-o,null,i))),Xu(this,t,5,i)}return a=c(Nt((r=c($t(this,16),29),r||(kt(),C1)),n),69),a.wk().zk(this,xc(this),n-sn((kt(),C1)),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 5:return Xu(this,null,5,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),C1)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),C1)),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&c(this.Cb,685))}return hl(this,t-sn((kt(),C1)),Nt((n=c($t(this,16),29),n||C1),t))},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:fc(this,_n(n));return;case 2:hq(this,c(n,17).a);return;case 3:Mtt(this,c(n,2039));return;case 4:pq(this,_n(n));return}ml(this,t-sn((kt(),C1)),Nt((i=c($t(this,16),29),i||C1),t),n)},l.ii=function(){return kt(),C1},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:fc(this,null);return;case 2:hq(this,0);return;case 3:Mtt(this,null);return;case 4:pq(this,null);return}bl(this,t-sn((kt(),C1)),Nt((n=c($t(this,16),29),n||C1),t))},l.Ib=function(){var t;return t=this.c,t??this.zb},l.b=null,l.c=null,l.d=0,j(Lt,"EEnumLiteralImpl",582);var uin=qi(Lt,"EFactoryImpl/InternalEDateTimeFormat");k(499,1,{2114:1},X9),j(Lt,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),k(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},Ng),l.Ch=function(t,n,i){var r;return i=Xu(this,t,n,i),this.e&&ce(t,179)&&(r=L_(this,this.e),r!=this.c&&(i=mk(this,r,i))),i},l.Lh=function(t,n,i){var r;switch(t){case 0:return this.f;case 1:return!this.d&&(this.d=new cr(_s,this,1)),this.d;case 2:return n?W_(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?Iz(this):this.a}return pl(this,t-sn((kt(),Zw)),Nt((r=c($t(this,16),29),r||Zw),t),n,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return xYe(this,null,i);case 1:return!this.d&&(this.d=new cr(_s,this,1)),ws(this.d,t,i);case 3:return kYe(this,null,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),Zw)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),Zw)),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return hl(this,t-sn((kt(),Zw)),Nt((n=c($t(this,16),29),n||Zw),t))},l.bi=function(t,n){var i;switch(t){case 0:XZe(this,c(n,89));return;case 1:!this.d&&(this.d=new cr(_s,this,1)),mn(this.d),!this.d&&(this.d=new cr(_s,this,1)),Wi(this.d,c(n,16));return;case 3:aae(this,c(n,89));return;case 4:Mae(this,c(n,850));return;case 5:S4(this,c(n,142));return}ml(this,t-sn((kt(),Zw)),Nt((i=c($t(this,16),29),i||Zw),t),n)},l.ii=function(){return kt(),Zw},l.ki=function(t){var n;switch(t){case 0:XZe(this,null);return;case 1:!this.d&&(this.d=new cr(_s,this,1)),mn(this.d);return;case 3:aae(this,null);return;case 4:Mae(this,null);return;case 5:S4(this,null);return}bl(this,t-sn((kt(),Zw)),Nt((n=c($t(this,16),29),n||Zw),t))},l.Ib=function(){var t;return t=new Fu(ma(this)),t.a+=" (expression: ",OV(this,t),t.a+=")",t.a};var fxe;j(Lt,"EGenericTypeImpl",248),k(2067,2062,nL),l.Gi=function(t,n){tHe(this,t,n)},l.Wk=function(t,n){return tHe(this,this.gc(),t),n},l.$i=function(t){return xl(this.pj(),t)},l.Ii=function(){return this.Ji()},l.pj=function(){return new XOe(this)},l.Ji=function(){return this.Ki(0)},l.Ki=function(t){return this.pj().fd(t)},l.Xk=function(t,n){return Xb(this,t,!0),n},l.Ti=function(t,n){var i,r;return r=Rz(this,n),i=this.fd(t),i.Rb(r),r},l.Ui=function(t,n){var i;Xb(this,n,!0),i=this.fd(t),i.Rb(n)},j(_i,"AbstractSequentialInternalEList",2067),k(496,2067,nL,IE),l.$i=function(t){return xl(this.pj(),t)},l.Ii=function(){return this.b==null?(Vd(),Vd(),dC):this.sl()},l.pj=function(){return new yFe(this.a,this.b)},l.Ji=function(){return this.b==null?(Vd(),Vd(),dC):this.sl()},l.Ki=function(t){var n,i;if(this.b==null){if(t<0||t>1)throw V(new Ks(Fj+t+", size=0"));return Vd(),Vd(),dC}for(i=this.sl(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.pk()!=N5||n.Lj()!=0)&&(!this.vl()||this.b.Xh(n))){if(a=this.b.Nh(n,this.ul()),this.f=(Ss(),c(n,69).xk()),this.f||n.Jk()){if(this.ul()?(r=c(a,15),this.k=r):(r=c(a,71),this.k=this.j=r),ce(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?Vet(this,this.p):ntt(this))return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=c(o,76),t.Lk(),i=t.md(),this.i=i):(i=o,this.i=i),this.g=-3,!0}else if(a!=null)return this.k=null,this.p=null,i=a,this.i=i,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=c(o,76),t.Lk(),i=t.md(),this.i=i):(i=o,this.i=i),this.g=-3,!0}},l.Pb=function(){return FP(this)},l.Tb=function(){return this.a},l.Ub=function(){var t;if(this.g<-1||this.Sb())return--this.a,this.g=0,t=this.i,this.Sb(),t;throw V(new po)},l.Vb=function(){return this.a-1},l.Qb=function(){throw V(new An)},l.ul=function(){return!1},l.Wb=function(t){throw V(new An)},l.vl=function(){return!0},l.a=0,l.d=0,l.f=!1,l.g=0,l.n=0,l.o=0;var dC;j(_i,"EContentsEList/FeatureIteratorImpl",287),k(711,287,iL,yre),l.ul=function(){return!0},j(_i,"EContentsEList/ResolvingFeatureIteratorImpl",711),k(1178,711,iL,BBe),l.vl=function(){return!1},j(Lt,"ENamedElementImpl/1/1",1178),k(1179,287,iL,HBe),l.vl=function(){return!1},j(Lt,"ENamedElementImpl/1/2",1179),k(39,152,XI,Bb,RK,Pr,QK,hd,ga,_ce,yVe,Oce,xVe,Yoe,kVe,Rce,jVe,Qoe,SVe,Lce,EVe,u8,c7,mK,Dce,IVe,Zoe,NVe),l.Kj=function(){return wce(this)},l.Rj=function(){var t;return t=wce(this),t?t.ik():null},l.hj=function(t){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,t)},l.jj=function(){return this.c},l.Sj=function(){var t;return t=wce(this),t?t.tk():!1},l.b=-1,j(Lt,"ENotificationImpl",39),k(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},iB),l.Ah=function(t){return _Ze(this,t)},l.Lh=function(t,n,i){var r,o,a;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _t(),!!(this.Bb&256);case 3:return _t(),!!(this.Bb&512);case 4:return De(this.s);case 5:return De(this.t);case 6:return _t(),a=this.t,a>1||a==-1;case 7:return _t(),o=this.s,o>=1;case 8:return n?Kl(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?c(this.Cb,29):null;case 11:return!this.d&&(this.d=new Kc(Nc,this,11)),this.d;case 12:return!this.c&&(this.c=new Ie(Qw,this,12,10)),this.c;case 13:return!this.a&&(this.a=new AE(this,this)),this.a;case 14:return wu(this)}return pl(this,t-sn((kt(),M1)),Nt((r=c($t(this,16),29),r||M1),t),n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 10:return this.Cb&&(i=(o=this.Db>>16,o>=0?_Ze(this,i):this.Cb.Th(this,-1-o,null,i))),Xu(this,t,10,i);case 12:return!this.c&&(this.c=new Ie(Qw,this,12,10)),hc(this.c,t,i)}return a=c(Nt((r=c($t(this,16),29),r||(kt(),M1)),n),69),a.wk().zk(this,xc(this),n-sn((kt(),M1)),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 9:return iK(this,i);case 10:return Xu(this,null,10,i);case 11:return!this.d&&(this.d=new Kc(Nc,this,11)),ws(this.d,t,i);case 12:return!this.c&&(this.c=new Ie(Qw,this,12,10)),ws(this.c,t,i);case 14:return ws(wu(this),t,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),M1)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),M1)),t,i)},l.Wh=function(t){var n,i,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return r=this.t,r>1||r==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Jg(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Jg(this.q).i==0);case 10:return!!(this.Db>>16==10&&c(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&wu(this.a.a).i!=0&&!(this.b&&Sz(this.b));case 14:return!!this.b&&Sz(this.b)}return hl(this,t-sn((kt(),M1)),Nt((n=c($t(this,16),29),n||M1),t))},l.bi=function(t,n){var i,r;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:fc(this,_n(n));return;case 2:s1(this,Xe(We(n)));return;case 3:o1(this,Xe(We(n)));return;case 4:t1(this,c(n,17).a);return;case 5:Vb(this,c(n,17).a);return;case 8:Np(this,c(n,142));return;case 9:r=bf(this,c(n,89),null),r&&r.oj();return;case 11:!this.d&&(this.d=new Kc(Nc,this,11)),mn(this.d),!this.d&&(this.d=new Kc(Nc,this,11)),Wi(this.d,c(n,16));return;case 12:!this.c&&(this.c=new Ie(Qw,this,12,10)),mn(this.c),!this.c&&(this.c=new Ie(Qw,this,12,10)),Wi(this.c,c(n,16));return;case 13:!this.a&&(this.a=new AE(this,this)),gj(this.a),!this.a&&(this.a=new AE(this,this)),Wi(this.a,c(n,16));return;case 14:mn(wu(this)),Wi(wu(this),c(n,16));return}ml(this,t-sn((kt(),M1)),Nt((i=c($t(this,16),29),i||M1),t),n)},l.ii=function(){return kt(),M1},l.ki=function(t){var n,i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:fc(this,null);return;case 2:s1(this,!0);return;case 3:o1(this,!0);return;case 4:t1(this,0);return;case 5:Vb(this,1);return;case 8:Np(this,null);return;case 9:i=bf(this,null,null),i&&i.oj();return;case 11:!this.d&&(this.d=new Kc(Nc,this,11)),mn(this.d);return;case 12:!this.c&&(this.c=new Ie(Qw,this,12,10)),mn(this.c);return;case 13:this.a&&gj(this.a);return;case 14:this.b&&mn(this.b);return}bl(this,t-sn((kt(),M1)),Nt((n=c($t(this,16),29),n||M1),t))},l.pi=function(){var t,n;if(this.c)for(t=0,n=this.c.i;tp&&Vi(t,p,null),r=0,i=new Jt(wu(this.a));i.e!=i.i.gc();)n=c(tn(i),89),a=(h=n.c,h||(kt(),Pf)),Vi(t,r++,a);return t},l.Hj=function(){var t,n,i,r,o;for(o=new Kd,o.a+="[",t=wu(this.a),n=0,r=wu(this.a).i;n1);case 5:return g8(this,t,n,i,r,this.i-c(i,15).gc()>0);default:return new hd(this.e,t,this.c,n,i,r,!0)}},l.Tj=function(){return!0},l.Qj=function(){return Sz(this)},l.Gk=function(){mn(this)},j(Lt,"EOperationImpl/2",1377),k(507,1,{2037:1,507:1},iFe),j(Lt,"EPackageImpl/1",507),k(14,83,lo,Ie),l.il=function(){return this.d},l.jl=function(){return this.b},l.ml=function(){return!0},l.b=0,j(_i,"EObjectContainmentWithInverseEList",14),k(365,14,lo,Fy),l.nl=function(){return!0},l.Wi=function(t,n){return v3(this,t,c(n,58))},j(_i,"EObjectContainmentWithInverseEList/Resolving",365),k(308,365,lo,Ob),l.Ni=function(){this.a.tb=null},j(Lt,"EPackageImpl/2",308),k(1278,1,{},mjt),j(Lt,"EPackageImpl/3",1278),k(733,45,o2,kne),l._b=function(t){return Dr(t)?yK(this,t):!!Is(this.f,t)},j(Lt,"EPackageRegistryImpl",733),k(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},rB),l.Ah=function(t){return OZe(this,t)},l.Lh=function(t,n,i){var r,o,a;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _t(),!!(this.Bb&256);case 3:return _t(),!!(this.Bb&512);case 4:return De(this.s);case 5:return De(this.t);case 6:return _t(),a=this.t,a>1||a==-1;case 7:return _t(),o=this.s,o>=1;case 8:return n?Kl(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?c(this.Cb,62):null}return pl(this,t-sn((kt(),Xm)),Nt((r=c($t(this,16),29),r||Xm),t),n,i)},l.Sh=function(t,n,i){var r,o,a;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),hc(this.Ab,t,i);case 10:return this.Cb&&(i=(o=this.Db>>16,o>=0?OZe(this,i):this.Cb.Th(this,-1-o,null,i))),Xu(this,t,10,i)}return a=c(Nt((r=c($t(this,16),29),r||(kt(),Xm)),n),69),a.wk().zk(this,xc(this),n-sn((kt(),Xm)),t,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 9:return iK(this,i);case 10:return Xu(this,null,10,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),Xm)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),Xm)),t,i)},l.Wh=function(t){var n,i,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return r=this.t,r>1||r==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Jg(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Jg(this.q).i==0);case 10:return!!(this.Db>>16==10&&c(this.Cb,62))}return hl(this,t-sn((kt(),Xm)),Nt((n=c($t(this,16),29),n||Xm),t))},l.ii=function(){return kt(),Xm},j(Lt,"EParameterImpl",518),k(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},Ere),l.Lh=function(t,n,i){var r,o,a,h;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _t(),!!(this.Bb&256);case 3:return _t(),!!(this.Bb&512);case 4:return De(this.s);case 5:return De(this.t);case 6:return _t(),h=this.t,h>1||h==-1;case 7:return _t(),o=this.s,o>=1;case 8:return n?Kl(this):this.r;case 9:return this.q;case 10:return _t(),!!(this.Bb&xa);case 11:return _t(),!!(this.Bb&mm);case 12:return _t(),!!(this.Bb&fm);case 13:return this.j;case 14:return ak(this);case 15:return _t(),!!(this.Bb&Yc);case 16:return _t(),!!(this.Bb&Yf);case 17:return Rb(this);case 18:return _t(),!!(this.Bb&Lo);case 19:return _t(),a=Es(this),!!(a&&a.Bb&Lo);case 20:return _t(),!!(this.Bb&xs);case 21:return n?Es(this):this.b;case 22:return n?kue(this):YUe(this);case 23:return!this.a&&(this.a=new Mv(Um,this,23)),this.a}return pl(this,t-sn((kt(),J2)),Nt((r=c($t(this,16),29),r||J2),t),n,i)},l.Wh=function(t){var n,i,r,o;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&Jg(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Jg(this.q).i==0);case 10:return(this.Bb&xa)==0;case 11:return(this.Bb&mm)!=0;case 12:return(this.Bb&fm)!=0;case 13:return this.j!=null;case 14:return ak(this)!=null;case 15:return(this.Bb&Yc)!=0;case 16:return(this.Bb&Yf)!=0;case 17:return!!Rb(this);case 18:return(this.Bb&Lo)!=0;case 19:return r=Es(this),!!r&&(r.Bb&Lo)!=0;case 20:return(this.Bb&xs)==0;case 21:return!!this.b;case 22:return!!YUe(this);case 23:return!!this.a&&this.a.i!=0}return hl(this,t-sn((kt(),J2)),Nt((n=c($t(this,16),29),n||J2),t))},l.bi=function(t,n){var i,r;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:TK(this,_n(n));return;case 2:s1(this,Xe(We(n)));return;case 3:o1(this,Xe(We(n)));return;case 4:t1(this,c(n,17).a);return;case 5:Vb(this,c(n,17).a);return;case 8:Np(this,c(n,142));return;case 9:r=bf(this,c(n,89),null),r&&r.oj();return;case 10:G4(this,Xe(We(n)));return;case 11:J4(this,Xe(We(n)));return;case 12:W4(this,Xe(We(n)));return;case 13:Lie(this,_n(n));return;case 15:X4(this,Xe(We(n)));return;case 16:Y4(this,Xe(We(n)));return;case 18:nPt(this,Xe(We(n)));return;case 20:ele(this,Xe(We(n)));return;case 21:Qce(this,c(n,19));return;case 23:!this.a&&(this.a=new Mv(Um,this,23)),mn(this.a),!this.a&&(this.a=new Mv(Um,this,23)),Wi(this.a,c(n,16));return}ml(this,t-sn((kt(),J2)),Nt((i=c($t(this,16),29),i||J2),t),n)},l.ii=function(){return kt(),J2},l.ki=function(t){var n,i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:ce(this.Cb,90)&&nm(gu(c(this.Cb,90)),4),fc(this,null);return;case 2:s1(this,!0);return;case 3:o1(this,!0);return;case 4:t1(this,0);return;case 5:Vb(this,1);return;case 8:Np(this,null);return;case 9:i=bf(this,null,null),i&&i.oj();return;case 10:G4(this,!0);return;case 11:J4(this,!1);return;case 12:W4(this,!1);return;case 13:this.i=null,TP(this,null);return;case 15:X4(this,!1);return;case 16:Y4(this,!1);return;case 18:Zue(this,!1),ce(this.Cb,90)&&nm(gu(c(this.Cb,90)),2);return;case 20:ele(this,!0);return;case 21:Qce(this,null);return;case 23:!this.a&&(this.a=new Mv(Um,this,23)),mn(this.a);return}bl(this,t-sn((kt(),J2)),Nt((n=c($t(this,16),29),n||J2),t))},l.pi=function(){kue(this),d4(Vs((Wc(),ts),this)),Kl(this),this.Bb|=1},l.uk=function(){return Es(this)},l._k=function(){var t;return t=Es(this),!!t&&(t.Bb&Lo)!=0},l.al=function(){return(this.Bb&Lo)!=0},l.bl=function(){return(this.Bb&xs)!=0},l.Yk=function(t,n){return this.c=null,que(this,t,n)},l.Ib=function(){var t;return this.Db&64?V_(this):(t=new $l(V_(this)),t.a+=" (containment: ",qd(t,(this.Bb&Lo)!=0),t.a+=", resolveProxies: ",qd(t,(this.Bb&xs)!=0),t.a+=")",t.a)},j(Lt,"EReferenceImpl",102),k(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},XNe),l.Fb=function(t){return this===t},l.ld=function(){return this.b},l.md=function(){return this.c},l.Hb=function(){return Kg(this)},l.Di=function(t){cMt(this,_n(t))},l.nd=function(t){return UCt(this,_n(t))},l.Lh=function(t,n,i){var r;switch(t){case 0:return this.b;case 1:return this.c}return pl(this,t-sn((kt(),js)),Nt((r=c($t(this,16),29),r||js),t),n,i)},l.Wh=function(t){var n;switch(t){case 0:return this.b!=null;case 1:return this.c!=null}return hl(this,t-sn((kt(),js)),Nt((n=c($t(this,16),29),n||js),t))},l.bi=function(t,n){var i;switch(t){case 0:uMt(this,_n(n));return;case 1:Xce(this,_n(n));return}ml(this,t-sn((kt(),js)),Nt((i=c($t(this,16),29),i||js),t),n)},l.ii=function(){return kt(),js},l.ki=function(t){var n;switch(t){case 0:Wce(this,null);return;case 1:Xce(this,null);return}bl(this,t-sn((kt(),js)),Nt((n=c($t(this,16),29),n||js),t))},l.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t==null?0:n1(t)),this.a},l.Ci=function(t){this.a=t},l.Ib=function(){var t;return this.Db&64?ma(this):(t=new $l(ma(this)),t.a+=" (key: ",Os(t,this.b),t.a+=", value: ",Os(t,this.c),t.a+=")",t.a)},l.a=-1,l.b=null,l.c=null;var Po=j(Lt,"EStringToStringMapEntryImpl",561),jvt=qi(_i,"FeatureMap/Entry/Internal");k(576,1,rL),l.xl=function(t){return this.yl(c(t,54))},l.yl=function(t){return this.xl(t)},l.Fb=function(t){var n,i;return this===t?!0:ce(t,76)?(n=c(t,76),n.Lk()==this.c?(i=this.md(),i==null?n.md()==null:fi(i,n.md())):!1):!1},l.Lk=function(){return this.c},l.Hb=function(){var t;return t=this.md(),Ei(this.c)^(t==null?0:Ei(t))},l.Ib=function(){var t,n;return t=this.c,n=qu(t.qk()).yi(),t.xe(),(n!=null&&n.length!=0?n+":"+t.xe():t.xe())+"="+this.md()},j(Lt,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),k(791,576,rL,Ore),l.yl=function(t){return new Ore(this.c,t)},l.md=function(){return this.a},l.zl=function(t,n,i){return VDt(this,t,this.a,n,i)},l.Al=function(t,n,i){return UDt(this,t,this.a,n,i)},j(Lt,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),k(1350,1,{},rFe),l.yk=function(t,n,i,r,o){var a;return a=c(y4(t,this.b),220),a.Yl(this.a).Fk(r)},l.zk=function(t,n,i,r,o){var a;return a=c(y4(t,this.b),220),a.Pl(this.a,r,o)},l.Ak=function(t,n,i,r,o){var a;return a=c(y4(t,this.b),220),a.Ql(this.a,r,o)},l.Bk=function(t,n,i){var r;return r=c(y4(t,this.b),220),r.Yl(this.a).Qj()},l.Ck=function(t,n,i,r){var o;o=c(y4(t,this.b),220),o.Yl(this.a).Wb(r)},l.Dk=function(t,n,i){return c(y4(t,this.b),220).Yl(this.a)},l.Ek=function(t,n,i){var r;r=c(y4(t,this.b),220),r.Yl(this.a).Gk()},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),k(91,1,{},Gd,pp,Xd,vp),l.yk=function(t,n,i,r,o){var a;if(a=n.li(i),a==null&&n.mi(i,a=iO(this,t)),!o)switch(this.e){case 50:case 41:return c(a,597).bk();case 40:return c(a,220).Vl()}return a},l.zk=function(t,n,i,r,o){var a,h;return h=n.li(i),h==null&&n.mi(i,h=iO(this,t)),a=c(h,71).Wk(r,o),a},l.Ak=function(t,n,i,r,o){var a;return a=n.li(i),a!=null&&(o=c(a,71).Xk(r,o)),o},l.Bk=function(t,n,i){var r;return r=n.li(i),r!=null&&c(r,79).Qj()},l.Ck=function(t,n,i,r){var o;o=c(n.li(i),79),!o&&n.mi(i,o=iO(this,t)),o.Wb(r)},l.Dk=function(t,n,i){var r,o;return o=n.li(i),o==null&&n.mi(i,o=iO(this,t)),ce(o,79)?c(o,79):(r=c(n.li(i),15),new GOe(r))},l.Ek=function(t,n,i){var r;r=c(n.li(i),79),!r&&n.mi(i,r=iO(this,t)),r.Gk()},l.b=0,l.e=0,j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),k(512,1,{}),l.zk=function(t,n,i,r,o){throw V(new An)},l.Ak=function(t,n,i,r,o){throw V(new An)},l.Dk=function(t,n,i){return new nze(this,t,n,i)};var zh;j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),k(1367,1,vW,nze),l.Fk=function(t){return this.a.yk(this.c,this.d,this.b,t,!0)},l.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},l.Wb=function(t){this.a.Ck(this.c,this.d,this.b,t)},l.Gk=function(){this.a.Ek(this.c,this.d,this.b)},l.b=0,j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),k(784,512,{},koe),l.yk=function(t,n,i,r,o){return yV(t,t.Ph(),t.Fh())==this.b?this.bl()&&r?oV(t):t.Ph():null},l.zk=function(t,n,i,r,o){var a,h;return t.Ph()&&(o=(a=t.Fh(),a>=0?t.Ah(o):t.Ph().Th(t,-1-a,null,o))),h=$i(t.Dh(),this.e),t.Ch(r,h,o)},l.Ak=function(t,n,i,r,o){var a;return a=$i(t.Dh(),this.e),t.Ch(null,a,o)},l.Bk=function(t,n,i){var r;return r=$i(t.Dh(),this.e),!!t.Ph()&&t.Fh()==r},l.Ck=function(t,n,i,r){var o,a,h,p,b;if(r!=null&&!SV(this.a,r))throw V(new Hx(sL+(ce(r,58)?lae(c(r,58).Dh()):Mce(Ou(r)))+oL+this.a+"'"));if(o=t.Ph(),h=$i(t.Dh(),this.e),be(r)!==be(o)||t.Fh()!=h&&r!=null){if(nk(t,c(r,58)))throw V(new Ft(Rj+t.Ib()));b=null,o&&(b=(a=t.Fh(),a>=0?t.Ah(b):t.Ph().Th(t,-1-a,null,b))),p=c(r,54),p&&(b=p.Rh(t,$i(p.Dh(),this.b),null,b)),b=t.Ch(p,h,b),b&&b.oj()}else t.vh()&&t.wh()&&ai(t,new Pr(t,1,h,r,r))},l.Ek=function(t,n,i){var r,o,a,h;r=t.Ph(),r?(h=(o=t.Fh(),o>=0?t.Ah(null):t.Ph().Th(t,-1-o,null,null)),a=$i(t.Dh(),this.e),h=t.Ch(null,a,h),h&&h.oj()):t.vh()&&t.wh()&&ai(t,new u8(t,1,this.e,null,null))},l.bl=function(){return!1},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),k(1351,784,{},UHe),l.bl=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),k(574,512,{}),l.yk=function(t,n,i,r,o){var a;return a=n.li(i),a==null?this.b:be(a)===be(zh)?null:a},l.Bk=function(t,n,i){var r;return r=n.li(i),r!=null&&(be(r)===be(zh)||!fi(r,this.b))},l.Ck=function(t,n,i,r){var o,a;t.vh()&&t.wh()?(o=(a=n.li(i),a==null?this.b:be(a)===be(zh)?null:a),r==null?this.c!=null?(n.mi(i,null),r=this.b):this.b!=null?n.mi(i,zh):n.mi(i,null):(this.Bl(r),n.mi(i,r)),ai(t,this.d.Cl(t,1,this.e,o,r))):r==null?this.c!=null?n.mi(i,null):this.b!=null?n.mi(i,zh):n.mi(i,null):(this.Bl(r),n.mi(i,r))},l.Ek=function(t,n,i){var r,o;t.vh()&&t.wh()?(r=(o=n.li(i),o==null?this.b:be(o)===be(zh)?null:o),n.ni(i),ai(t,this.d.Cl(t,1,this.e,r,this.b))):n.ni(i)},l.Bl=function(t){throw V(new rLe)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),k(w2,1,{},JNe),l.Cl=function(t,n,i,r,o){return new u8(t,n,i,r,o)},l.Dl=function(t,n,i,r,o,a){return new mK(t,n,i,r,o,a)};var hxe,dxe,pxe,gxe,wxe,bxe,mxe,vQ,vxe;j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",w2),k(1368,w2,{},YNe),l.Cl=function(t,n,i,r,o){return new Zoe(t,n,i,Xe(We(r)),Xe(We(o)))},l.Dl=function(t,n,i,r,o,a){return new NVe(t,n,i,Xe(We(r)),Xe(We(o)),a)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),k(1369,w2,{},QNe),l.Cl=function(t,n,i,r,o){return new _ce(t,n,i,c(r,222).a,c(o,222).a)},l.Dl=function(t,n,i,r,o,a){return new yVe(t,n,i,c(r,222).a,c(o,222).a,a)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),k(1370,w2,{},ZNe),l.Cl=function(t,n,i,r,o){return new Oce(t,n,i,c(r,180).a,c(o,180).a)},l.Dl=function(t,n,i,r,o,a){return new xVe(t,n,i,c(r,180).a,c(o,180).a,a)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),k(1371,w2,{},eCe),l.Cl=function(t,n,i,r,o){return new Yoe(t,n,i,pe(ye(r)),pe(ye(o)))},l.Dl=function(t,n,i,r,o,a){return new kVe(t,n,i,pe(ye(r)),pe(ye(o)),a)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),k(1372,w2,{},tCe),l.Cl=function(t,n,i,r,o){return new Rce(t,n,i,c(r,161).a,c(o,161).a)},l.Dl=function(t,n,i,r,o,a){return new jVe(t,n,i,c(r,161).a,c(o,161).a,a)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),k(1373,w2,{},nCe),l.Cl=function(t,n,i,r,o){return new Qoe(t,n,i,c(r,17).a,c(o,17).a)},l.Dl=function(t,n,i,r,o,a){return new SVe(t,n,i,c(r,17).a,c(o,17).a,a)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),k(1374,w2,{},iCe),l.Cl=function(t,n,i,r,o){return new Lce(t,n,i,c(r,168).a,c(o,168).a)},l.Dl=function(t,n,i,r,o,a){return new EVe(t,n,i,c(r,168).a,c(o,168).a,a)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),k(1375,w2,{},rCe),l.Cl=function(t,n,i,r,o){return new Dce(t,n,i,c(r,191).a,c(o,191).a)},l.Dl=function(t,n,i,r,o,a){return new IVe(t,n,i,c(r,191).a,c(o,191).a,a)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),k(1353,574,{},ize),l.Bl=function(t){if(!this.a.fk(t))throw V(new Hx(sL+Ou(t)+oL+this.a+"'"))},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),k(1354,574,{},zKe),l.Bl=function(t){},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),k(785,574,{}),l.Bk=function(t,n,i){var r;return r=n.li(i),r!=null},l.Ck=function(t,n,i,r){var o,a;t.vh()&&t.wh()?(o=!0,a=n.li(i),a==null?(o=!1,a=this.b):be(a)===be(zh)&&(a=null),r==null?this.c!=null?(n.mi(i,null),r=this.b):n.mi(i,zh):(this.Bl(r),n.mi(i,r)),ai(t,this.d.Dl(t,1,this.e,a,r,!o))):r==null?this.c!=null?n.mi(i,null):n.mi(i,zh):(this.Bl(r),n.mi(i,r))},l.Ek=function(t,n,i){var r,o;t.vh()&&t.wh()?(r=!0,o=n.li(i),o==null?(r=!1,o=this.b):be(o)===be(zh)&&(o=null),n.ni(i),ai(t,this.d.Dl(t,2,this.e,o,this.b,r))):n.ni(i)},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),k(1355,785,{},rze),l.Bl=function(t){if(!this.a.fk(t))throw V(new Hx(sL+Ou(t)+oL+this.a+"'"))},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),k(1356,785,{},VKe),l.Bl=function(t){},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),k(410,512,{},bA),l.yk=function(t,n,i,r,o){var a,h,p,b,v;if(v=n.li(i),this.tk()&&be(v)===be(zh))return null;if(this.bl()&&r&&v!=null){if(p=c(v,54),p.Vh()&&(b=r0(t,p),p!=b)){if(!SV(this.a,b))throw V(new Hx(sL+Ou(b)+oL+this.a+"'"));n.mi(i,v=b),this.al()&&(a=c(b,54),h=p.Th(t,this.b?$i(p.Dh(),this.b):-1-$i(t.Dh(),this.e),null,null),!a.Ph()&&(h=a.Rh(t,this.b?$i(a.Dh(),this.b):-1-$i(t.Dh(),this.e),null,h)),h&&h.oj()),t.vh()&&t.wh()&&ai(t,new u8(t,9,this.e,p,b))}return v}else return v},l.zk=function(t,n,i,r,o){var a,h;return h=n.li(i),be(h)===be(zh)&&(h=null),n.mi(i,r),this.Mj()?be(h)!==be(r)&&h!=null&&(a=c(h,54),o=a.Th(t,$i(a.Dh(),this.b),null,o)):this.al()&&h!=null&&(o=c(h,54).Th(t,-1-$i(t.Dh(),this.e),null,o)),t.vh()&&t.wh()&&(!o&&(o=new H1(4)),o.nj(new u8(t,1,this.e,h,r))),o},l.Ak=function(t,n,i,r,o){var a;return a=n.li(i),be(a)===be(zh)&&(a=null),n.ni(i),t.vh()&&t.wh()&&(!o&&(o=new H1(4)),this.tk()?o.nj(new u8(t,2,this.e,a,null)):o.nj(new u8(t,1,this.e,a,null))),o},l.Bk=function(t,n,i){var r;return r=n.li(i),r!=null},l.Ck=function(t,n,i,r){var o,a,h,p,b;if(r!=null&&!SV(this.a,r))throw V(new Hx(sL+(ce(r,58)?lae(c(r,58).Dh()):Mce(Ou(r)))+oL+this.a+"'"));b=n.li(i),p=b!=null,this.tk()&&be(b)===be(zh)&&(b=null),h=null,this.Mj()?be(b)!==be(r)&&(b!=null&&(o=c(b,54),h=o.Th(t,$i(o.Dh(),this.b),null,h)),r!=null&&(o=c(r,54),h=o.Rh(t,$i(o.Dh(),this.b),null,h))):this.al()&&be(b)!==be(r)&&(b!=null&&(h=c(b,54).Th(t,-1-$i(t.Dh(),this.e),null,h)),r!=null&&(h=c(r,54).Rh(t,-1-$i(t.Dh(),this.e),null,h))),r==null&&this.tk()?n.mi(i,zh):n.mi(i,r),t.vh()&&t.wh()?(a=new mK(t,1,this.e,b,r,this.tk()&&!p),h?(h.nj(a),h.oj()):ai(t,a)):h&&h.oj()},l.Ek=function(t,n,i){var r,o,a,h,p;p=n.li(i),h=p!=null,this.tk()&&be(p)===be(zh)&&(p=null),a=null,p!=null&&(this.Mj()?(r=c(p,54),a=r.Th(t,$i(r.Dh(),this.b),null,a)):this.al()&&(a=c(p,54).Th(t,-1-$i(t.Dh(),this.e),null,a))),n.ni(i),t.vh()&&t.wh()?(o=new mK(t,this.tk()?2:1,this.e,p,null,h),a?(a.nj(o),a.oj()):ai(t,o)):a&&a.oj()},l.Mj=function(){return!1},l.al=function(){return!1},l.bl=function(){return!1},l.tk=function(){return!1},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),k(575,410,{},kH),l.al=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),k(1359,575,{},qBe),l.bl=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),k(787,575,{},xre),l.tk=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),k(1361,787,{},zBe),l.bl=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),k(650,575,{},LH),l.Mj=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),k(1360,650,{},GHe),l.bl=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),k(788,650,{},cse),l.tk=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),k(1362,788,{},WHe),l.bl=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),k(651,410,{},kre),l.bl=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),k(1363,651,{},VBe),l.tk=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),k(789,651,{},sse),l.Mj=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),k(1364,789,{},XHe),l.tk=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),k(1357,410,{},UBe),l.tk=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),k(786,410,{},ose),l.Mj=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),k(1358,786,{},JHe),l.tk=function(){return!0},j(Lt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),k(790,576,rL,ioe),l.yl=function(t){return new ioe(this.a,this.c,t)},l.md=function(){return this.b},l.zl=function(t,n,i){return qOt(this,t,this.b,i)},l.Al=function(t,n,i){return zOt(this,t,this.b,i)},j(Lt,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),k(1365,1,vW,GOe),l.Fk=function(t){return this.a},l.Qj=function(){return ce(this.a,97)?c(this.a,97).Qj():!this.a.dc()},l.Wb=function(t){this.a.$b(),this.a.Gc(c(t,15))},l.Gk=function(){ce(this.a,97)?c(this.a,97).Gk():this.a.$b()},j(Lt,"EStructuralFeatureImpl/SettingMany",1365),k(1366,576,rL,mUe),l.xl=function(t){return new EH((vi(),r9),this.b.ri(this.a,t))},l.md=function(){return null},l.zl=function(t,n,i){return i},l.Al=function(t,n,i){return i},j(Lt,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),k(652,576,rL,EH),l.xl=function(t){return new EH(this.c,t)},l.md=function(){return this.a},l.zl=function(t,n,i){return i},l.Al=function(t,n,i){return i},j(Lt,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),k(403,506,oh,_x),l.aj=function(t){return ke(Zl,Mt,29,t,0,1)},l.Yi=function(){return!1},j(Lt,"ESuperAdapter/1",403),k(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},RF),l.Lh=function(t,n,i){var r;switch(t){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new r8(this,_s,this)),this.a}return pl(this,t-sn((kt(),eb)),Nt((r=c($t(this,16),29),r||eb),t),n,i)},l.Uh=function(t,n,i){var r,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),ws(this.Ab,t,i);case 2:return!this.a&&(this.a=new r8(this,_s,this)),ws(this.a,t,i)}return o=c(Nt((r=c($t(this,16),29),r||(kt(),eb)),n),69),o.wk().Ak(this,xc(this),n-sn((kt(),eb)),t,i)},l.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return hl(this,t-sn((kt(),eb)),Nt((n=c($t(this,16),29),n||eb),t))},l.bi=function(t,n){var i;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab),!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),Wi(this.Ab,c(n,16));return;case 1:fc(this,_n(n));return;case 2:!this.a&&(this.a=new r8(this,_s,this)),mn(this.a),!this.a&&(this.a=new r8(this,_s,this)),Wi(this.a,c(n,16));return}ml(this,t-sn((kt(),eb)),Nt((i=c($t(this,16),29),i||eb),t),n)},l.ii=function(){return kt(),eb},l.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new Ie(Vn,this,0,3)),mn(this.Ab);return;case 1:fc(this,null);return;case 2:!this.a&&(this.a=new r8(this,_s,this)),mn(this.a);return}bl(this,t-sn((kt(),eb)),Nt((n=c($t(this,16),29),n||eb),t))},j(Lt,"ETypeParameterImpl",457),k(458,83,lo,r8),l.Nj=function(t,n){return rzt(this,c(t,89),n)},l.Oj=function(t,n){return szt(this,c(t,89),n)},j(Lt,"ETypeParameterImpl/1",458),k(647,45,o2,sB),l.ec=function(){return new zM(this)},j(Lt,"ETypeParameterImpl/2",647),k(570,vf,Xc,zM),l.Fc=function(t){return mHe(this,c(t,89))},l.Gc=function(t){var n,i,r;for(r=!1,i=t.Kc();i.Ob();)n=c(i.Pb(),89),Jn(this.a,n,"")==null&&(r=!0);return r},l.$b=function(){ru(this.a)},l.Hc=function(t){return bc(this.a,t)},l.Kc=function(){var t;return t=new jp(new rp(this.a).a),new VM(t)},l.Mc=function(t){return uGe(this,t)},l.gc=function(){return E6(this.a)},j(Lt,"ETypeParameterImpl/2/1",570),k(571,1,Rr,VM),l.Nb=function(t){Jr(this,t)},l.Pb=function(){return c(aw(this.a).ld(),89)},l.Ob=function(){return this.a.b},l.Qb=function(){bWe(this.a)},j(Lt,"ETypeParameterImpl/2/1/1",571),k(1329,45,o2,RLe),l._b=function(t){return Dr(t)?yK(this,t):!!Is(this.f,t)},l.xc=function(t){var n,i;return n=Dr(t)?Zo(this,t):Qs(Is(this.f,t)),ce(n,851)?(i=c(n,851),n=i.Kk(),Jn(this,c(t,241),n),n):n??(t==null?(SB(),Evt):null)},j(Lt,"EValidatorRegistryImpl",1329),k(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},sCe),l.ri=function(t,n){switch(t.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:uo(n);case 25:return tDt(n);case 27:return gLt(n);case 28:return wLt(n);case 29:return n==null?null:XFe(QS[0],c(n,206));case 41:return n==null?"":cp(c(n,297));case 42:return uo(n);case 50:return _n(n);default:throw V(new Ft(Fk+t.xe()+Aw))}},l.si=function(t){var n,i,r,o,a,h,p,b,v,y,E,A,L,$,H,X;switch(t.G==-1&&(t.G=(A=qu(t),A?l1(A.vi(),t):-1)),t.G){case 0:return i=new nB,i;case 1:return n=new kte,n;case 2:return r=new Ite,r;case 4:return o=new UM,o;case 5:return a=new DLe,a;case 6:return h=new cLe,h;case 7:return p=new Nte,p;case 10:return v=new LM,v;case 11:return y=new iB,y;case 12:return E=new hze,E;case 13:return L=new rB,L;case 14:return $=new Ere,$;case 17:return H=new XNe,H;case 18:return b=new Ng,b;case 19:return X=new RF,X;default:throw V(new Ft(iW+t.zb+Aw))}},l.ti=function(t,n){switch(t.hk()){case 20:return n==null?null:new Gne(n);case 21:return n==null?null:new U1(n);case 23:case 22:return n==null?null:pBt(n);case 26:case 24:return n==null?null:p7(Wu(n,-128,127)<<24>>24);case 25:return _Gt(n);case 27:return tKt(n);case 28:return nKt(n);case 29:return Ezt(n);case 32:case 31:return n==null?null:em(n);case 38:case 37:return n==null?null:new ane(n);case 40:case 39:return n==null?null:De(Wu(n,os,ui));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:vd(nO(n));case 49:case 48:return n==null?null:U4(Wu(n,cL,32767)<<16>>16);case 50:return n;default:throw V(new Ft(Fk+t.xe()+Aw))}},j(Lt,"EcoreFactoryImpl",1349),k(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},Dqe),l.gb=!1,l.hb=!1;var yxe,Svt=!1;j(Lt,"EcorePackageImpl",560),k(1234,1,{851:1},oCe),l.Kk=function(){return uBe(),Ivt},j(Lt,"EcorePackageImpl/1",1234),k(1243,1,Wn,cCe),l.fk=function(t){return ce(t,155)},l.gk=function(t){return ke(lC,Mt,155,t,0,1)},j(Lt,"EcorePackageImpl/10",1243),k(1244,1,Wn,uCe),l.fk=function(t){return ce(t,197)},l.gk=function(t){return ke(aQ,Mt,197,t,0,1)},j(Lt,"EcorePackageImpl/11",1244),k(1245,1,Wn,lCe),l.fk=function(t){return ce(t,58)},l.gk=function(t){return ke(O0,Mt,58,t,0,1)},j(Lt,"EcorePackageImpl/12",1245),k(1246,1,Wn,aCe),l.fk=function(t){return ce(t,411)},l.gk=function(t){return ke(ea,fpe,62,t,0,1)},j(Lt,"EcorePackageImpl/13",1246),k(1247,1,Wn,fCe),l.fk=function(t){return ce(t,241)},l.gk=function(t){return ke(tf,Mt,241,t,0,1)},j(Lt,"EcorePackageImpl/14",1247),k(1248,1,Wn,hCe),l.fk=function(t){return ce(t,518)},l.gk=function(t){return ke(Qw,Mt,2116,t,0,1)},j(Lt,"EcorePackageImpl/15",1248),k(1249,1,Wn,dCe),l.fk=function(t){return ce(t,102)},l.gk=function(t){return ke(Gm,g2,19,t,0,1)},j(Lt,"EcorePackageImpl/16",1249),k(1250,1,Wn,pCe),l.fk=function(t){return ce(t,179)},l.gk=function(t){return ke($c,g2,179,t,0,1)},j(Lt,"EcorePackageImpl/17",1250),k(1251,1,Wn,gCe),l.fk=function(t){return ce(t,481)},l.gk=function(t){return ke(Vm,Mt,481,t,0,1)},j(Lt,"EcorePackageImpl/18",1251),k(1252,1,Wn,wCe),l.fk=function(t){return ce(t,561)},l.gk=function(t){return ke(Po,Ilt,561,t,0,1)},j(Lt,"EcorePackageImpl/19",1252),k(1235,1,Wn,bCe),l.fk=function(t){return ce(t,331)},l.gk=function(t){return ke(Um,g2,35,t,0,1)},j(Lt,"EcorePackageImpl/2",1235),k(1253,1,Wn,mCe),l.fk=function(t){return ce(t,248)},l.gk=function(t){return ke(_s,qlt,89,t,0,1)},j(Lt,"EcorePackageImpl/20",1253),k(1254,1,Wn,vCe),l.fk=function(t){return ce(t,457)},l.gk=function(t){return ke(Nc,Mt,850,t,0,1)},j(Lt,"EcorePackageImpl/21",1254),k(1255,1,Wn,yCe),l.fk=function(t){return Ib(t)},l.gk=function(t){return ke(Zi,Oe,485,t,8,1)},j(Lt,"EcorePackageImpl/22",1255),k(1256,1,Wn,xCe),l.fk=function(t){return ce(t,195)},l.gk=function(t){return ke(Zc,Oe,195,t,0,2)},j(Lt,"EcorePackageImpl/23",1256),k(1257,1,Wn,kCe),l.fk=function(t){return ce(t,222)},l.gk=function(t){return ke(L3,Oe,222,t,0,1)},j(Lt,"EcorePackageImpl/24",1257),k(1258,1,Wn,jCe),l.fk=function(t){return ce(t,180)},l.gk=function(t){return ke(Xj,Oe,180,t,0,1)},j(Lt,"EcorePackageImpl/25",1258),k(1259,1,Wn,SCe),l.fk=function(t){return ce(t,206)},l.gk=function(t){return ke(bL,Oe,206,t,0,1)},j(Lt,"EcorePackageImpl/26",1259),k(1260,1,Wn,ECe),l.fk=function(t){return!1},l.gk=function(t){return ke($xe,Mt,2215,t,0,1)},j(Lt,"EcorePackageImpl/27",1260),k(1261,1,Wn,ICe),l.fk=function(t){return Nb(t)},l.gk=function(t){return ke(dr,Oe,345,t,7,1)},j(Lt,"EcorePackageImpl/28",1261),k(1262,1,Wn,NCe),l.fk=function(t){return ce(t,61)},l.gk=function(t){return ke(Z3e,hm,61,t,0,1)},j(Lt,"EcorePackageImpl/29",1262),k(1236,1,Wn,CCe),l.fk=function(t){return ce(t,519)},l.gk=function(t){return ke(Vn,{3:1,4:1,5:1,2033:1},598,t,0,1)},j(Lt,"EcorePackageImpl/3",1236),k(1263,1,Wn,MCe),l.fk=function(t){return ce(t,582)},l.gk=function(t){return ke(nxe,Mt,2039,t,0,1)},j(Lt,"EcorePackageImpl/30",1263),k(1264,1,Wn,TCe),l.fk=function(t){return ce(t,160)},l.gk=function(t){return ke(Exe,hm,160,t,0,1)},j(Lt,"EcorePackageImpl/31",1264),k(1265,1,Wn,ACe),l.fk=function(t){return ce(t,76)},l.gk=function(t){return ke(OR,Qlt,76,t,0,1)},j(Lt,"EcorePackageImpl/32",1265),k(1266,1,Wn,PCe),l.fk=function(t){return ce(t,161)},l.gk=function(t){return ke(Uk,Oe,161,t,0,1)},j(Lt,"EcorePackageImpl/33",1266),k(1267,1,Wn,_Ce),l.fk=function(t){return ce(t,17)},l.gk=function(t){return ke(es,Oe,17,t,0,1)},j(Lt,"EcorePackageImpl/34",1267),k(1268,1,Wn,OCe),l.fk=function(t){return ce(t,297)},l.gk=function(t){return ke(Spe,Mt,297,t,0,1)},j(Lt,"EcorePackageImpl/35",1268),k(1269,1,Wn,LCe),l.fk=function(t){return ce(t,168)},l.gk=function(t){return ke(_w,Oe,168,t,0,1)},j(Lt,"EcorePackageImpl/36",1269),k(1270,1,Wn,DCe),l.fk=function(t){return ce(t,85)},l.gk=function(t){return ke(Epe,Mt,85,t,0,1)},j(Lt,"EcorePackageImpl/37",1270),k(1271,1,Wn,RCe),l.fk=function(t){return ce(t,599)},l.gk=function(t){return ke(xxe,Mt,599,t,0,1)},j(Lt,"EcorePackageImpl/38",1271),k(1272,1,Wn,$Ce),l.fk=function(t){return!1},l.gk=function(t){return ke(Fxe,Mt,2216,t,0,1)},j(Lt,"EcorePackageImpl/39",1272),k(1237,1,Wn,FCe),l.fk=function(t){return ce(t,90)},l.gk=function(t){return ke(Zl,Mt,29,t,0,1)},j(Lt,"EcorePackageImpl/4",1237),k(1273,1,Wn,BCe),l.fk=function(t){return ce(t,191)},l.gk=function(t){return ke(Ow,Oe,191,t,0,1)},j(Lt,"EcorePackageImpl/40",1273),k(1274,1,Wn,HCe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(Lt,"EcorePackageImpl/41",1274),k(1275,1,Wn,KCe),l.fk=function(t){return ce(t,596)},l.gk=function(t){return ke(txe,Mt,596,t,0,1)},j(Lt,"EcorePackageImpl/42",1275),k(1276,1,Wn,qCe),l.fk=function(t){return!1},l.gk=function(t){return ke(Bxe,Oe,2217,t,0,1)},j(Lt,"EcorePackageImpl/43",1276),k(1277,1,Wn,zCe),l.fk=function(t){return ce(t,44)},l.gk=function(t){return ke(zp,sO,44,t,0,1)},j(Lt,"EcorePackageImpl/44",1277),k(1238,1,Wn,VCe),l.fk=function(t){return ce(t,142)},l.gk=function(t){return ke(nf,Mt,142,t,0,1)},j(Lt,"EcorePackageImpl/5",1238),k(1239,1,Wn,UCe),l.fk=function(t){return ce(t,156)},l.gk=function(t){return ke(wQ,Mt,156,t,0,1)},j(Lt,"EcorePackageImpl/6",1239),k(1240,1,Wn,GCe),l.fk=function(t){return ce(t,469)},l.gk=function(t){return ke(_R,Mt,685,t,0,1)},j(Lt,"EcorePackageImpl/7",1240),k(1241,1,Wn,WCe),l.fk=function(t){return ce(t,582)},l.gk=function(t){return ke(Pd,Mt,694,t,0,1)},j(Lt,"EcorePackageImpl/8",1241),k(1242,1,Wn,XCe),l.fk=function(t){return ce(t,480)},l.gk=function(t){return ke(YS,Mt,480,t,0,1)},j(Lt,"EcorePackageImpl/9",1242),k(1038,2080,Elt,rDe),l.Mi=function(t,n){q$t(this,c(n,424))},l.Qi=function(t,n){ett(this,t,c(n,424))},j(Lt,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),k(1039,152,XI,Iqe),l.jj=function(){return this.a.a},j(Lt,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),k(1067,1066,{},BFe),j("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var xxe=qi(Zlt,"Resource");k(799,1524,eat),l.Hl=function(t){},l.Il=function(t){},l.El=function(){return!this.a&&(this.a=new JF(this)),this.a},l.Fl=function(t){var n,i,r,o,a;if(r=t.length,r>0)if(Bt(0,t.length),t.charCodeAt(0)==47){for(a=new ac(4),o=1,n=1;n0&&(t=(Ur(0,i,t.length),t.substr(0,i))));return mUt(this,t)},l.Gl=function(){return this.c},l.Ib=function(){var t;return cp(this.Rm)+"@"+(t=Ei(this)>>>0,t.toString(16))+" uri='"+this.d+"'"},l.b=!1,j(yW,"ResourceImpl",799),k(1525,799,eat,WOe),j(yW,"BinaryResourceImpl",1525),k(1190,708,pW),l.bj=function(t){return ce(t,58)?lAt(this,c(t,58)):ce(t,599)?new Jt(c(t,599).El()):be(t)===be(this.f)?c(t,16).Kc():(n4(),hC.a)},l.Ob=function(){return ife(this)},l.a=!1,j(_i,"EcoreUtil/ContentTreeIterator",1190),k(1526,1190,pW,nqe),l.bj=function(t){return be(t)===be(this.f)?c(t,15).Kc():new ZVe(c(t,58))},j(yW,"ResourceImpl/5",1526),k(658,2092,Klt,JF),l.Hc=function(t){return this.i<=4?rk(this,t):ce(t,54)&&c(t,54).Jh()==this.a},l.Mi=function(t,n){t==this.i-1&&(this.a.b||(this.a.b=!0))},l.Oi=function(t,n){t==0?this.a.b||(this.a.b=!0):XK(this,t,n)},l.Qi=function(t,n){},l.Ri=function(t,n,i){},l.Lj=function(){return 2},l.jj=function(){return this.a},l.Mj=function(){return!0},l.Nj=function(t,n){var i;return i=c(t,54),n=i.fi(this.a,n),n},l.Oj=function(t,n){var i;return i=c(t,54),i.fi(null,n)},l.Pj=function(){return!1},l.Si=function(){return!0},l.aj=function(t){return ke(O0,Mt,58,t,0,1)},l.Yi=function(){return!1},j(yW,"ResourceImpl/ContentsEList",658),k(970,2062,jk,XOe),l.fd=function(t){return this.a.Ki(t)},l.gc=function(){return this.a.gc()},j(_i,"AbstractSequentialInternalEList/1",970);var kxe,jxe,ts,Sxe;k(634,1,{},rKe);var LR,DR;j(_i,"BasicExtendedMetaData",634),k(1181,1,{},oFe),l.Jl=function(){return null},l.Kl=function(){return this.a==-2&&Kjt(this,mzt(this.d,this.b)),this.a},l.Ll=function(){return null},l.Ml=function(){return jt(),jt(),vs},l.xe=function(){return this.c==Kk&&qjt(this,kQe(this.d,this.b)),this.c},l.Nl=function(){return 0},l.a=-2,l.c=Kk,j(_i,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),k(1182,1,{},MVe),l.Jl=function(){return this.a==(v4(),LR)&&Ujt(this,bJt(this.f,this.b)),this.a},l.Kl=function(){return 0},l.Ll=function(){return this.c==(v4(),LR)&&zjt(this,mJt(this.f,this.b)),this.c},l.Ml=function(){return!this.d&&Wjt(this,nQt(this.f,this.b)),this.d},l.xe=function(){return this.e==Kk&&Jjt(this,kQe(this.f,this.b)),this.e},l.Nl=function(){return this.g==-2&&Qjt(this,Rqt(this.f,this.b)),this.g},l.e=Kk,l.g=-2,j(_i,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),k(1180,1,{},cFe),l.b=!1,l.c=!1,j(_i,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),k(1183,1,{},TVe),l.c=-2,l.e=Kk,l.f=Kk,j(_i,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),k(593,632,lo,cA),l.Lj=function(){return this.c},l.ol=function(){return!1},l.Wi=function(t,n){return n},l.c=0,j(_i,"EDataTypeEList",593);var Exe=qi(_i,"FeatureMap");k(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},Xi),l.bd=function(t,n){DWt(this,t,c(n,76))},l.Fc=function(t){return eWt(this,c(t,76))},l.Hi=function(t){oTt(this,c(t,76))},l.Nj=function(t,n){return NIt(this,c(t,76),n)},l.Oj=function(t,n){return Xre(this,c(t,76),n)},l.Ti=function(t,n){return cYt(this,t,n)},l.Wi=function(t,n){return WZt(this,t,c(n,76))},l.hd=function(t,n){return jXt(this,t,c(n,76))},l.Uj=function(t,n){return CIt(this,c(t,76),n)},l.Vj=function(t,n){return _He(this,c(t,76),n)},l.Wj=function(t,n,i){return Sqt(this,c(t,76),c(n,76),i)},l.Zi=function(t,n){return qz(this,t,c(n,76))},l.Ol=function(t,n){return Wfe(this,t,n)},l.cd=function(t,n){var i,r,o,a,h,p,b,v,y;for(v=new sw(n.gc()),o=n.Kc();o.Ob();)if(r=c(o.Pb(),76),a=r.Lk(),kd(this.e,a))(!a.Si()||!YA(this,a,r.md())&&!rk(v,r))&&yn(v,r);else{for(y=kc(this.e.Dh(),a),i=c(this.g,124),h=!0,p=0;p=0;)if(n=t[this.c],this.k.am(n.Lk()))return this.j=this.f?n:n.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},j(_i,"BasicFeatureMap/FeatureEIterator",420),k(676,420,Ch,oH),l.ul=function(){return!0},j(_i,"BasicFeatureMap/ResolvingFeatureEIterator",676),k(968,496,nL,JFe),l.pj=function(){return this},j(_i,"EContentsEList/1",968),k(969,496,nL,yFe),l.ul=function(){return!1},j(_i,"EContentsEList/2",969),k(967,287,iL,YFe),l.wl=function(t){},l.Ob=function(){return!1},l.Sb=function(){return!1},j(_i,"EContentsEList/FeatureIteratorImpl/1",967),k(840,593,lo,nre),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var t;mn(this),Mu(this.e)?(t=this.a,this.a=!1,ai(this.e,new ga(this.e,2,this.c,t,!1))):this.a=!1},l.a=!1,j(_i,"EDataTypeEList/Unsettable",840),k(1958,593,lo,rBe),l.Si=function(){return!0},j(_i,"EDataTypeUniqueEList",1958),k(1959,840,lo,sBe),l.Si=function(){return!0},j(_i,"EDataTypeUniqueEList/Unsettable",1959),k(147,83,lo,Kc),l.nl=function(){return!0},l.Wi=function(t,n){return v3(this,t,c(n,58))},j(_i,"EObjectContainmentEList/Resolving",147),k(1184,555,lo,oBe),l.nl=function(){return!0},l.Wi=function(t,n){return v3(this,t,c(n,58))},j(_i,"EObjectContainmentEList/Unsettable/Resolving",1184),k(766,14,lo,Kre),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var t;mn(this),Mu(this.e)?(t=this.a,this.a=!1,ai(this.e,new ga(this.e,2,this.c,t,!1))):this.a=!1},l.a=!1,j(_i,"EObjectContainmentWithInverseEList/Unsettable",766),k(1222,766,lo,vHe),l.nl=function(){return!0},l.Wi=function(t,n){return v3(this,t,c(n,58))},j(_i,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),k(757,505,lo,ire),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var t;mn(this),Mu(this.e)?(t=this.a,this.a=!1,ai(this.e,new ga(this.e,2,this.c,t,!1))):this.a=!1},l.a=!1,j(_i,"EObjectEList/Unsettable",757),k(338,505,lo,Mv),l.nl=function(){return!0},l.Wi=function(t,n){return v3(this,t,c(n,58))},j(_i,"EObjectResolvingEList",338),k(1844,757,lo,cBe),l.nl=function(){return!0},l.Wi=function(t,n){return v3(this,t,c(n,58))},j(_i,"EObjectResolvingEList/Unsettable",1844),k(1527,1,{},JCe);var Evt;j(_i,"EObjectValidator",1527),k(559,505,lo,SA),l.il=function(){return this.d},l.jl=function(){return this.b},l.Mj=function(){return!0},l.ml=function(){return!0},l.b=0,j(_i,"EObjectWithInverseEList",559),k(1225,559,lo,yHe),l.ll=function(){return!0},j(_i,"EObjectWithInverseEList/ManyInverse",1225),k(635,559,lo,NH),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var t;mn(this),Mu(this.e)?(t=this.a,this.a=!1,ai(this.e,new ga(this.e,2,this.c,t,!1))):this.a=!1},l.a=!1,j(_i,"EObjectWithInverseEList/Unsettable",635),k(1224,635,lo,xHe),l.ll=function(){return!0},j(_i,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),k(767,559,lo,qre),l.nl=function(){return!0},l.Wi=function(t,n){return v3(this,t,c(n,58))},j(_i,"EObjectWithInverseResolvingEList",767),k(32,767,lo,It),l.ll=function(){return!0},j(_i,"EObjectWithInverseResolvingEList/ManyInverse",32),k(768,635,lo,zre),l.nl=function(){return!0},l.Wi=function(t,n){return v3(this,t,c(n,58))},j(_i,"EObjectWithInverseResolvingEList/Unsettable",768),k(1223,768,lo,kHe),l.ll=function(){return!0},j(_i,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),k(1185,632,lo),l.Li=function(){return(this.b&1792)==0},l.Ni=function(){this.b|=1},l.kl=function(){return(this.b&4)!=0},l.Mj=function(){return(this.b&40)!=0},l.ll=function(){return(this.b&16)!=0},l.ml=function(){return(this.b&8)!=0},l.nl=function(){return(this.b&mm)!=0},l.al=function(){return(this.b&32)!=0},l.ol=function(){return(this.b&xa)!=0},l.fk=function(t){return this.d?uUe(this.d,t):this.Lk().Hk().fk(t)},l.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},l.Si=function(){return(this.b&128)!=0},l.Gk=function(){var t;mn(this),this.b&2&&(Mu(this.e)?(t=(this.b&1)!=0,this.b&=-2,Bx(this,new ga(this.e,2,$i(this.e.Dh(),this.Lk()),t,!1))):this.b&=-2)},l.Yi=function(){return(this.b&1536)==0},l.b=0,j(_i,"EcoreEList/Generic",1185),k(1186,1185,lo,pze),l.Lk=function(){return this.a},j(_i,"EcoreEList/Dynamic",1186),k(765,66,oh,rne),l.aj=function(t){return m7(this.a.a,t)},j(_i,"EcoreEMap/1",765),k(764,83,lo,Kse),l.Mi=function(t,n){w_(this.b,c(n,136))},l.Oi=function(t,n){fJe(this.b)},l.Pi=function(t,n,i){var r;++(r=this.b,c(n,136),r).e},l.Qi=function(t,n){Qq(this.b,c(n,136))},l.Ri=function(t,n,i){Qq(this.b,c(i,136)),be(i)===be(n)&&c(i,136).Ci(EEt(c(n,136).ld())),w_(this.b,c(n,136))},j(_i,"EcoreEMap/DelegateEObjectContainmentEList",764),k(1220,141,ape,CXe),j(_i,"EcoreEMap/Unsettable",1220),k(1221,764,lo,jHe),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var t;mn(this),Mu(this.e)?(t=this.a,this.a=!1,ai(this.e,new ga(this.e,2,this.c,t,!1))):this.a=!1},l.a=!1,j(_i,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),k(1189,215,o2,gqe),l.a=!1,l.b=!1,j(_i,"EcoreUtil/Copier",1189),k(759,1,Rr,ZVe),l.Nb=function(t){Jr(this,t)},l.Ob=function(){return cQe(this)},l.Pb=function(){var t;return cQe(this),t=this.b,this.b=null,t},l.Qb=function(){this.a.Qb()},j(_i,"EcoreUtil/ProperContentIterator",759),k(1528,1527,{},JTe);var Ivt;j(_i,"EcoreValidator",1528);var Nvt;qi(_i,"FeatureMapUtil/Validator"),k(1295,1,{2041:1},YCe),l.am=function(t){return!0},j(_i,"FeatureMapUtil/1",1295),k(773,1,{2041:1},jhe),l.am=function(t){var n;return this.c==t?!0:(n=We(Yt(this.a,t)),n==null?SJt(this,t)?(ZUe(this.a,t,(_t(),Vk)),!0):(ZUe(this.a,t,(_t(),v0)),!1):n==(_t(),Vk))},l.e=!1;var yQ;j(_i,"FeatureMapUtil/BasicValidator",773),k(774,45,o2,ere),j(_i,"FeatureMapUtil/BasicValidator/Cache",774),k(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},kE),l.bd=function(t,n){znt(this.c,this.b,t,n)},l.Fc=function(t){return Wfe(this.c,this.b,t)},l.cd=function(t,n){return VQt(this.c,this.b,t,n)},l.Gc=function(t){return X6(this,t)},l.Gi=function(t,n){BLt(this.c,this.b,t,n)},l.Wk=function(t,n){return Bfe(this.c,this.b,t,n)},l.$i=function(t){return Y_(this.c,this.b,t,!1)},l.Ii=function(){return PFe(this.c,this.b)},l.Ji=function(){return hEt(this.c,this.b)},l.Ki=function(t){return VOt(this.c,this.b,t)},l.Xk=function(t,n){return nHe(this,t,n)},l.$b=function(){xy(this)},l.Hc=function(t){return YA(this.c,this.b,t)},l.Ic=function(t){return zDt(this.c,this.b,t)},l.Xb=function(t){return Y_(this.c,this.b,t,!0)},l.Fk=function(t){return this},l.dd=function(t){return Q_t(this.c,this.b,t)},l.dc=function(){return DT(this)},l.Qj=function(){return!F7(this.c,this.b)},l.Kc=function(){return TLt(this.c,this.b)},l.ed=function(){return ALt(this.c,this.b)},l.fd=function(t){return uFt(this.c,this.b,t)},l.Ti=function(t,n){return srt(this.c,this.b,t,n)},l.Ui=function(t,n){WOt(this.c,this.b,t,n)},l.gd=function(t){return Ret(this.c,this.b,t)},l.Mc=function(t){return UJt(this.c,this.b,t)},l.hd=function(t,n){return prt(this.c,this.b,t,n)},l.Wb=function(t){P_(this.c,this.b),X6(this,c(t,15))},l.gc=function(){return cFt(this.c,this.b)},l.Pc=function(){return e_t(this.c,this.b)},l.Qc=function(t){return Z_t(this.c,this.b,t)},l.Ib=function(){var t,n;for(n=new Kd,n.a+="[",t=PFe(this.c,this.b);Kq(t);)Os(n,Y6(d_(t))),Kq(t)&&(n.a+=bs);return n.a+="]",n.a},l.Gk=function(){P_(this.c,this.b)},j(_i,"FeatureMapUtil/FeatureEList",509),k(644,39,XI,$K),l.hj=function(t){return $8(this,t)},l.mj=function(t){var n,i,r,o,a,h,p;switch(this.d){case 1:case 2:{if(a=t.jj(),be(a)===be(this.c)&&$8(this,null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0;break}case 3:{switch(o=t.gj(),o){case 3:{if(a=t.jj(),be(a)===be(this.c)&&$8(this,null)==t.hj(null))return this.d=5,n=new sw(2),yn(n,this.g),yn(n,t.ij()),this.g=n,!0;break}}break}case 5:{switch(o=t.gj(),o){case 3:{if(a=t.jj(),be(a)===be(this.c)&&$8(this,null)==t.hj(null))return i=c(this.g,16),i.Fc(t.ij()),!0;break}}break}case 4:{switch(o=t.gj(),o){case 3:{if(a=t.jj(),be(a)===be(this.c)&&$8(this,null)==t.hj(null))return this.d=1,this.g=t.ij(),!0;break}case 4:{if(a=t.jj(),be(a)===be(this.c)&&$8(this,null)==t.hj(null))return this.d=6,p=new sw(2),yn(p,this.n),yn(p,t.kj()),this.n=p,h=J(W(kn,1),qn,28,15,[this.o,t.lj()]),this.g=h,!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(a=t.jj(),be(a)===be(this.c)&&$8(this,null)==t.hj(null))return i=c(this.n,16),i.Fc(t.kj()),h=c(this.g,53),r=ke(kn,qn,28,h.length+1,15,1),Wo(h,0,r,0,h.length),r[h.length]=t.lj(),this.g=r,!0;break}}break}}return!1},j(_i,"FeatureMapUtil/FeatureENotificationImpl",644),k(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},fA),l.Ol=function(t,n){return Wfe(this.c,t,n)},l.Pl=function(t,n,i){return Bfe(this.c,t,n,i)},l.Ql=function(t,n,i){return hhe(this.c,t,n,i)},l.Rl=function(){return this},l.Sl=function(t,n){return gI(this.c,t,n)},l.Tl=function(t){return c(Y_(this.c,this.b,t,!1),76).Lk()},l.Ul=function(t){return c(Y_(this.c,this.b,t,!1),76).md()},l.Vl=function(){return this.a},l.Wl=function(t){return!F7(this.c,t)},l.Xl=function(t,n){Q_(this.c,t,n)},l.Yl=function(t){return AXe(this.c,t)},l.Zl=function(t){lZe(this.c,t)},j(_i,"FeatureMapUtil/FeatureFeatureMap",564),k(1294,1,vW,sFe),l.Fk=function(t){return Y_(this.b,this.a,-1,t)},l.Qj=function(){return!F7(this.b,this.a)},l.Wb=function(t){Q_(this.b,this.a,t)},l.Gk=function(){P_(this.b,this.a)},j(_i,"FeatureMapUtil/FeatureValue",1294);var rx,xQ,kQ,sx,Cvt,pC=qi(fL,"AnyType");k(680,63,jd,dB),j(fL,"InvalidDatatypeValueException",680);var RR=qi(fL,nat),gC=qi(fL,iat),Ixe=qi(fL,rat),Mvt,Do,Nxe,cg,Tvt,Avt,Pvt,_vt,Ovt,Lvt,Dvt,Rvt,$vt,Fvt,Bvt,Y2,Hvt,Q2,n9,Kvt,tb,wC,bC,qvt,i9,r9;k(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},jne),l.Lh=function(t,n,i){switch(t){case 0:return i?(!this.c&&(this.c=new Xi(this,0)),this.c):(!this.c&&(this.c=new Xi(this,0)),this.c.b);case 1:return i?(!this.c&&(this.c=new Xi(this,0)),c(ec(this.c,(vi(),cg)),160)):(!this.c&&(this.c=new Xi(this,0)),c(c(ec(this.c,(vi(),cg)),160),220)).Vl();case 2:return i?(!this.b&&(this.b=new Xi(this,2)),this.b):(!this.b&&(this.b=new Xi(this,2)),this.b.b)}return pl(this,t-sn(this.ii()),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():this.ii(),t),n,i)},l.Uh=function(t,n,i){var r;switch(n){case 0:return!this.c&&(this.c=new Xi(this,0)),fI(this.c,t,i);case 1:return(!this.c&&(this.c=new Xi(this,0)),c(c(ec(this.c,(vi(),cg)),160),71)).Xk(t,i);case 2:return!this.b&&(this.b=new Xi(this,2)),fI(this.b,t,i)}return r=c(Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():this.ii(),n),69),r.wk().Ak(this,Ice(this),n-sn(this.ii()),t,i)},l.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Xi(this,0)),c(ec(this.c,(vi(),cg)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return hl(this,t-sn(this.ii()),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():this.ii(),t))},l.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Xi(this,0)),KE(this.c,n);return;case 1:(!this.c&&(this.c=new Xi(this,0)),c(c(ec(this.c,(vi(),cg)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Xi(this,2)),KE(this.b,n);return}ml(this,t-sn(this.ii()),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():this.ii(),t),n)},l.ii=function(){return vi(),Nxe},l.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Xi(this,0)),mn(this.c);return;case 1:(!this.c&&(this.c=new Xi(this,0)),c(ec(this.c,(vi(),cg)),160)).$b();return;case 2:!this.b&&(this.b=new Xi(this,2)),mn(this.b);return}bl(this,t-sn(this.ii()),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():this.ii(),t))},l.Ib=function(){var t;return this.j&4?ma(this):(t=new $l(ma(this)),t.a+=" (mixed: ",V6(t,this.c),t.a+=", anyAttribute: ",V6(t,this.b),t.a+=")",t.a)},j(hr,"AnyTypeImpl",844),k(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},uMe),l.Lh=function(t,n,i){switch(t){case 0:return this.a;case 1:return this.b}return pl(this,t-sn((vi(),Y2)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():Y2,t),n,i)},l.Wh=function(t){switch(t){case 0:return this.a!=null;case 1:return this.b!=null}return hl(this,t-sn((vi(),Y2)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():Y2,t))},l.bi=function(t,n){switch(t){case 0:tSt(this,_n(n));return;case 1:iSt(this,_n(n));return}ml(this,t-sn((vi(),Y2)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():Y2,t),n)},l.ii=function(){return vi(),Y2},l.ki=function(t){switch(t){case 0:this.a=null;return;case 1:this.b=null;return}bl(this,t-sn((vi(),Y2)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():Y2,t))},l.Ib=function(){var t;return this.j&4?ma(this):(t=new $l(ma(this)),t.a+=" (data: ",Os(t,this.a),t.a+=", target: ",Os(t,this.b),t.a+=")",t.a)},l.a=null,l.b=null,j(hr,"ProcessingInstructionImpl",681),k(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},$Le),l.Lh=function(t,n,i){switch(t){case 0:return i?(!this.c&&(this.c=new Xi(this,0)),this.c):(!this.c&&(this.c=new Xi(this,0)),this.c.b);case 1:return i?(!this.c&&(this.c=new Xi(this,0)),c(ec(this.c,(vi(),cg)),160)):(!this.c&&(this.c=new Xi(this,0)),c(c(ec(this.c,(vi(),cg)),160),220)).Vl();case 2:return i?(!this.b&&(this.b=new Xi(this,2)),this.b):(!this.b&&(this.b=new Xi(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Xi(this,0)),_n(gI(this.c,(vi(),n9),!0));case 4:return Ure(this.a,(!this.c&&(this.c=new Xi(this,0)),_n(gI(this.c,(vi(),n9),!0))));case 5:return this.a}return pl(this,t-sn((vi(),Q2)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():Q2,t),n,i)},l.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Xi(this,0)),c(ec(this.c,(vi(),cg)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new Xi(this,0)),_n(gI(this.c,(vi(),n9),!0))!=null;case 4:return Ure(this.a,(!this.c&&(this.c=new Xi(this,0)),_n(gI(this.c,(vi(),n9),!0))))!=null;case 5:return!!this.a}return hl(this,t-sn((vi(),Q2)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():Q2,t))},l.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Xi(this,0)),KE(this.c,n);return;case 1:(!this.c&&(this.c=new Xi(this,0)),c(c(ec(this.c,(vi(),cg)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Xi(this,2)),KE(this.b,n);return;case 3:Ooe(this,_n(n));return;case 4:Ooe(this,Vre(this.a,n));return;case 5:nSt(this,c(n,156));return}ml(this,t-sn((vi(),Q2)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():Q2,t),n)},l.ii=function(){return vi(),Q2},l.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Xi(this,0)),mn(this.c);return;case 1:(!this.c&&(this.c=new Xi(this,0)),c(ec(this.c,(vi(),cg)),160)).$b();return;case 2:!this.b&&(this.b=new Xi(this,2)),mn(this.b);return;case 3:!this.c&&(this.c=new Xi(this,0)),Q_(this.c,(vi(),n9),null);return;case 4:Ooe(this,Vre(this.a,null));return;case 5:this.a=null;return}bl(this,t-sn((vi(),Q2)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():Q2,t))},j(hr,"SimpleAnyTypeImpl",682),k(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},FLe),l.Lh=function(t,n,i){switch(t){case 0:return i?(!this.a&&(this.a=new Xi(this,0)),this.a):(!this.a&&(this.a=new Xi(this,0)),this.a.b);case 1:return i?(!this.b&&(this.b=new Uc((kt(),js),Po,this,1)),this.b):(!this.b&&(this.b=new Uc((kt(),js),Po,this,1)),o7(this.b));case 2:return i?(!this.c&&(this.c=new Uc((kt(),js),Po,this,2)),this.c):(!this.c&&(this.c=new Uc((kt(),js),Po,this,2)),o7(this.c));case 3:return!this.a&&(this.a=new Xi(this,0)),ec(this.a,(vi(),wC));case 4:return!this.a&&(this.a=new Xi(this,0)),ec(this.a,(vi(),bC));case 5:return!this.a&&(this.a=new Xi(this,0)),ec(this.a,(vi(),i9));case 6:return!this.a&&(this.a=new Xi(this,0)),ec(this.a,(vi(),r9))}return pl(this,t-sn((vi(),tb)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():tb,t),n,i)},l.Uh=function(t,n,i){var r;switch(n){case 0:return!this.a&&(this.a=new Xi(this,0)),fI(this.a,t,i);case 1:return!this.b&&(this.b=new Uc((kt(),js),Po,this,1)),eA(this.b,t,i);case 2:return!this.c&&(this.c=new Uc((kt(),js),Po,this,2)),eA(this.c,t,i);case 5:return!this.a&&(this.a=new Xi(this,0)),nHe(ec(this.a,(vi(),i9)),t,i)}return r=c(Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():(vi(),tb),n),69),r.wk().Ak(this,Ice(this),n-sn((vi(),tb)),t,i)},l.Wh=function(t){switch(t){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new Xi(this,0)),!DT(ec(this.a,(vi(),wC)));case 4:return!this.a&&(this.a=new Xi(this,0)),!DT(ec(this.a,(vi(),bC)));case 5:return!this.a&&(this.a=new Xi(this,0)),!DT(ec(this.a,(vi(),i9)));case 6:return!this.a&&(this.a=new Xi(this,0)),!DT(ec(this.a,(vi(),r9)))}return hl(this,t-sn((vi(),tb)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():tb,t))},l.bi=function(t,n){switch(t){case 0:!this.a&&(this.a=new Xi(this,0)),KE(this.a,n);return;case 1:!this.b&&(this.b=new Uc((kt(),js),Po,this,1)),DP(this.b,n);return;case 2:!this.c&&(this.c=new Uc((kt(),js),Po,this,2)),DP(this.c,n);return;case 3:!this.a&&(this.a=new Xi(this,0)),xy(ec(this.a,(vi(),wC))),!this.a&&(this.a=new Xi(this,0)),X6(ec(this.a,wC),c(n,16));return;case 4:!this.a&&(this.a=new Xi(this,0)),xy(ec(this.a,(vi(),bC))),!this.a&&(this.a=new Xi(this,0)),X6(ec(this.a,bC),c(n,16));return;case 5:!this.a&&(this.a=new Xi(this,0)),xy(ec(this.a,(vi(),i9))),!this.a&&(this.a=new Xi(this,0)),X6(ec(this.a,i9),c(n,16));return;case 6:!this.a&&(this.a=new Xi(this,0)),xy(ec(this.a,(vi(),r9))),!this.a&&(this.a=new Xi(this,0)),X6(ec(this.a,r9),c(n,16));return}ml(this,t-sn((vi(),tb)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():tb,t),n)},l.ii=function(){return vi(),tb},l.ki=function(t){switch(t){case 0:!this.a&&(this.a=new Xi(this,0)),mn(this.a);return;case 1:!this.b&&(this.b=new Uc((kt(),js),Po,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new Uc((kt(),js),Po,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new Xi(this,0)),xy(ec(this.a,(vi(),wC)));return;case 4:!this.a&&(this.a=new Xi(this,0)),xy(ec(this.a,(vi(),bC)));return;case 5:!this.a&&(this.a=new Xi(this,0)),xy(ec(this.a,(vi(),i9)));return;case 6:!this.a&&(this.a=new Xi(this,0)),xy(ec(this.a,(vi(),r9)));return}bl(this,t-sn((vi(),tb)),Nt(this.j&2?(!this.k&&(this.k=new $a),this.k).Nk():tb,t))},l.Ib=function(){var t;return this.j&4?ma(this):(t=new $l(ma(this)),t.a+=" (mixed: ",V6(t,this.a),t.a+=")",t.a)},j(hr,"XMLTypeDocumentRootImpl",683),k(2028,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},QCe),l.ri=function(t,n){switch(t.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:uo(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return _n(n);case 6:return $7t(c(n,195));case 12:case 47:case 49:case 11:return tst(this,t,n);case 13:return n==null?null:WQt(c(n,247));case 15:case 14:return n==null?null:eTt(pe(ye(n)));case 17:return JZe((vi(),n));case 18:return JZe(n);case 21:case 20:return n==null?null:tTt(c(n,161).a);case 27:return F7t(c(n,195));case 30:return aZe((vi(),c(n,15)));case 31:return aZe(c(n,15));case 40:return H7t((vi(),n));case 42:return YZe((vi(),n));case 43:return YZe(n);case 59:case 48:return B7t((vi(),n));default:throw V(new Ft(Fk+t.xe()+Aw))}},l.si=function(t){var n,i,r,o,a;switch(t.G==-1&&(t.G=(i=qu(t),i?l1(i.vi(),t):-1)),t.G){case 0:return n=new jne,n;case 1:return r=new uMe,r;case 2:return o=new $Le,o;case 3:return a=new FLe,a;default:throw V(new Ft(iW+t.zb+Aw))}},l.ti=function(t,n){var i,r,o,a,h,p,b,v,y,E,A,L,$,H,X,ie;switch(t.hk()){case 5:case 52:case 4:return n;case 6:return GBt(n);case 8:case 7:return n==null?null:_qt(n);case 9:return n==null?null:p7(Wu((r=nc(n,!0),r.length>0&&(Bt(0,r.length),r.charCodeAt(0)==43)?(Bt(1,r.length+1),r.substr(1)):r),-128,127)<<24>>24);case 10:return n==null?null:p7(Wu((o=nc(n,!0),o.length>0&&(Bt(0,o.length),o.charCodeAt(0)==43)?(Bt(1,o.length+1),o.substr(1)):o),-128,127)<<24>>24);case 11:return _n(jw(this,(vi(),Pvt),n));case 12:return _n(jw(this,(vi(),_vt),n));case 13:return n==null?null:new Gne(nc(n,!0));case 15:case 14:return nWt(n);case 16:return _n(jw(this,(vi(),Ovt),n));case 17:return hQe((vi(),n));case 18:return hQe(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return nc(n,!0);case 21:case 20:return hWt(n);case 22:return _n(jw(this,(vi(),Lvt),n));case 23:return _n(jw(this,(vi(),Dvt),n));case 24:return _n(jw(this,(vi(),Rvt),n));case 25:return _n(jw(this,(vi(),$vt),n));case 26:return _n(jw(this,(vi(),Fvt),n));case 27:return LBt(n);case 30:return dQe((vi(),n));case 31:return dQe(n);case 32:return n==null?null:De(Wu((y=nc(n,!0),y.length>0&&(Bt(0,y.length),y.charCodeAt(0)==43)?(Bt(1,y.length+1),y.substr(1)):y),os,ui));case 33:return n==null?null:new U1((E=nc(n,!0),E.length>0&&(Bt(0,E.length),E.charCodeAt(0)==43)?(Bt(1,E.length+1),E.substr(1)):E));case 34:return n==null?null:De(Wu((A=nc(n,!0),A.length>0&&(Bt(0,A.length),A.charCodeAt(0)==43)?(Bt(1,A.length+1),A.substr(1)):A),os,ui));case 36:return n==null?null:vd(nO((L=nc(n,!0),L.length>0&&(Bt(0,L.length),L.charCodeAt(0)==43)?(Bt(1,L.length+1),L.substr(1)):L)));case 37:return n==null?null:vd(nO(($=nc(n,!0),$.length>0&&(Bt(0,$.length),$.charCodeAt(0)==43)?(Bt(1,$.length+1),$.substr(1)):$)));case 40:return PHt((vi(),n));case 42:return pQe((vi(),n));case 43:return pQe(n);case 44:return n==null?null:new U1((H=nc(n,!0),H.length>0&&(Bt(0,H.length),H.charCodeAt(0)==43)?(Bt(1,H.length+1),H.substr(1)):H));case 45:return n==null?null:new U1((X=nc(n,!0),X.length>0&&(Bt(0,X.length),X.charCodeAt(0)==43)?(Bt(1,X.length+1),X.substr(1)):X));case 46:return nc(n,!1);case 47:return _n(jw(this,(vi(),Bvt),n));case 59:case 48:return AHt((vi(),n));case 49:return _n(jw(this,(vi(),Hvt),n));case 50:return n==null?null:U4(Wu((ie=nc(n,!0),ie.length>0&&(Bt(0,ie.length),ie.charCodeAt(0)==43)?(Bt(1,ie.length+1),ie.substr(1)):ie),cL,32767)<<16>>16);case 51:return n==null?null:U4(Wu((a=nc(n,!0),a.length>0&&(Bt(0,a.length),a.charCodeAt(0)==43)?(Bt(1,a.length+1),a.substr(1)):a),cL,32767)<<16>>16);case 53:return _n(jw(this,(vi(),Kvt),n));case 55:return n==null?null:U4(Wu((h=nc(n,!0),h.length>0&&(Bt(0,h.length),h.charCodeAt(0)==43)?(Bt(1,h.length+1),h.substr(1)):h),cL,32767)<<16>>16);case 56:return n==null?null:U4(Wu((p=nc(n,!0),p.length>0&&(Bt(0,p.length),p.charCodeAt(0)==43)?(Bt(1,p.length+1),p.substr(1)):p),cL,32767)<<16>>16);case 57:return n==null?null:vd(nO((b=nc(n,!0),b.length>0&&(Bt(0,b.length),b.charCodeAt(0)==43)?(Bt(1,b.length+1),b.substr(1)):b)));case 58:return n==null?null:vd(nO((v=nc(n,!0),v.length>0&&(Bt(0,v.length),v.charCodeAt(0)==43)?(Bt(1,v.length+1),v.substr(1)):v)));case 60:return n==null?null:De(Wu((i=nc(n,!0),i.length>0&&(Bt(0,i.length),i.charCodeAt(0)==43)?(Bt(1,i.length+1),i.substr(1)):i),os,ui));case 61:return n==null?null:De(Wu(nc(n,!0),os,ui));default:throw V(new Ft(Fk+t.xe()+Aw))}};var zvt,Cxe,Vvt,Mxe;j(hr,"XMLTypeFactoryImpl",2028),k(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},Rqe),l.N=!1,l.O=!1;var Uvt=!1;j(hr,"XMLTypePackageImpl",594),k(1961,1,{851:1},ZCe),l.Kk=function(){return ihe(),t2t},j(hr,"XMLTypePackageImpl/1",1961),k(1970,1,Wn,eMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/10",1970),k(1971,1,Wn,tMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/11",1971),k(1972,1,Wn,nMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/12",1972),k(1973,1,Wn,iMe),l.fk=function(t){return Nb(t)},l.gk=function(t){return ke(dr,Oe,345,t,7,1)},j(hr,"XMLTypePackageImpl/13",1973),k(1974,1,Wn,rMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/14",1974),k(1975,1,Wn,sMe),l.fk=function(t){return ce(t,15)},l.gk=function(t){return ke(Il,hm,15,t,0,1)},j(hr,"XMLTypePackageImpl/15",1975),k(1976,1,Wn,oMe),l.fk=function(t){return ce(t,15)},l.gk=function(t){return ke(Il,hm,15,t,0,1)},j(hr,"XMLTypePackageImpl/16",1976),k(1977,1,Wn,cMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/17",1977),k(1978,1,Wn,lMe),l.fk=function(t){return ce(t,161)},l.gk=function(t){return ke(Uk,Oe,161,t,0,1)},j(hr,"XMLTypePackageImpl/18",1978),k(1979,1,Wn,aMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/19",1979),k(1962,1,Wn,fMe),l.fk=function(t){return ce(t,857)},l.gk=function(t){return ke(pC,Mt,857,t,0,1)},j(hr,"XMLTypePackageImpl/2",1962),k(1980,1,Wn,hMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/20",1980),k(1981,1,Wn,dMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/21",1981),k(1982,1,Wn,pMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/22",1982),k(1983,1,Wn,gMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/23",1983),k(1984,1,Wn,wMe),l.fk=function(t){return ce(t,195)},l.gk=function(t){return ke(Zc,Oe,195,t,0,2)},j(hr,"XMLTypePackageImpl/24",1984),k(1985,1,Wn,bMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/25",1985),k(1986,1,Wn,mMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/26",1986),k(1987,1,Wn,vMe),l.fk=function(t){return ce(t,15)},l.gk=function(t){return ke(Il,hm,15,t,0,1)},j(hr,"XMLTypePackageImpl/27",1987),k(1988,1,Wn,yMe),l.fk=function(t){return ce(t,15)},l.gk=function(t){return ke(Il,hm,15,t,0,1)},j(hr,"XMLTypePackageImpl/28",1988),k(1989,1,Wn,xMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/29",1989),k(1963,1,Wn,kMe),l.fk=function(t){return ce(t,681)},l.gk=function(t){return ke(RR,Mt,2119,t,0,1)},j(hr,"XMLTypePackageImpl/3",1963),k(1990,1,Wn,jMe),l.fk=function(t){return ce(t,17)},l.gk=function(t){return ke(es,Oe,17,t,0,1)},j(hr,"XMLTypePackageImpl/30",1990),k(1991,1,Wn,SMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/31",1991),k(1992,1,Wn,EMe),l.fk=function(t){return ce(t,168)},l.gk=function(t){return ke(_w,Oe,168,t,0,1)},j(hr,"XMLTypePackageImpl/32",1992),k(1993,1,Wn,IMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/33",1993),k(1994,1,Wn,NMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/34",1994),k(1995,1,Wn,CMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/35",1995),k(1996,1,Wn,MMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/36",1996),k(1997,1,Wn,TMe),l.fk=function(t){return ce(t,15)},l.gk=function(t){return ke(Il,hm,15,t,0,1)},j(hr,"XMLTypePackageImpl/37",1997),k(1998,1,Wn,AMe),l.fk=function(t){return ce(t,15)},l.gk=function(t){return ke(Il,hm,15,t,0,1)},j(hr,"XMLTypePackageImpl/38",1998),k(1999,1,Wn,PMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/39",1999),k(1964,1,Wn,_Me),l.fk=function(t){return ce(t,682)},l.gk=function(t){return ke(gC,Mt,2120,t,0,1)},j(hr,"XMLTypePackageImpl/4",1964),k(2e3,1,Wn,OMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/40",2e3),k(2001,1,Wn,LMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/41",2001),k(2002,1,Wn,DMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/42",2002),k(2003,1,Wn,RMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/43",2003),k(2004,1,Wn,$Me),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/44",2004),k(2005,1,Wn,FMe),l.fk=function(t){return ce(t,191)},l.gk=function(t){return ke(Ow,Oe,191,t,0,1)},j(hr,"XMLTypePackageImpl/45",2005),k(2006,1,Wn,BMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/46",2006),k(2007,1,Wn,HMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/47",2007),k(2008,1,Wn,KMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/48",2008),k(2009,1,Wn,qMe),l.fk=function(t){return ce(t,191)},l.gk=function(t){return ke(Ow,Oe,191,t,0,1)},j(hr,"XMLTypePackageImpl/49",2009),k(1965,1,Wn,zMe),l.fk=function(t){return ce(t,683)},l.gk=function(t){return ke(Ixe,Mt,2121,t,0,1)},j(hr,"XMLTypePackageImpl/5",1965),k(2010,1,Wn,VMe),l.fk=function(t){return ce(t,168)},l.gk=function(t){return ke(_w,Oe,168,t,0,1)},j(hr,"XMLTypePackageImpl/50",2010),k(2011,1,Wn,UMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/51",2011),k(2012,1,Wn,GMe),l.fk=function(t){return ce(t,17)},l.gk=function(t){return ke(es,Oe,17,t,0,1)},j(hr,"XMLTypePackageImpl/52",2012),k(1966,1,Wn,WMe),l.fk=function(t){return Dr(t)},l.gk=function(t){return ke(Ye,Oe,2,t,6,1)},j(hr,"XMLTypePackageImpl/6",1966),k(1967,1,Wn,XMe),l.fk=function(t){return ce(t,195)},l.gk=function(t){return ke(Zc,Oe,195,t,0,2)},j(hr,"XMLTypePackageImpl/7",1967),k(1968,1,Wn,JMe),l.fk=function(t){return Ib(t)},l.gk=function(t){return ke(Zi,Oe,485,t,8,1)},j(hr,"XMLTypePackageImpl/8",1968),k(1969,1,Wn,YMe),l.fk=function(t){return ce(t,222)},l.gk=function(t){return ke(L3,Oe,222,t,0,1)},j(hr,"XMLTypePackageImpl/9",1969);var _f,A1,s9,$R,ee;k(55,63,jd,Ln),j(b1,"RegEx/ParseException",55),k(836,1,{},Ste),l.bm=function(t){return ti*16)throw V(new Ln(Rn((Pn(),glt))));i=i*16+o}while(!0);if(this.a!=125)throw V(new Ln(Rn((Pn(),wlt))));if(i>qk)throw V(new Ln(Rn((Pn(),blt))));t=i}else{if(o=0,this.c!=0||(o=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(i=o,ri(this),this.c!=0||(o=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));i=i*16+o,t=i}break;case 117:if(r=0,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=r,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=n*16+r,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=n*16+r,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));n=n*16+r,t=n;break;case 118:if(ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=r,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=n*16+r,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=n*16+r,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=n*16+r,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=n*16+r,ri(this),this.c!=0||(r=Mp(this.a))<0)throw V(new Ln(Rn((Pn(),w1))));if(n=n*16+r,n>qk)throw V(new Ln(Rn((Pn(),"parser.descappe.4"))));t=n;break;case 65:case 90:case 122:throw V(new Ln(Rn((Pn(),mlt))))}return t},l.dm=function(t){var n,i;switch(t){case 100:i=(this.e&32)==32?f0("Nd",!0):(ci(),FR);break;case 68:i=(this.e&32)==32?f0("Nd",!1):(ci(),Lxe);break;case 119:i=(this.e&32)==32?f0("IsWord",!0):(ci(),T5);break;case 87:i=(this.e&32)==32?f0("IsWord",!1):(ci(),Rxe);break;case 115:i=(this.e&32)==32?f0("IsSpace",!0):(ci(),ox);break;case 83:i=(this.e&32)==32?f0("IsSpace",!1):(ci(),Dxe);break;default:throw V(new go((n=t,mat+n.toString(16))))}return i},l.em=function(t){var n,i,r,o,a,h,p,b,v,y,E,A;for(this.b=1,ri(this),n=null,this.c==0&&this.a==94?(ri(this),t?y=(ci(),ci(),new Ku(5)):(n=(ci(),ci(),new Ku(4)),tc(n,0,qk),y=new Ku(4))):y=(ci(),ci(),new Ku(4)),o=!0;(A=this.c)!=1&&!(A==0&&this.a==93&&!o);){if(o=!1,i=this.a,r=!1,A==10)switch(i){case 100:case 68:case 119:case 87:case 115:case 83:um(y,this.dm(i)),r=!0;break;case 105:case 73:case 99:case 67:i=this.um(y,i),i<0&&(r=!0);break;case 112:case 80:if(E=tfe(this,i),!E)throw V(new Ln(Rn((Pn(),wW))));um(y,E),r=!0;break;default:i=this.cm()}else if(A==20){if(h=Zx(this.i,58,this.d),h<0)throw V(new Ln(Rn((Pn(),rpe))));if(p=!0,rs(this.i,this.d)==94&&(++this.d,p=!1),a=fl(this.i,this.d,h),b=KGe(a,p,(this.e&512)==512),!b)throw V(new Ln(Rn((Pn(),alt))));if(um(y,b),r=!0,h+1>=this.j||rs(this.i,h+1)!=93)throw V(new Ln(Rn((Pn(),rpe))));this.d=h+2}if(ri(this),!r)if(this.c!=0||this.a!=45)tc(y,i,i);else{if(ri(this),(A=this.c)==1)throw V(new Ln(Rn((Pn(),eL))));A==0&&this.a==93?(tc(y,i,i),tc(y,45,45)):(v=this.a,A==10&&(v=this.cm()),ri(this),tc(y,i,v))}(this.e&xa)==xa&&this.c==0&&this.a==44&&ri(this)}if(this.c==1)throw V(new Ln(Rn((Pn(),eL))));return n&&(wj(n,y),y=n),Yv(y),pj(y),this.b=0,ri(this),y},l.fm=function(){var t,n,i,r;for(i=this.em(!1);(r=this.c)!=7;)if(t=this.a,r==0&&(t==45||t==38)||r==4){if(ri(this),this.c!=9)throw V(new Ln(Rn((Pn(),hlt))));if(n=this.em(!1),r==4)um(i,n);else if(t==45)wj(i,n);else if(t==38)Yrt(i,n);else throw V(new go("ASSERT"))}else throw V(new Ln(Rn((Pn(),dlt))));return ri(this),i},l.gm=function(){var t,n;return t=this.a-48,n=(ci(),ci(),new jK(12,null,t)),!this.g&&(this.g=new WM),GM(this.g,new sne(t)),ri(this),n},l.hm=function(){return ri(this),ci(),Xvt},l.im=function(){return ri(this),ci(),Wvt},l.jm=function(){throw V(new Ln(Rn((Pn(),El))))},l.km=function(){throw V(new Ln(Rn((Pn(),El))))},l.lm=function(){return ri(this),JRt()},l.mm=function(){return ri(this),ci(),Yvt},l.nm=function(){return ri(this),ci(),Zvt},l.om=function(){var t;if(this.d>=this.j||((t=rs(this.i,this.d++))&65504)!=64)throw V(new Ln(Rn((Pn(),clt))));return ri(this),ci(),ci(),new yh(0,t-64)},l.pm=function(){return ri(this),ZYt()},l.qm=function(){return ri(this),ci(),e2t},l.rm=function(){var t;return t=(ci(),ci(),new yh(0,105)),ri(this),t},l.sm=function(){return ri(this),ci(),Qvt},l.tm=function(){return ri(this),ci(),Jvt},l.um=function(t,n){return this.cm()},l.vm=function(){return ri(this),ci(),_xe},l.wm=function(){var t,n,i,r,o;if(this.d+1>=this.j)throw V(new Ln(Rn((Pn(),rlt))));if(r=-1,n=null,t=rs(this.i,this.d),49<=t&&t<=57){if(r=t-48,!this.g&&(this.g=new WM),GM(this.g,new sne(r)),++this.d,rs(this.i,this.d)!=41)throw V(new Ln(Rn((Pn(),Kp))));++this.d}else switch(t==63&&--this.d,ri(this),n=Che(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));break;default:throw V(new Ln(Rn((Pn(),slt))))}if(ri(this),o=gw(this),i=null,o.e==2){if(o.Pm()!=2)throw V(new Ln(Rn((Pn(),olt))));i=o.Lm(1),o=o.Lm(0)}if(this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),ci(),ci(),new jWe(r,n,o,i)},l.xm=function(){return ri(this),ci(),Oxe},l.ym=function(){var t;if(ri(this),t=EA(24,gw(this)),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),t},l.zm=function(){var t;if(ri(this),t=EA(20,gw(this)),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),t},l.Am=function(){var t;if(ri(this),t=EA(22,gw(this)),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),t},l.Bm=function(){var t,n,i,r,o;for(t=0,i=0,n=-1;this.d=this.j)throw V(new Ln(Rn((Pn(),npe))));if(n==45){for(++this.d;this.d=this.j)throw V(new Ln(Rn((Pn(),npe))))}if(n==58){if(++this.d,ri(this),r=mqe(gw(this),t,i),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));ri(this)}else if(n==41)++this.d,ri(this),r=mqe(gw(this),t,i);else throw V(new Ln(Rn((Pn(),ilt))));return r},l.Cm=function(){var t;if(ri(this),t=EA(21,gw(this)),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),t},l.Dm=function(){var t;if(ri(this),t=EA(23,gw(this)),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),t},l.Em=function(){var t,n;if(ri(this),t=this.f++,n=YH(gw(this),t),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),n},l.Fm=function(){var t;if(ri(this),t=YH(gw(this),0),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),t},l.Gm=function(t){return ri(this),this.c==5?(ri(this),wA(t,(ci(),ci(),new Fb(9,t)))):wA(t,(ci(),ci(),new Fb(3,t)))},l.Hm=function(t){var n;return ri(this),n=(ci(),ci(),new W6(2)),this.c==5?(ri(this),Pp(n,c9),Pp(n,t)):(Pp(n,t),Pp(n,c9)),n},l.Im=function(t){return ri(this),this.c==5?(ri(this),ci(),ci(),new Fb(9,t)):(ci(),ci(),new Fb(3,t))},l.a=0,l.b=0,l.c=0,l.d=0,l.e=0,l.f=1,l.g=null,l.j=0,j(b1,"RegEx/RegexParser",836),k(1947,836,{},BLe),l.bm=function(t){return!1},l.cm=function(){return Dfe(this)},l.dm=function(t){return pk(t)},l.em=function(t){return Ust(this)},l.fm=function(){throw V(new Ln(Rn((Pn(),El))))},l.gm=function(){throw V(new Ln(Rn((Pn(),El))))},l.hm=function(){throw V(new Ln(Rn((Pn(),El))))},l.im=function(){throw V(new Ln(Rn((Pn(),El))))},l.jm=function(){return ri(this),pk(67)},l.km=function(){return ri(this),pk(73)},l.lm=function(){throw V(new Ln(Rn((Pn(),El))))},l.mm=function(){throw V(new Ln(Rn((Pn(),El))))},l.nm=function(){throw V(new Ln(Rn((Pn(),El))))},l.om=function(){return ri(this),pk(99)},l.pm=function(){throw V(new Ln(Rn((Pn(),El))))},l.qm=function(){throw V(new Ln(Rn((Pn(),El))))},l.rm=function(){return ri(this),pk(105)},l.sm=function(){throw V(new Ln(Rn((Pn(),El))))},l.tm=function(){throw V(new Ln(Rn((Pn(),El))))},l.um=function(t,n){return um(t,pk(n)),-1},l.vm=function(){return ri(this),ci(),ci(),new yh(0,94)},l.wm=function(){throw V(new Ln(Rn((Pn(),El))))},l.xm=function(){return ri(this),ci(),ci(),new yh(0,36)},l.ym=function(){throw V(new Ln(Rn((Pn(),El))))},l.zm=function(){throw V(new Ln(Rn((Pn(),El))))},l.Am=function(){throw V(new Ln(Rn((Pn(),El))))},l.Bm=function(){throw V(new Ln(Rn((Pn(),El))))},l.Cm=function(){throw V(new Ln(Rn((Pn(),El))))},l.Dm=function(){throw V(new Ln(Rn((Pn(),El))))},l.Em=function(){var t;if(ri(this),t=YH(gw(this),0),this.c!=7)throw V(new Ln(Rn((Pn(),Kp))));return ri(this),t},l.Fm=function(){throw V(new Ln(Rn((Pn(),El))))},l.Gm=function(t){return ri(this),wA(t,(ci(),ci(),new Fb(3,t)))},l.Hm=function(t){var n;return ri(this),n=(ci(),ci(),new W6(2)),Pp(n,t),Pp(n,c9),n},l.Im=function(t){return ri(this),ci(),ci(),new Fb(3,t)};var Z2=null,C5=null;j(b1,"RegEx/ParserForXMLSchema",1947),k(122,1,zk,Ig),l.Jm=function(t){throw V(new go("Not supported."))},l.Km=function(){return-1},l.Lm=function(t){return null},l.Mm=function(){return null},l.Nm=function(t){},l.Om=function(t){},l.Pm=function(){return 0},l.Ib=function(){return this.Qm(0)},l.Qm=function(t){return this.e==11?".":""},l.e=0;var Txe,M5,o9,Gvt,Axe,Jm=null,FR,jQ=null,Pxe,c9,SQ=null,_xe,Oxe,Lxe,Dxe,Rxe,Wvt,ox,Xvt,Jvt,Yvt,Qvt,T5,Zvt,e2t,lin=j(b1,"RegEx/Token",122);k(138,122,{3:1,138:1,122:1},Ku),l.Qm=function(t){var n,i,r;if(this.e==4)if(this==Pxe)i=".";else if(this==FR)i="\\d";else if(this==T5)i="\\w";else if(this==ox)i="\\s";else{for(r=new Kd,r.a+="[",n=0;n0&&(r.a+=","),this.b[n]===this.b[n+1]?Os(r,pI(this.b[n])):(Os(r,pI(this.b[n])),r.a+="-",Os(r,pI(this.b[n+1])));r.a+="]",i=r.a}else if(this==Lxe)i="\\D";else if(this==Rxe)i="\\W";else if(this==Dxe)i="\\S";else{for(r=new Kd,r.a+="[^",n=0;n0&&(r.a+=","),this.b[n]===this.b[n+1]?Os(r,pI(this.b[n])):(Os(r,pI(this.b[n])),r.a+="-",Os(r,pI(this.b[n+1])));r.a+="]",i=r.a}return i},l.a=!1,l.c=!1,j(b1,"RegEx/RangeToken",138),k(592,1,{592:1},sne),l.a=0,j(b1,"RegEx/RegexParser/ReferencePosition",592),k(591,1,{3:1,591:1},tRe),l.Fb=function(t){var n;return t==null||!ce(t,591)?!1:(n=c(t,591),wt(this.b,n.b)&&this.a==n.a)},l.Hb=function(){return n1(this.b+"/"+Mfe(this.a))},l.Ib=function(){return this.c.Qm(this.a)},l.a=0,j(b1,"RegEx/RegularExpression",591),k(228,122,zk,yh),l.Km=function(){return this.a},l.Qm=function(t){var n,i,r;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:r="\\"+IH(this.a&fr);break;case 12:r="\\f";break;case 10:r="\\n";break;case 13:r="\\r";break;case 9:r="\\t";break;case 27:r="\\e";break;default:this.a>=xs?(i=(n=this.a>>>0,"0"+n.toString(16)),r="\\v"+fl(i,i.length-6,i.length)):r=""+IH(this.a&fr)}break;case 8:this==_xe||this==Oxe?r=""+IH(this.a&fr):r="\\"+IH(this.a&fr);break;default:r=null}return r},l.a=0,j(b1,"RegEx/Token/CharToken",228),k(318,122,zk,Fb),l.Lm=function(t){return this.a},l.Nm=function(t){this.b=t},l.Om=function(t){this.c=t},l.Pm=function(){return 1},l.Qm=function(t){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}";else throw V(new go("Token#toString(): CLOSURE "+this.c+bs+this.b));else if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*?";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}?";else throw V(new go("Token#toString(): NONGREEDYCLOSURE "+this.c+bs+this.b));return n},l.b=0,l.c=0,j(b1,"RegEx/Token/ClosureToken",318),k(837,122,zk,Wse),l.Lm=function(t){return t==0?this.a:this.b},l.Pm=function(){return 2},l.Qm=function(t){var n;return this.b.e==3&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+":this.b.e==9&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+?":n=this.a.Qm(t)+(""+this.b.Qm(t)),n},j(b1,"RegEx/Token/ConcatToken",837),k(1945,122,zk,jWe),l.Lm=function(t){if(t==0)return this.d;if(t==1)return this.b;throw V(new go("Internal Error: "+t))},l.Pm=function(){return this.b?2:1},l.Qm=function(t){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},l.c=0,j(b1,"RegEx/Token/ConditionToken",1945),k(1946,122,zk,dVe),l.Lm=function(t){return this.b},l.Pm=function(){return 1},l.Qm=function(t){return"(?"+(this.a==0?"":Mfe(this.a))+(this.c==0?"":Mfe(this.c))+":"+this.b.Qm(t)+")"},l.a=0,l.c=0,j(b1,"RegEx/Token/ModifierToken",1946),k(838,122,zk,roe),l.Lm=function(t){return this.a},l.Pm=function(){return 1},l.Qm=function(t){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.Qm(t)+")":n="("+this.a.Qm(t)+")";break;case 20:n="(?="+this.a.Qm(t)+")";break;case 21:n="(?!"+this.a.Qm(t)+")";break;case 22:n="(?<="+this.a.Qm(t)+")";break;case 23:n="(?"+this.a.Qm(t)+")"}return n},l.b=0,j(b1,"RegEx/Token/ParenToken",838),k(530,122,{3:1,122:1,530:1},jK),l.Mm=function(){return this.b},l.Qm=function(t){return this.e==12?"\\"+this.a:VGt(this.b)},l.a=0,j(b1,"RegEx/Token/StringToken",530),k(477,122,zk,W6),l.Jm=function(t){Pp(this,t)},l.Lm=function(t){return c(Yg(this.a,t),122)},l.Pm=function(){return this.a?this.a.a.c.length:0},l.Qm=function(t){var n,i,r,o,a;if(this.e==1){if(this.a.a.c.length==2)n=c(Yg(this.a,0),122),i=c(Yg(this.a,1),122),i.e==3&&i.Lm(0)==n?o=n.Qm(t)+"+":i.e==9&&i.Lm(0)==n?o=n.Qm(t)+"+?":o=n.Qm(t)+(""+i.Qm(t));else{for(a=new Kd,r=0;r=this.c.b:this.a<=this.c.b},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Vb=function(){return this.b-1},l.Qb=function(){throw V(new Bd(Eat))},l.a=0,l.b=0,j(jpe,"ExclusiveRange/RangeIterator",258);var Al=f4(tL,"C"),kn=f4(qj,"I"),Su=f4(x3,"Z"),B0=f4(zj,"J"),Zc=f4(Bj,"B"),$r=f4(Hj,"D"),Ym=f4(Kj,"F"),ey=f4(Vj,"S"),ain=qi("org.eclipse.elk.core.labels","ILabelManager"),$xe=qi(ms,"DiagnosticChain"),Fxe=qi(Zlt,"ResourceSet"),Bxe=j(ms,"InvocationTargetException",null),n2t=(QM(),SOt),i2t=i2t=gqt;bDt(dSt),dDt("permProps",[[["locale","default"],[Iat,"gecko1_8"]],[["locale","default"],[Iat,"safari"]]]),i2t(null,"elk",null)}).call(this)}).call(this,typeof Q0<"u"?Q0:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(f,d,g){function m(P,O){if(!(P instanceof O))throw new TypeError("Cannot call a class as a function")}function w(P,O){if(!P)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return O&&(typeof O=="object"||typeof O=="function")?O:P}function S(P,O){if(typeof O!="function"&&O!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof O);P.prototype=Object.create(O&&O.prototype,{constructor:{value:P,enumerable:!1,writable:!0,configurable:!0}}),O&&(Object.setPrototypeOf?Object.setPrototypeOf(P,O):P.__proto__=O)}var N=f("./elk-api.js").default,T=function(P){S(O,P);function O(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};m(this,O);var C=Object.assign({},I),M=!1;try{f.resolve("web-worker"),M=!0}catch{}if(I.workerUrl)if(M){var _=f("web-worker");C.workerFactory=function(B){return new _(B)}}else console.warn(`Web worker requested but 'web-worker' package not installed. -Consider installing the package or pass your own 'workerFactory' to ELK's constructor. -... Falling back to non-web worker version.`);if(!C.workerFactory){var F=f("./elk-worker.min.js"),R=F.Worker;C.workerFactory=function(B){return new R(B)}}return w(this,(O.__proto__||Object.getPrototypeOf(O)).call(this,C))}return O}(N);Object.defineProperty(d.exports,"__esModule",{value:!0}),d.exports=T,T.default=T},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(f,d,g){d.exports=Worker},{}]},{},[3])(3)})})(m6t);var shn=m6t.exports;const ohn=O5e(shn),chn=new ohn,uhn={"elk.algorithm":"layered","elk.direction":"DOWN","elk.separateConnectedComponents":"true","elk.spacing.componentComponent":"80","elk.layered.crossingMinimization.strategy":"LAYER_SWEEP","elk.layered.crossingMinimization.greedySwitch.type":"TWO_SIDED","elk.layered.thoroughness":"50","elk.layered.considerModelOrder.strategy":"NONE","elk.layered.nodePlacement.strategy":"NETWORK_SIMPLEX","elk.spacing.nodeNode":"60","elk.layered.spacing.nodeNodeBetweenLayers":"80","elk.spacing.edgeNode":"20","elk.spacing.edgeEdge":"10","elk.layered.unnecessaryBendpoints":"true","elk.layered.compaction.postCompaction.strategy":"EDGE_LENGTH","elk.padding":"[top=120, right=30, bottom=30, left=30]"},v6t={"elk.algorithm":"layered","elk.direction":"RIGHT","elk.separateConnectedComponents":"true","elk.spacing.componentComponent":"40","elk.layered.crossingMinimization.strategy":"LAYER_SWEEP","elk.layered.crossingMinimization.greedySwitch.type":"TWO_SIDED","elk.layered.thoroughness":"50","elk.layered.considerModelOrder.strategy":"NONE","elk.layered.nodePlacement.strategy":"NETWORK_SIMPLEX","elk.spacing.nodeNode":"30","elk.layered.spacing.nodeNodeBetweenLayers":"50","elk.spacing.edgeNode":"12","elk.spacing.edgeEdge":"8","elk.layered.unnecessaryBendpoints":"true","elk.layered.compaction.postCompaction.strategy":"EDGE_LENGTH","elk.padding":"[top=110, right=20, bottom=20, left=20]"};function d3t(s,u){const f=[s];let d=u[s];for(;d!=null&&d.parentId;)f.push(d.parentId),d=u[d.parentId];return f}function lhn(s,u,f){var g;if(s===u)return(g=f[s])==null?void 0:g.parentId;const d=new Set(d3t(s,f));for(const m of d3t(u,f))if(d.has(m)&&m!==s&&m!==u)return m}function y6t(s,u,f){const d=s.collapsed&&Jh(s.type),g=d?G0[s.type]:s.width,m=d?U0[s.type]:s.height,S=(d?[]:Object.values(u).filter(T=>T.parentId===s.id)).map(T=>y6t(T,u,f)),N={id:s.id,width:g,height:m,layoutOptions:S.length>0?v6t:void 0,children:S,edges:[]};return f[s.id]=N,N}function x6t(s,u){s.id!=="root"&&s.x!=null&&s.y!=null&&(u[s.id]={x:s.x,y:s.y,width:s.width,height:s.height});for(const f of s.children??[])x6t(f,u)}async function J6e(s,u,f){const d={},g=(f==null?void 0:f.childOptions)??v6t,m=N=>{const T=y6t(N,s,d),P=O=>{if(O.children&&O.children.length>0){O.layoutOptions=g;for(const I of O.children)P(I)}};return P(T),T},w=Object.values(s).filter(N=>!N.parentId).map(m),S={id:"root",layoutOptions:(f==null?void 0:f.rootOptions)??uhn,children:w,edges:[]};d.root=S;for(const N of Object.values(u)){if(!s[N.sourceId]||!s[N.targetId])continue;const T=lhn(N.sourceId,N.targetId,s),P=(T?d[T]:S)??S,O={id:N.id,sources:[N.sourceId],targets:[N.targetId]};P.edges||(P.edges=[]),P.edges.push(O)}try{const N=await chn.layout(S),T={};return x6t(N,T),T}catch(N){return console.error("[ELK] Layout error:",N),{}}}const ahn={"elk.algorithm":"layered","elk.direction":"DOWN","elk.separateConnectedComponents":"true","elk.spacing.componentComponent":"60","elk.layered.crossingMinimization.strategy":"LAYER_SWEEP","elk.layered.crossingMinimization.greedySwitch.type":"TWO_SIDED","elk.layered.thoroughness":"50","elk.layered.considerModelOrder.strategy":"NODES_AND_EDGES","elk.layered.nodePlacement.strategy":"BRANDES_KOEPF","elk.layered.nodePlacement.bk.fixedAlignment":"BALANCED","elk.spacing.nodeNode":"50","elk.layered.spacing.nodeNodeBetweenLayers":"70","elk.spacing.edgeNode":"20","elk.spacing.edgeEdge":"10","elk.layered.compaction.postCompaction.strategy":"LEFT","elk.layered.unnecessaryBendpoints":"true","elk.padding":"[top=120, right=30, bottom=30, left=30]"},fhn={"elk.algorithm":"layered","elk.direction":"DOWN","elk.separateConnectedComponents":"true","elk.spacing.componentComponent":"30","elk.layered.crossingMinimization.strategy":"LAYER_SWEEP","elk.layered.crossingMinimization.greedySwitch.type":"TWO_SIDED","elk.layered.thoroughness":"50","elk.layered.considerModelOrder.strategy":"NODES_AND_EDGES","elk.layered.nodePlacement.strategy":"BRANDES_KOEPF","elk.layered.nodePlacement.bk.fixedAlignment":"BALANCED","elk.spacing.nodeNode":"28","elk.layered.spacing.nodeNodeBetweenLayers":"40","elk.spacing.edgeNode":"12","elk.spacing.edgeEdge":"8","elk.layered.compaction.postCompaction.strategy":"LEFT","elk.layered.unnecessaryBendpoints":"true","elk.padding":"[top=110, right=20, bottom=20, left=20]"};async function k6t(s,u){return J6e(s,u,{rootOptions:ahn,childOptions:fhn})}const hhn=Object.freeze(Object.defineProperty({__proto__:null,applyElkLayout:J6e,applyTreeLayout:k6t},Symbol.toStringTag,{value:"Module"}));var wx={},tte={},SM={},Px={};Object.defineProperty(Px,"__esModule",{value:!0});var Y6e=function(){function s(u,f,d){this.source=u,this.target=f,this.type=d}return s}();Px.PowerEdge=Y6e;var j6t=function(){function s(u,f,d,g){var m=this;if(this.linkAccessor=d,this.modules=new Array(u),this.roots=[],g)this.initModulesFromGroup(g);else{this.roots.push(new nM);for(var w=0;w=this.R))return this.merge(d.a,d.b,u),!0}},s.prototype.nEdges=function(u,f){var d=u.incoming.intersection(f.incoming),g=u.outgoing.intersection(f.outgoing);return this.R-d.count()-g.count()},s.prototype.getGroupHierarchy=function(u){var f=this,d=[],g={};S6t(this.roots[0],g,d);var m=this.allEdges();return m.forEach(function(w){var S=f.modules[w.source],N=f.modules[w.target];u.push(new Y6e(typeof S.gid>"u"?w.source:d[S.gid],typeof N.gid>"u"?w.target:d[N.gid],w.type))}),d},s.prototype.allEdges=function(){var u=[];return s.getEdges(this.roots[0],u),u},s.getEdges=function(u,f){u.forAll(function(d){d.getEdges(f),s.getEdges(d.children,f)})},s}();Px.Configuration=j6t;function S6t(s,u,f){s.forAll(function(d){if(d.isLeaf())u.leaves||(u.leaves=[]),u.leaves.push(d.id);else{var g=u;if(d.gid=f.length,!d.isIsland()||d.isPredefined()){if(g={id:d.gid},d.isPredefined())for(var m in d.definition)g[m]=d.definition[m];u.groups||(u.groups=[]),u.groups.push(d.gid),f.push(g)}S6t(d.children,g,f)}})}var c$=function(){function s(u,f,d,g,m){f===void 0&&(f=new J$),d===void 0&&(d=new J$),g===void 0&&(g=new nM),this.id=u,this.outgoing=f,this.incoming=d,this.children=g,this.definition=m}return s.prototype.getEdges=function(u){var f=this;this.outgoing.forAll(function(d,g){d.forAll(function(m){u.push(new Y6e(f.id,m.id,g))})})},s.prototype.isLeaf=function(){return this.children.count()===0},s.prototype.isIsland=function(){return this.outgoing.count()===0&&this.incoming.count()===0},s.prototype.isPredefined=function(){return typeof this.definition<"u"},s}();Px.Module=c$;function dhn(s,u){var f={};for(var d in s)d in u&&(f[d]=s[d]);return f}var nM=function(){function s(){this.table={}}return s.prototype.count=function(){return Object.keys(this.table).length},s.prototype.intersection=function(u){var f=new s;return f.table=dhn(this.table,u.table),f},s.prototype.intersectionCount=function(u){return this.intersection(u).count()},s.prototype.contains=function(u){return u in this.table},s.prototype.add=function(u){this.table[u.id]=u},s.prototype.remove=function(u){delete this.table[u.id]},s.prototype.forAll=function(u){for(var f in this.table)u(this.table[f])},s.prototype.modules=function(){var u=[];return this.forAll(function(f){f.isPredefined()||u.push(f)}),u},s}();Px.ModuleSet=nM;var J$=function(){function s(){this.sets={},this.n=0}return s.prototype.count=function(){return this.n},s.prototype.contains=function(u){var f=!1;return this.forAllModules(function(d){!f&&d.id==u&&(f=!0)}),f},s.prototype.add=function(u,f){var d=u in this.sets?this.sets[u]:this.sets[u]=new nM;d.add(f),++this.n},s.prototype.remove=function(u,f){var d=this.sets[u];d.remove(f),d.count()===0&&delete this.sets[u],--this.n},s.prototype.forAll=function(u){for(var f in this.sets)u(this.sets[f],Number(f))},s.prototype.forAllModules=function(u){this.forAll(function(f,d){return f.forAll(u)})},s.prototype.intersection=function(u){var f=new s;return this.forAll(function(d,g){if(g in u.sets){var m=d.intersection(u.sets[g]),w=m.count();w>0&&(f.sets[g]=m,f.n+=w)}}),f},s}();Px.LinkSets=J$;function phn(s,u,f,d){for(var g=s.length,m=new j6t(g,u,f,d);m.greedyMerge(););var w=[],S=m.getGroupHierarchy(w);return w.forEach(function(N){var T=function(P){var O=N[P];typeof O=="number"&&(N[P]=s[O])};T("source"),T("target")}),{groups:S,powerEdges:w}}Px.getGroups=phn;var u6={};Object.defineProperty(u6,"__esModule",{value:!0});function E6t(s,u){var f={};for(var d in s)f[d]={};for(var d in u)f[d]={};return Object.keys(f).length}function I6t(s,u){var f=0;for(var d in s)typeof u[d]<"u"&&++f;return f}function ghn(s,u){var f={},d=function(g,m){typeof f[g]>"u"&&(f[g]={}),f[g][m]={}};return s.forEach(function(g){var m=u.getSourceIndex(g),w=u.getTargetIndex(g);d(m,w),d(w,m)}),f}function N6t(s,u,f,d){var g=ghn(s,d);s.forEach(function(m){var w=g[d.getSourceIndex(m)],S=g[d.getTargetIndex(m)];d.setLength(m,1+u*f(w,S))})}function whn(s,u,f){f===void 0&&(f=1),N6t(s,f,function(d,g){return Math.sqrt(E6t(d,g)-I6t(d,g))},u)}u6.symmetricDiffLinkLengths=whn;function bhn(s,u,f){f===void 0&&(f=1),N6t(s,f,function(d,g){return Math.min(Object.keys(d).length,Object.keys(g).length)<1.1?0:I6t(d,g)/E6t(d,g)},u)}u6.jaccardLinkLengths=bhn;function mhn(s,u,f,d){var g=C6t(s,u,d),m={};g.forEach(function(S,N){return S.forEach(function(T){return m[T]=N})});var w=[];return u.forEach(function(S){var N=d.getSourceIndex(S),T=d.getTargetIndex(S),P=m[N],O=m[T];P!==O&&w.push({axis:f,left:N,right:T,gap:d.getMinSeparation(S)})}),w}u6.generateDirectedEdgeConstraints=mhn;function C6t(s,u,f){var d=[],g=0,m=[],w=[];function S(R){R.index=R.lowlink=g++,m.push(R),R.onStack=!0;for(var B=0,G=R.out;B"u"?(S(z),R.lowlink=Math.min(R.lowlink,z.lowlink)):z.onStack&&(R.lowlink=Math.min(R.lowlink,z.index))}if(R.lowlink===R.index){for(var Q=[];m.length&&(z=m.pop(),z.onStack=!1,Q.push(z),z!==R););w.push(Q.map(function(te){return te.id}))}}for(var N=0;N"u"&&S(F)}return w}u6.stronglyConnectedComponents=C6t;var H9={};Object.defineProperty(H9,"__esModule",{value:!0});var M6t=function(){function s(){this.locks={}}return s.prototype.add=function(u,f){this.locks[u]=f},s.prototype.clear=function(){this.locks={}},s.prototype.isEmpty=function(){for(var u in this.locks)return!1;return!0},s.prototype.apply=function(u){for(var f in this.locks)u(Number(f),this.locks[f])},s}();H9.Locks=M6t;var vhn=function(){function s(u,f,d){d===void 0&&(d=null),this.D=f,this.G=d,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new T6t,this.project=null,this.x=u,this.k=u.length;var g=this.n=u[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new M6t,this.minD=Number.MAX_VALUE;for(var m=g,w;m--;)for(w=g;--w>m;){var S=f[m][w];S>0&&S1e-9)break;var M=this.offsetDir();for(g=0;g1&&_>F||!isFinite(F)){for(g=0;g1&&(R=1);var B=F*F,G=2*R*(_-F)/(B*_),z=_*_*_,Q=2*-R/(B*z);for(isFinite(G)||console.log(G),g=0;g0?re-(se+1)*ne:re-(se-1)*ne;-te0;)for(var m=f;m-- >0;)d(g,m)},s.prototype.matrixApply=function(u){s.mApply(this.k,this.n,u)},s.prototype.computeNextPosition=function(u,f){var d=this;this.computeDerivatives(u);var g=this.computeStepSize(this.g);if(this.stepAndProject(u,f,this.g,g),this.project){this.matrixApply(function(w,S){return d.e[w][S]=u[w][S]-f[w][S]});var m=this.computeStepSize(this.e);m=Math.max(.2,Math.min(m,1)),this.stepAndProject(u,f,this.e,m)}},s.prototype.run=function(u){for(var f=Number.MAX_VALUE,d=!1;!d&&u-- >0;){var g=this.rungeKutta();d=Math.abs(f/g-1)>16)/this.range},s.prototype.getNextBetween=function(u,f){return u+this.getNext()*(f-u)},s}();H9.PseudoRandom=T6t;var Zh={},pv={};Object.defineProperty(pv,"__esModule",{value:!0});var A6t=function(){function s(u){this.scale=u,this.AB=0,this.AD=0,this.A2=0}return s.prototype.addVariable=function(u){var f=this.scale/u.scale,d=u.offset/u.scale,g=u.weight;this.AB+=g*f*d,this.AD+=g*f*u.desiredPosition,this.A2+=g*f*f},s.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},s}();pv.PositionStats=A6t;var SZ=function(){function s(u,f,d,g){g===void 0&&(g=!1),this.left=u,this.right=f,this.gap=d,this.equality=g,this.active=!1,this.unsatisfiable=!1,this.left=u,this.right=f,this.gap=d,this.equality=g}return s.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},s}();pv.Constraint=SZ;var EZ=function(){function s(u,f,d){f===void 0&&(f=1),d===void 0&&(d=1),this.desiredPosition=u,this.weight=f,this.scale=d,this.offset=0}return s.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},s.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},s.prototype.visitNeighbours=function(u,f){var d=function(g,m){return g.active&&u!==m&&f(g,m)};this.cOut.forEach(function(g){return d(g,g.right)}),this.cIn.forEach(function(g){return d(g,g.left)})},s}();pv.Variable=EZ;var w5e=function(){function s(u){this.vars=[],u.offset=0,this.ps=new A6t(u.scale),this.addVariable(u)}return s.prototype.addVariable=function(u){u.block=this,this.vars.push(u),this.ps.addVariable(u),this.posn=this.ps.getPosn()},s.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var u=0,f=this.vars.length;u=0?this.inactive.push(u):this.bs.merge(u)}}},s.prototype.solve=function(){this.satisfy();for(var u=Number.MAX_VALUE,f=this.bs.cost();Math.abs(u-f)>1e-4;)this.satisfy(),u=f,f=this.bs.cost();return f},s.LAGRANGIAN_TOLERANCE=-1e-4,s.ZERO_UPPERBOUND=-1e-10,s}();pv.Solver=Q6e;function yhn(s,u,f){for(var d=s.map(function(F){return new EZ(F.desiredCenter)}),g=[],m=s.length,w=0;w0)}return null}}return s.prototype.clear=function(){this._root=null,this.size=0},s.prototype.find=function(u){for(var f=this._root;f!==null;){var d=this._comparator(u,f.data);if(d===0)return f.data;f=f.get_child(d>0)}return null},s.prototype.lowerBound=function(u){return this._bound(u,this._comparator)},s.prototype.upperBound=function(u){var f=this._comparator;function d(g,m){return f(m,g)}return this._bound(u,d)},s.prototype.min=function(){var u=this._root;if(u===null)return null;for(;u.left!==null;)u=u.left;return u.data},s.prototype.max=function(){var u=this._root;if(u===null)return null;for(;u.right!==null;)u=u.right;return u.data},s.prototype.iterator=function(){return new _6t(this)},s.prototype.each=function(u){for(var f=this.iterator(),d;(d=f.next())!==null;)u(d)},s.prototype.reach=function(u){for(var f=this.iterator(),d;(d=f.prev())!==null;)u(d)},s.prototype._bound=function(u,f){for(var d=this._root,g=this.iterator();d!==null;){var m=this._comparator(u,d.data);if(m===0)return g._cursor=d,g;g._ancestors.push(d),d=d.get_child(m>0)}for(var w=g._ancestors.length-1;w>=0;--w)if(d=g._ancestors[w],f(u,d.data)>0)return g._cursor=d,g._ancestors.length=w,g;return g._ancestors.length=0,g},s}();EM.TreeBase=P6t;var _6t=function(){function s(u){this._tree=u,this._ancestors=[],this._cursor=null}return s.prototype.data=function(){return this._cursor!==null?this._cursor.data:null},s.prototype.next=function(){if(this._cursor===null){var u=this._tree._root;u!==null&&this._minNode(u)}else if(this._cursor.right===null){var f;do if(f=this._cursor,this._ancestors.length)this._cursor=this._ancestors.pop();else{this._cursor=null;break}while(this._cursor.right===f)}else this._ancestors.push(this._cursor),this._minNode(this._cursor.right);return this._cursor!==null?this._cursor.data:null},s.prototype.prev=function(){if(this._cursor===null){var u=this._tree._root;u!==null&&this._maxNode(u)}else if(this._cursor.left===null){var f;do if(f=this._cursor,this._ancestors.length)this._cursor=this._ancestors.pop();else{this._cursor=null;break}while(this._cursor.left===f)}else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left);return this._cursor!==null?this._cursor.data:null},s.prototype._minNode=function(u){for(;u.left!==null;)this._ancestors.push(u),u=u.left;this._cursor=u},s.prototype._maxNode=function(u){for(;u.right!==null;)this._ancestors.push(u),u=u.right;this._cursor=u},s}();EM.Iterator=_6t;var tZ=function(){function s(u){this.data=u,this.left=null,this.right=null,this.red=!0}return s.prototype.get_child=function(u){return u?this.right:this.left},s.prototype.set_child=function(u,f){u?this.right=f:this.left=f},s}(),khn=function(s){xhn(u,s);function u(f){var d=s.call(this)||this;return d._root=null,d._comparator=f,d.size=0,d}return u.prototype.insert=function(f){var d=!1;if(this._root===null)this._root=new tZ(f),d=!0,this.size++;else{var g=new tZ(void 0),m=!1,w=!1,S=null,N=g,T=null,P=this._root;for(N.right=this._root;;){if(P===null?(P=new tZ(f),T.set_child(m,P),d=!0,this.size++):u.is_red(P.left)&&u.is_red(P.right)&&(P.red=!0,P.left.red=!1,P.right.red=!1),u.is_red(P)&&u.is_red(T)){var O=N.right===S;P===T.get_child(w)?N.set_child(O,u.single_rotate(S,!w)):N.set_child(O,u.double_rotate(S,!w))}var I=this._comparator(P.data,f);if(I===0)break;w=m,m=I<0,S!==null&&(N=S),S=T,T=P,P=P.get_child(m)}this._root=g.right}return this._root.red=!1,d},u.prototype.remove=function(f){if(this._root===null)return!1;var d=new tZ(void 0),g=d;g.right=this._root;for(var m=null,w=null,S=null,N=!0;g.get_child(N)!==null;){var T=N;w=m,m=g,g=g.get_child(N);var P=this._comparator(f,g.data);if(N=P>0,P===0&&(S=g),!u.is_red(g)&&!u.is_red(g.get_child(N))){if(u.is_red(g.get_child(!N))){var O=u.single_rotate(g,N);m.set_child(T,O),m=O}else if(!u.is_red(g.get_child(!N))){var I=m.get_child(!T);if(I!==null)if(!u.is_red(I.get_child(!T))&&!u.is_red(I.get_child(T)))m.red=!1,I.red=!0,g.red=!0;else{var C=w.right===m;u.is_red(I.get_child(T))?w.set_child(C,u.double_rotate(m,T)):u.is_red(I.get_child(!T))&&w.set_child(C,u.single_rotate(m,T));var M=w.get_child(C);M.red=!0,g.red=!0,M.left.red=!1,M.right.red=!1}}}}return S!==null&&(S.data=g.data,m.set_child(m.right===g,g.get_child(g.left===null)),this.size--),this._root=d.right,this._root!==null&&(this._root.red=!1),S!==null},u.is_red=function(f){return f!==null&&f.red},u.single_rotate=function(f,d){var g=f.get_child(!d);return f.set_child(!d,g.get_child(d)),g.set_child(d,f),f.red=!0,g.red=!1,g},u.double_rotate=function(f,d){return f.set_child(!d,u.single_rotate(f.get_child(!d),!d)),u.single_rotate(f,d)},u}(P6t);EM.RBTree=khn;var jhn=Q0&&Q0.__extends||function(){var s=function(u,f){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,g){d.__proto__=g}||function(d,g){for(var m in g)g.hasOwnProperty(m)&&(d[m]=g[m])},s(u,f)};return function(u,f){s(u,f);function d(){this.constructor=u}u.prototype=f===null?Object.create(f):(d.prototype=f.prototype,new d)}}();Object.defineProperty(Zh,"__esModule",{value:!0});var kx=pv,Shn=EM;function y$(s){return s.bounds=typeof s.leaves<"u"?s.leaves.reduce(function(u,f){return f.bounds.union(u)},t6.empty()):t6.empty(),typeof s.groups<"u"&&(s.bounds=s.groups.reduce(function(u,f){return y$(f).union(u)},s.bounds)),s.bounds=s.bounds.inflate(s.padding),s.bounds}Zh.computeGroupBounds=y$;var t6=function(){function s(u,f,d,g){this.x=u,this.X=f,this.y=d,this.Y=g}return s.empty=function(){return new s(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},s.prototype.cx=function(){return(this.x+this.X)/2},s.prototype.cy=function(){return(this.y+this.Y)/2},s.prototype.overlapX=function(u){var f=this.cx(),d=u.cx();return f<=d&&u.x0?d[0]:null},s.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},s.lineIntersection=function(u,f,d,g,m,w,S,N){var T=d-u,P=S-m,O=g-f,I=N-w,C=I*T-P*O;if(C==0)return null;var M=u-m,_=f-w,F=P*_-I*M,R=F/C,B=T*_-O*M,G=B/C;return R>=0&&R<=1&&G>=0&&G<=1?{x:u+R*T,y:f+R*O}:null},s.prototype.inflate=function(u){return new s(this.x-u,this.X+u,this.y-u,this.Y+u)},s}();Zh.Rectangle=t6;function Ehn(s,u,f){var d=s.rayIntersection(u.cx(),u.cy())||{x:s.cx(),y:s.cy()},g=u.rayIntersection(s.cx(),s.cy())||{x:u.cx(),y:u.cy()},m=g.x-d.x,w=g.y-d.y,S=Math.sqrt(m*m+w*w),N=S-f;return{sourceIntersection:d,targetIntersection:g,arrowStart:{x:d.x+N*m/S,y:d.y+N*w/S}}}Zh.makeEdgeBetween=Ehn;function Ihn(s,u,f){var d=u.rayIntersection(s.x,s.y);d||(d={x:u.cx(),y:u.cy()});var g=d.x-s.x,m=d.y-s.y,w=Math.sqrt(g*g+m*m);return{x:d.x-f*g/w,y:d.y-f*m/w}}Zh.makeEdgeTo=Ihn;var Nhn=function(){function s(u,f,d){this.v=u,this.r=f,this.pos=d,this.prev=m5e(),this.next=m5e()}return s}(),p3t=function(){function s(u,f,d){this.isOpen=u,this.v=f,this.pos=d}return s}();function Chn(s,u){return s.pos>u.pos?1:s.pos=m);var S=new Array(w);for(g=0;g0&&(s[d].insert(m),m[g].insert(s))};f("next","prev"),f("prev","next")}function D6t(s,u){return e8e(s,u,O6t,1e-6)}Zh.generateXConstraints=D6t;function R6t(s,u){return e8e(s,u,L6t,1e-6)}Zh.generateYConstraints=R6t;function $6t(s){return Z6e(s,O6t,1e-6)}Zh.generateXGroupConstraints=$6t;function F6t(s){return Z6e(s,L6t,1e-6)}Zh.generateYGroupConstraints=F6t;function Ahn(s){var u=s.map(function(g){return new kx.Variable(g.cx())}),f=D6t(s,u),d=new kx.Solver(u,f);d.solve(),u.forEach(function(g,m){return s[m].setXCentre(g.position())}),u=s.map(function(g){return new kx.Variable(g.cy())}),f=R6t(s,u),d=new kx.Solver(u,f),d.solve(),u.forEach(function(g,m){return s[m].setYCentre(g.position())})}Zh.removeOverlaps=Ahn;var IZ=function(s){jhn(u,s);function u(f,d){var g=s.call(this,0,d)||this;return g.index=f,g}return u}(kx.Variable);Zh.IndexedVariable=IZ;var Phn=function(){function s(u,f,d,g,m){var w=this;if(d===void 0&&(d=null),g===void 0&&(g=null),m===void 0&&(m=!1),this.nodes=u,this.groups=f,this.rootGroup=d,this.avoidOverlaps=m,this.variables=u.map(function(N,T){return N.variable=new IZ(T,1)}),g&&this.createConstraints(g),m&&d&&typeof d.groups<"u"){u.forEach(function(N){if(!N.width||!N.height){N.bounds=new t6(N.x,N.x,N.y,N.y);return}var T=N.width/2,P=N.height/2;N.bounds=new t6(N.x-T,N.x+T,N.y-P,N.y+P)}),y$(d);var S=u.length;f.forEach(function(N){w.variables[S]=N.minVar=new IZ(S++,typeof N.stiffness<"u"?N.stiffness:.01),w.variables[S]=N.maxVar=new IZ(S++,typeof N.stiffness<"u"?N.stiffness:.01)})}}return s.prototype.createSeparation=function(u){return new kx.Constraint(this.nodes[u.left].variable,this.nodes[u.right].variable,u.gap,typeof u.equality<"u"?u.equality:!1)},s.prototype.makeFeasible=function(u){var f=this;if(this.avoidOverlaps){var d="x",g="width";u.axis==="x"&&(d="y",g="height");var m=u.offsets.map(function(S){return f.nodes[S.node]}).sort(function(S,N){return S[d]-N[d]}),w=null;m.forEach(function(S){if(w){var N=w[d]+w[g];N>S[d]&&(S[d]=N)}w=S})}},s.prototype.createAlignment=function(u){var f=this,d=this.nodes[u.offsets[0].node].variable;this.makeFeasible(u);var g=u.axis==="x"?this.xConstraints:this.yConstraints;u.offsets.slice(1).forEach(function(m){var w=f.nodes[m.node].variable;g.push(new kx.Constraint(d,w,m.offset,!0))})},s.prototype.createConstraints=function(u){var f=this,d=function(g){return typeof g.type>"u"||g.type==="separation"};this.xConstraints=u.filter(function(g){return g.axis==="x"&&d(g)}).map(function(g){return f.createSeparation(g)}),this.yConstraints=u.filter(function(g){return g.axis==="y"&&d(g)}).map(function(g){return f.createSeparation(g)}),u.filter(function(g){return g.type==="alignment"}).forEach(function(g){return f.createAlignment(g)})},s.prototype.setupVariablesAndBounds=function(u,f,d,g){this.nodes.forEach(function(m,w){m.fixed?(m.variable.weight=m.fixedWeight?m.fixedWeight:1e3,d[w]=g(m)):m.variable.weight=1;var S=(m.width||0)/2,N=(m.height||0)/2,T=u[w],P=f[w];m.bounds=new t6(T-S,T+S,P-N,P+N)})},s.prototype.xProject=function(u,f,d){!this.rootGroup&&!(this.avoidOverlaps||this.xConstraints)||this.project(u,f,u,d,function(g){return g.px},this.xConstraints,$6t,function(g){return g.bounds.setXCentre(d[g.variable.index]=g.variable.position())},function(g){var m=d[g.minVar.index]=g.minVar.position(),w=d[g.maxVar.index]=g.maxVar.position(),S=g.padding/2;g.bounds.x=m-S,g.bounds.X=w+S})},s.prototype.yProject=function(u,f,d){!this.rootGroup&&!this.yConstraints||this.project(u,f,f,d,function(g){return g.py},this.yConstraints,F6t,function(g){return g.bounds.setYCentre(d[g.variable.index]=g.variable.position())},function(g){var m=d[g.minVar.index]=g.minVar.position(),w=d[g.maxVar.index]=g.maxVar.position(),S=g.padding/2;g.bounds.y=m-S,g.bounds.Y=w+S})},s.prototype.projectFunctions=function(){var u=this;return[function(f,d,g){return u.xProject(f,d,g)},function(f,d,g){return u.yProject(f,d,g)}]},s.prototype.project=function(u,f,d,g,m,w,S,N,T){this.setupVariablesAndBounds(u,f,g,m),this.rootGroup&&this.avoidOverlaps&&(y$(this.rootGroup),w=w.concat(S(this.rootGroup))),this.solve(this.variables,w,d,g),this.nodes.forEach(N),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(T),y$(this.rootGroup))},s.prototype.solve=function(u,f,d,g){var m=new kx.Solver(u,f);m.setStartingPositions(d),m.setDesiredPositions(g),m.solve()},s}();Zh.Projection=Phn;var IM={},uF={};Object.defineProperty(uF,"__esModule",{value:!0});var B6t=function(){function s(u){this.elem=u,this.subheaps=[]}return s.prototype.toString=function(u){for(var f="",d=!1,g=0;gO&&(T.d=O,T.prev=S,d.reduceKey(T.q,T,function(C,M){return C.q=M}))}}return m},s}();IM.Calculator=Lhn;var sa={},H6t=Q0&&Q0.__extends||function(){var s=function(u,f){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,g){d.__proto__=g}||function(d,g){for(var m in g)g.hasOwnProperty(m)&&(d[m]=g[m])},s(u,f)};return function(u,f){s(u,f);function d(){this.constructor=u}u.prototype=f===null?Object.create(f):(d.prototype=f.prototype,new d)}}();Object.defineProperty(sa,"__esModule",{value:!0});var Dhn=Zh,t8e=function(){function s(){}return s}();sa.Point=t8e;var n8e=function(){function s(u,f,d,g){this.x1=u,this.y1=f,this.x2=d,this.y2=g}return s}();sa.LineSegment=n8e;var Rhn=function(s){H6t(u,s);function u(){return s!==null&&s.apply(this,arguments)||this}return u}(t8e);sa.PolyPoint=Rhn;function gg(s,u,f){return(u.x-s.x)*(f.y-s.y)-(f.x-s.x)*(u.y-s.y)}sa.isLeft=gg;function lv(s,u,f){return gg(s,u,f)>0}function fb(s,u,f){return gg(s,u,f)<0}function $hn(s){var u=s.slice(0).sort(function(I,C){return I.x!==C.x?C.x-I.x:C.y-I.y}),f=s.length,d,g=0,m=u[0].x;for(d=1;d=0&&u[d].x===P;d--);for(N=d+1,d=w;++d<=N;)if(!(gg(u[g],u[N],u[d])>=0&&d1&&!(gg(S[S.length-2],S[S.length-1],u[d])>0);)S.length-=1;d!=g&&S.push(u[d])}T!=N&&S.push(u[T]);var O=S.length;for(d=N;--d>=w;)if(!(gg(u[T],u[w],u[d])>=0&&d>w)){for(;S.length>O&&!(gg(S[S.length-2],S[S.length-1],u[d])>0);)S.length-=1;d!=g&&S.push(u[d])}}return S}sa.ConvexHull=$hn;function Fhn(s,u,f){u.slice(0).sort(function(d,g){return Math.atan2(d.y-s.y,d.x-s.x)-Math.atan2(g.y-s.y,g.x-s.x)}).forEach(f)}sa.clockwiseRadialSweep=Fhn;function Bhn(s,u){var f=u.slice(0);return f.push(u[0]),{rtan:wee(s,f),ltan:bee(s,f)}}function wee(s,u){var f=u.length-1,d,g,m,w,S;if(fb(s,u[1],u[0])&&!lv(s,u[f-1],u[0]))return 0;for(d=0,g=f;;){if(g-d===1)return lv(s,u[d],u[g])?d:g;if(m=Math.floor((d+g)/2),S=fb(s,u[m+1],u[m]),S&&!lv(s,u[m-1],u[m]))return m;w=lv(s,u[d+1],u[d]),w?S||lv(s,u[d],u[m])?g=m:d=m:S&&fb(s,u[d],u[m])?g=m:d=m}}function bee(s,u){var f=u.length-1,d,g,m,w,S;if(lv(s,u[f-1],u[0])&&!fb(s,u[1],u[0]))return 0;for(d=0,g=f;;){if(g-d===1)return fb(s,u[d],u[g])?d:g;if(m=Math.floor((d+g)/2),S=fb(s,u[m+1],u[m]),lv(s,u[m-1],u[m])&&!S)return m;w=fb(s,u[d+1],u[d]),w?S?fb(s,u[d],u[m])?g=m:d=m:g=m:S?d=m:lv(s,u[d],u[m])?g=m:d=m}}function nte(s,u,f,d,g,m){var w,S;w=f(u[0],s),S=d(s[w],u);for(var N=!1;!N;){for(N=!0;w===s.length-1&&(w=0),!g(u[S],s[w],s[w+1]);)++w;for(;S===0&&(S=u.length-1),!m(s[w],u[S],u[S-1]);)--S,N=!1}return{t1:w,t2:S}}sa.tangent_PolyPolyC=nte;function Hhn(s,u){var f=K6t(u,s);return{t1:f.t2,t2:f.t1}}sa.LRtangent_PolyPolyC=Hhn;function K6t(s,u){return nte(s,u,wee,bee,lv,fb)}sa.RLtangent_PolyPolyC=K6t;function Khn(s,u){return nte(s,u,bee,bee,fb,fb)}sa.LLtangent_PolyPolyC=Khn;function qhn(s,u){return nte(s,u,wee,wee,lv,lv)}sa.RRtangent_PolyPolyC=qhn;var u$=function(){function s(u,f){this.t1=u,this.t2=f}return s}();sa.BiTangent=u$;var q6t=function(){function s(){}return s}();sa.BiTangents=q6t;var zhn=function(s){H6t(u,s);function u(){return s!==null&&s.apply(this,arguments)||this}return u}(t8e);sa.TVGPoint=zhn;var v5e=function(){function s(u,f,d,g){this.id=u,this.polyid=f,this.polyvertid=d,this.p=g,g.vv=this}return s}();sa.VisibilityVertex=v5e;var NZ=function(){function s(u,f){this.source=u,this.target=f}return s.prototype.length=function(){var u=this.source.p.x-this.target.p.x,f=this.source.p.y-this.target.p.y;return Math.sqrt(u*u+f*f)},s}();sa.VisibilityEdge=NZ;var Vhn=function(){function s(u,f){if(this.P=u,this.V=[],this.E=[],f)this.V=f.V.slice(0),this.E=f.E.slice(0);else{for(var d=u.length,g=0;g0&&this.E.push(new NZ(m[w-1].vv,N))}m.length>1&&this.E.push(new NZ(m[0].vv,m[m.length-1].vv))}for(var g=0;g0)return!0;return!1},s}();sa.TangentVisibilityGraph=Vhn;function z6t(s,u){for(var f=[],d=1,g=u.length;d=0&&M>=0&&_<0&&F>=0&&R>=0&&B<0?g.ll=new u$(m,w):C<=0&&M<=0&&_>0&&F<=0&&R<=0&&B>0?g.rr=new u$(m,w):C<=0&&M>0&&_<=0&&F>=0&&R<0&&B>=0?g.rl=new u$(m,w):C>=0&&M<0&&_>=0&&F<=0&&R>0&&B<=0&&(g.lr=new u$(m,w))}return g}sa.tangents=V6t;function Uhn(s,u){for(var f=1,d=u.length;f0)return!0}return!1}sa.polysOverlap=Ghn;var lF={};Object.defineProperty(lF,"__esModule",{value:!0});var ry={PADDING:10,GOLDEN_SECTION:(1+Math.sqrt(5))/2,FLOAT_EPSILON:1e-4};function Whn(s,u,f,O,P,m){P===void 0&&(P=1),m===void 0&&(m=!0);var w=0,S=0,N=u,T=f,P=typeof P<"u"?P:1,O=typeof O<"u"?O:0,I=0,C=0,M=0,_=0,F=[];if(s.length==0)return;R(s),G(s),m&&B(s);function R(Y){Y.forEach(function(Z){oe(Z)});function oe(Z){var re=Number.MAX_VALUE,de=Number.MAX_VALUE,U=0,se=0;Z.array.forEach(function(we){var ve=typeof we.width<"u"?we.width:O,Ke=typeof we.height<"u"?we.height:O;ve/=2,Ke/=2,U=Math.max(we.x+ve,U),re=Math.min(we.x-ve,re),se=Math.max(we.y+Ke,se),de=Math.min(we.y-Ke,de)}),Z.width=U-re,Z.height=se-de}}function B(Y){Y.forEach(function(oe){var Z={x:0,y:0};oe.array.forEach(function(U){Z.x+=U.x,Z.y+=U.y}),Z.x/=oe.array.length,Z.y/=oe.array.length;var re={x:Z.x-oe.width/2,y:Z.y-oe.height/2},de={x:oe.x-re.x+N/2-I/2,y:oe.y-re.y+T/2-C/2};oe.array.forEach(function(U){U.x+=de.x,U.y+=de.y})})}function G(Y,oe){var Z=Number.POSITIVE_INFINITY,re=0;Y.sort(function(Be,ht){return ht.height-Be.height}),M=Y.reduce(function(Be,ht){return Be.widthM||ae>ry.FLOAT_EPSILON;){if(Ke!=1)var ge=U-(U-de)/ry.GOLDEN_SECTION,we=z(Y,ge);if(Ke!=0)var _e=de+(U-de)/ry.GOLDEN_SECTION,ve=z(Y,_e);if(je=Math.abs(ge-_e),ae=Math.abs(we-ve),weve?(de=ge,ge=_e,we=ve,Ke=1):(U=_e,_e=ge,ve=we,Ke=0),se++>100)break}z(Y,re)}function z(Y,oe){F=[],I=0,C=0,_=S;for(var Z=0;Z=Y.height&&F[re].x+F[re].width+Y.width+ry.PADDING-oe<=ry.FLOAT_EPSILON){Z=F[re];break}F.push(Y),Z!==void 0?(Y.x=Z.x+Z.width+ry.PADDING,Y.y=Z.bottom,Y.space_left=Y.height,Y.bottom=Y.y,Z.space_left-=Y.height+ry.PADDING,Z.bottom+=Y.height+ry.PADDING):(Y.y=_,_+=Y.height+ry.PADDING,Y.x=w,Y.bottom=Y.y,Y.space_left=Y.height),Y.y+Y.height-C>-1e-4&&(C=Y.y+Y.height-S),Y.x+Y.width-I>-1e-4&&(I=Y.x+Y.width-w)}function te(Y){var oe=0;return Y.forEach(function(Z){return oe+=Z.width+ry.PADDING}),oe}function ne(){return I/C}}lF.applyPacking=Whn;function Xhn(s,u){for(var f={},d={},g=[],m=0,w=0;w"u"||typeof C.py>"u")&&(C.px=C.x,C.py=C.y);var _=[C.px,C.py];this._descent.locks.add(M,_)}var F=this._descent.rungeKutta();return F===0?this._alpha=0:typeof this._lastStress<"u"&&(this._alpha=F),this._lastStress=F,this.updateNodePositions(),this.trigger({type:N.tick,alpha:this._alpha,stress:this._lastStress}),!1},O.prototype.updateNodePositions=function(){for(var I=this._descent.x[0],C=this._descent.x[1],M,_=this._nodes.length;_--;)M=this._nodes[_],M.x=I[_],M.y=C[_]},O.prototype.nodes=function(I){if(!I){if(this._nodes.length===0&&this._links.length>0){var C=0;this._links.forEach(function(_){C=Math.max(C,_.source,_.target)}),this._nodes=new Array(++C);for(var M=0;M"u"&&(M.padding=1),typeof M.leaves<"u"&&M.leaves.forEach(function(_,F){typeof _=="number"&&((M.leaves[F]=C._nodes[_]).parent=M)}),typeof M.groups<"u"&&M.groups.forEach(function(_,F){typeof _=="number"&&((M.groups[F]=C._groups[_]).parent=M)})}),this._rootGroup.leaves=this._nodes.filter(function(M){return typeof M.parent>"u"}),this._rootGroup.groups=this._groups.filter(function(M){return typeof M.parent>"u"}),this):this._groups},O.prototype.powerGraphGroups=function(I){var C=u.getGroups(this._nodes,this._links,this.linkAccessor,this._rootGroup);return this.groups(C.groups),I(C),this},O.prototype.avoidOverlaps=function(I){return arguments.length?(this._avoidOverlaps=I,this):this._avoidOverlaps},O.prototype.handleDisconnected=function(I){return arguments.length?(this._handleDisconnected=I,this):this._handleDisconnected},O.prototype.flowLayout=function(I,C){return arguments.length||(I="y"),this._directedLinkConstraints={axis:I,getMinSeparation:typeof C=="number"?function(){return C}:C},this},O.prototype.links=function(I){return arguments.length?(this._links=I,this):this._links},O.prototype.constraints=function(I){return arguments.length?(this._constraints=I,this):this._constraints},O.prototype.distanceMatrix=function(I){return arguments.length?(this._distanceMatrix=I,this):this._distanceMatrix},O.prototype.size=function(I){return I?(this._canvasSize=I,this):this._canvasSize},O.prototype.defaultNodeSize=function(I){return I?(this._defaultNodeSize=I,this):this._defaultNodeSize},O.prototype.groupCompactness=function(I){return I?(this._groupCompactness=I,this):this._groupCompactness},O.prototype.linkDistance=function(I){return I?(this._linkDistance=typeof I=="function"?I:+I,this._linkLengthCalculator=null,this):this._linkDistance},O.prototype.linkType=function(I){return this._linkType=I,this},O.prototype.convergenceThreshold=function(I){return I?(this._threshold=typeof I=="function"?I:+I,this):this._threshold},O.prototype.alpha=function(I){return arguments.length?(I=+I,this._alpha?I>0?this._alpha=I:this._alpha=0:I>0&&(this._running||(this._running=!0,this.trigger({type:N.start,alpha:this._alpha=I}),this.kick())),this):this._alpha},O.prototype.getLinkLength=function(I){return typeof this._linkDistance=="function"?+this._linkDistance(I):this._linkDistance},O.setLinkLength=function(I,C){I.length=C},O.prototype.getLinkType=function(I){return typeof this._linkType=="function"?this._linkType(I):0},O.prototype.symmetricDiffLinkLengths=function(I,C){var M=this;return C===void 0&&(C=1),this.linkDistance(function(_){return I*_.length}),this._linkLengthCalculator=function(){return f.symmetricDiffLinkLengths(M._links,M.linkAccessor,C)},this},O.prototype.jaccardLinkLengths=function(I,C){var M=this;return C===void 0&&(C=1),this.linkDistance(function(_){return I*_.length}),this._linkLengthCalculator=function(){return f.jaccardLinkLengths(M._links,M.linkAccessor,C)},this},O.prototype.start=function(I,C,M,_,F,R){var B=this;I===void 0&&(I=0),C===void 0&&(C=0),M===void 0&&(M=0),_===void 0&&(_=0),F===void 0&&(F=!0),R===void 0&&(R=!0);var G,z=this.nodes().length,Q=z+2*this._groups.length;this._links.length;var te=this._canvasSize[0],ne=this._canvasSize[1],Y=new Array(Q),oe=new Array(Q),Z=null,re=this._avoidOverlaps;this._nodes.forEach(function(ae,ge){ae.index=ge,typeof ae.x>"u"&&(ae.x=te/2,ae.y=ne/2),Y[ge]=ae.x,oe[ge]=ae.y}),this._linkLengthCalculator&&this._linkLengthCalculator();var de;this._distanceMatrix?de=this._distanceMatrix:(de=new m.Calculator(Q,this._links,O.getSourceIndex,O.getTargetIndex,function(ae){return B.getLinkLength(ae)}).DistanceMatrix(),Z=d.Descent.createSquareMatrix(Q,function(){return 2}),this._links.forEach(function(ae){typeof ae.source=="number"&&(ae.source=B._nodes[ae.source]),typeof ae.target=="number"&&(ae.target=B._nodes[ae.target])}),this._links.forEach(function(ae){var ge=O.getSourceIndex(ae),_e=O.getTargetIndex(ae);Z[ge][_e]=Z[_e][ge]=ae.weight||1}));var U=d.Descent.createSquareMatrix(Q,function(ae,ge){return de[ae][ge]});if(this._rootGroup&&typeof this._rootGroup.groups<"u"){var G=z,se=function(ge,_e,Be,ht){Z[ge][_e]=Z[_e][ge]=Be,U[ge][_e]=U[_e][ge]=ht};this._groups.forEach(function(ge){se(G,G+1,B._groupCompactness,.1),Y[G]=0,oe[G++]=0,Y[G]=0,oe[G++]=0})}else this._rootGroup={leaves:this._nodes,groups:[]};var we=this._constraints||[];this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,we=we.concat(f.generateDirectedEdgeConstraints(z,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new d.Descent([Y,oe],U),this._descent.locks.clear();for(var G=0;G0&&(this._descent.project=new g.Projection(this._nodes,this._groups,this._rootGroup,we).projectFunctions()),this._descent.run(C),this.separateOverlappingComponents(te,ne,R),this.avoidOverlaps(re),re&&(this._nodes.forEach(function(ae,ge){ae.x=Y[ge],ae.y=oe[ge]}),this._descent.project=new g.Projection(this._nodes,this._groups,this._rootGroup,we,!0).projectFunctions(),this._nodes.forEach(function(ae,ge){Y[ge]=ae.x,oe[ge]=ae.y})),this._descent.G=Z,this._descent.run(M),_){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=z,this._descent.scaleSnapByMaxH=z!=Q;var je=d.Descent.createSquareMatrix(Q,function(ae,ge){return ae>=z||ge>=z?Z[ae][ge]:0});this._descent.G=je,this._descent.run(_)}return this.updateNodePositions(),this.separateOverlappingComponents(te,ne,R),F?this.resume():this},O.prototype.initialLayout=function(I,C,M){if(this._groups.length>0&&I>0){var _=this._nodes.length,F=this._links.map(function(B){return{source:B.source.index,target:B.target.index}}),R=this._nodes.map(function(B){return{index:B.index}});this._groups.forEach(function(B,G){R.push({index:B.index=_+G})}),this._groups.forEach(function(B,G){typeof B.leaves<"u"&&B.leaves.forEach(function(z){return F.push({source:B.index,target:z.index})}),typeof B.groups<"u"&&B.groups.forEach(function(z){return F.push({source:B.index,target:z.index})})}),new O().size(this.size()).nodes(R).links(F).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(I,0,0,0,!1),this._nodes.forEach(function(B){C[B.index]=R[B.index].x,M[B.index]=R[B.index].y})}else this._descent.run(I)},O.prototype.separateOverlappingComponents=function(I,C,M){var _=this;if(M===void 0&&(M=!0),!this._distanceMatrix&&this._handleDisconnected){var F=this._descent.x[0],R=this._descent.x[1];this._nodes.forEach(function(G,z){G.x=F[z],G.y=R[z]});var B=S.separateGraphs(this._nodes,this._links);S.applyPacking(B,I,C,this._defaultNodeSize,1,M),this._nodes.forEach(function(G,z){_._descent.x[0][z]=G.x,_._descent.x[1][z]=G.y,G.bounds&&(G.bounds.setXCentre(G.x),G.bounds.setYCentre(G.y))})}},O.prototype.resume=function(){return this.alpha(.1)},O.prototype.stop=function(){return this.alpha(0)},O.prototype.prepareEdgeRouting=function(I){I===void 0&&(I=0),this._visibilityGraph=new w.TangentVisibilityGraph(this._nodes.map(function(C){return C.bounds.inflate(-I).vertices()}))},O.prototype.routeEdge=function(I,C,M){C===void 0&&(C=5);var _=[],F=new w.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),R={x:I.source.x,y:I.source.y},B={x:I.target.x,y:I.target.y},G=F.addPoint(R,I.source.index),z=F.addPoint(B,I.target.index);F.addEdgeIfVisible(R,B,I.source.index,I.target.index),typeof M<"u"&&M(F);var Q=function(we){return we.source.id},te=function(we){return we.target.id},ne=function(we){return we.length()},Y=new m.Calculator(F.V.length,F.E,Q,te,ne),oe=Y.PathFromNodeToNode(G.id,z.id);if(oe.length===1||oe.length===F.V.length){var Z=g.makeEdgeBetween(I.source.innerBounds,I.target.innerBounds,C);_=[Z.sourceIntersection,Z.arrowStart]}else{for(var re=oe.length-2,de=F.V[oe[re]].p,U=F.V[oe[0]].p,_=[I.source.innerBounds.rayIntersection(de.x,de.y)],se=re;se>=0;--se)_.push(F.V[oe[se]].p);_.push(g.makeEdgeTo(U,I.target.innerBounds,C))}return _},O.getSourceIndex=function(I){return typeof I.source=="number"?I.source:I.source.index},O.getTargetIndex=function(I){return typeof I.target=="number"?I.target:I.target.index},O.linkId=function(I){return O.getSourceIndex(I)+"-"+O.getTargetIndex(I)},O.dragStart=function(I){T(I)?O.storeOffset(I,O.dragOrigin(I)):(O.stopNode(I),I.fixed|=2)},O.stopNode=function(I){I.px=I.x,I.py=I.y},O.storeOffset=function(I,C){typeof I.leaves<"u"&&I.leaves.forEach(function(M){M.fixed|=2,O.stopNode(M),M._dragGroupOffsetX=M.x-C.x,M._dragGroupOffsetY=M.y-C.y}),typeof I.groups<"u"&&I.groups.forEach(function(M){return O.storeOffset(M,C)})},O.dragOrigin=function(I){return T(I)?{x:I.bounds.cx(),y:I.bounds.cy()}:I},O.drag=function(I,C){T(I)?(typeof I.leaves<"u"&&I.leaves.forEach(function(M){I.bounds.setXCentre(C.x),I.bounds.setYCentre(C.y),M.px=M._dragGroupOffsetX+C.x,M.py=M._dragGroupOffsetY+C.y}),typeof I.groups<"u"&&I.groups.forEach(function(M){return O.drag(M,C)})):(I.px=C.x,I.py=C.y)},O.dragEnd=function(I){T(I)?(typeof I.leaves<"u"&&I.leaves.forEach(function(C){O.dragEnd(C),delete C._dragGroupOffsetX,delete C._dragGroupOffsetY}),typeof I.groups<"u"&&I.groups.forEach(O.dragEnd)):I.fixed&=-7},O.mouseOver=function(I){I.fixed|=4,I.px=I.x,I.py=I.y},O.mouseOut=function(I){I.fixed&=-5},O}();s.Layout=P})(SM);var Jhn=Q0&&Q0.__extends||function(){var s=function(u,f){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,g){d.__proto__=g}||function(d,g){for(var m in g)g.hasOwnProperty(m)&&(d[m]=g[m])},s(u,f)};return function(u,f){s(u,f);function d(){this.constructor=u}u.prototype=f===null?Object.create(f):(d.prototype=f.prototype,new d)}}();Object.defineProperty(tte,"__esModule",{value:!0});var I4e=SM,U6t=function(s){Jhn(u,s);function u(f){var d=s.call(this)||this,g=f;return g.trigger&&(d.trigger=g.trigger),g.kick&&(d.kick=g.kick),g.drag&&(d.drag=g.drag),g.on&&(d.on=g.on),d.dragstart=d.dragStart=I4e.Layout.dragStart,d.dragend=d.dragEnd=I4e.Layout.dragEnd,d}return u.prototype.trigger=function(f){},u.prototype.kick=function(){},u.prototype.drag=function(){},u.prototype.on=function(f,d){return this},u}(I4e.Layout);tte.LayoutAdaptor=U6t;function Yhn(s){return new U6t(s)}tte.adaptor=Yhn;var i8e={},ite={},Qhn=Q0&&Q0.__extends||function(){var s=function(u,f){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,g){d.__proto__=g}||function(d,g){for(var m in g)g.hasOwnProperty(m)&&(d[m]=g[m])},s(u,f)};return function(u,f){s(u,f);function d(){this.constructor=u}u.prototype=f===null?Object.create(f):(d.prototype=f.prototype,new d)}}();Object.defineProperty(ite,"__esModule",{value:!0});var ag=SM,G6t=function(s){Qhn(u,s);function u(){var f=s.call(this)||this;f.event=d3.dispatch(ag.EventType[ag.EventType.start],ag.EventType[ag.EventType.tick],ag.EventType[ag.EventType.end]);var d=f;return f.drag=function(){if(!g)var g=d3.behavior.drag().origin(ag.Layout.dragOrigin).on("dragstart.d3adaptor",ag.Layout.dragStart).on("drag.d3adaptor",function(m){ag.Layout.drag(m,d3.event),d.resume()}).on("dragend.d3adaptor",ag.Layout.dragEnd);if(!arguments.length)return g;this.call(g)},f}return u.prototype.trigger=function(f){var d={type:ag.EventType[f.type],alpha:f.alpha,stress:f.stress};this.event[d.type](d)},u.prototype.kick=function(){var f=this;d3.timer(function(){return s.prototype.tick.call(f)})},u.prototype.on=function(f,d){return typeof f=="string"?this.event.on(f,d):this.event.on(ag.EventType[f],d),this},u}(ag.Layout);ite.D3StyleLayoutAdaptor=G6t;function Zhn(){return new G6t}ite.d3adaptor=Zhn;var r8e={},edn=Q0&&Q0.__extends||function(){var s=function(u,f){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,g){d.__proto__=g}||function(d,g){for(var m in g)g.hasOwnProperty(m)&&(d[m]=g[m])},s(u,f)};return function(u,f){s(u,f);function d(){this.constructor=u}u.prototype=f===null?Object.create(f):(d.prototype=f.prototype,new d)}}();Object.defineProperty(r8e,"__esModule",{value:!0});var fg=SM,tdn=function(s){edn(u,s);function u(f){var d=s.call(this)||this;d.d3Context=f,d.event=f.dispatch(fg.EventType[fg.EventType.start],fg.EventType[fg.EventType.tick],fg.EventType[fg.EventType.end]);var g=d;return d.drag=function(){if(!m)var m=f.drag().subject(fg.Layout.dragOrigin).on("start.d3adaptor",fg.Layout.dragStart).on("drag.d3adaptor",function(w){fg.Layout.drag(w,f.event),g.resume()}).on("end.d3adaptor",fg.Layout.dragEnd);if(!arguments.length)return m;arguments[0].call(m)},d}return u.prototype.trigger=function(f){var d={type:fg.EventType[f.type],alpha:f.alpha,stress:f.stress};this.event.call(d.type,d)},u.prototype.kick=function(){var f=this,d=this.d3Context.timer(function(){return s.prototype.tick.call(f)&&d.stop()})},u.prototype.on=function(f,d){return typeof f=="string"?this.event.on(f,d):this.event.on(fg.EventType[f],d),this},u}(fg.Layout);r8e.D3StyleLayoutAdaptor=tdn;Object.defineProperty(i8e,"__esModule",{value:!0});var ndn=ite,idn=r8e;function rdn(s){return!s||sdn(s)?new ndn.D3StyleLayoutAdaptor:new idn.D3StyleLayoutAdaptor(s)}i8e.d3adaptor=rdn;function sdn(s){var u=/^3\./;return s.version&&s.version.match(u)!==null}var K9={};Object.defineProperty(K9,"__esModule",{value:!0});var odn=Zh,N4e=pv,cdn=IM,W6t=function(){function s(u,f,d){this.id=u,this.rect=f,this.children=d,this.leaf=typeof d>"u"||d.length===0}return s}();K9.NodeWrapper=W6t;var y5e=function(){function s(u,f,d,g,m){g===void 0&&(g=null),m===void 0&&(m=null),this.id=u,this.x=f,this.y=d,this.node=g,this.line=m}return s}();K9.Vert=y5e;var x5e=function(){function s(u,f){this.s=u,this.t=f;var d=s.findMatch(u,f),g=f.slice(0).reverse(),m=s.findMatch(u,g);d.length>=m.length?(this.length=d.length,this.si=d.si,this.ti=d.ti,this.reversed=!1):(this.length=m.length,this.si=m.si,this.ti=f.length-m.ti-m.length,this.reversed=!0)}return s.findMatch=function(u,f){for(var d=u.length,g=f.length,m={length:0,si:-1,ti:-1},w=new Array(d),S=0;Sm.length&&(m.length=T,m.si=S-T+1,m.ti=N-T+1)}else w[S][N]=0}return m},s.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},s}();K9.LongestCommonSubsequence=x5e;var udn=function(){function s(u,f,d){var g=this;d===void 0&&(d=12),this.originalnodes=u,this.groupPadding=d,this.leaves=null,this.nodes=u.map(function(_,F){return new W6t(F,f.getBounds(_),f.getChildren(_))}),this.leaves=this.nodes.filter(function(_){return _.leaf}),this.groups=this.nodes.filter(function(_){return!_.leaf}),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach(function(_){return _.children.forEach(function(F){return g.nodes[F].parent=_})}),this.root={children:[]},this.nodes.forEach(function(_){typeof _.parent>"u"&&(_.parent=g.root,g.root.children.push(_.id)),_.ports=[]}),this.backToFront=this.nodes.slice(0),this.backToFront.sort(function(_,F){return g.getDepth(_)-g.getDepth(F)});var m=this.backToFront.slice(0).reverse().filter(function(_){return!_.leaf});m.forEach(function(_){var F=odn.Rectangle.empty();_.children.forEach(function(R){return F=F.union(g.nodes[R].rect)}),_.rect=F.inflate(g.groupPadding)});var w=this.midPoints(this.cols.map(function(_){return _.pos})),S=this.midPoints(this.rows.map(function(_){return _.pos})),N=w[0],T=w[w.length-1],P=S[0],O=S[S.length-1],I=this.rows.map(function(_){return{x1:N,x2:T,y1:_.pos,y2:_.pos}}).concat(S.map(function(_){return{x1:N,x2:T,y1:_,y2:_}})),C=this.cols.map(function(_){return{x1:_.pos,x2:_.pos,y1:P,y2:O}}).concat(w.map(function(_){return{x1:_,x2:_,y1:P,y2:O}})),M=I.concat(C);M.forEach(function(_){return _.verts=[]}),this.verts=[],this.edges=[],I.forEach(function(_){return C.forEach(function(F){var R=new y5e(g.verts.length,F.x1,_.y1);_.verts.push(R),F.verts.push(R),g.verts.push(R);for(var B=g.backToFront.length;B-- >0;){var G=g.backToFront[B],z=G.rect,Q=Math.abs(R.x-z.cx()),te=Math.abs(R.y-z.cy());if(Q0;){var g=d.filter(function(w){return w.rect["overlap"+u.toUpperCase()](d[0].rect)}),m={nodes:g,pos:this.avg(g.map(function(w){return w.rect["c"+u]()}))};f.push(m),m.nodes.forEach(function(w){return d.splice(d.indexOf(w),1)})}return f.sort(function(w,S){return w.pos-S.pos}),f},s.prototype.getDepth=function(u){for(var f=0;u.parent!==this.root;)f++,u=u.parent;return f},s.prototype.midPoints=function(u){for(var f=u[1]-u[0],d=[u[0]-f/2],g=1;g.1)&&(O={pos:N[0][f],segments:[]},P.push(O)),O.segments.push(N)}return P},s.nudgeSegs=function(u,f,d,g,m,w){var S=g.length;if(!(S<=1)){for(var N=g.map(function(G){return new N4e.Variable(G[0][u])}),T=[],P=0;P=0&&T.push(new N4e.Constraint(N[F],N[R],w))}var B=new N4e.Solver(N,T);B.solve(),N.forEach(function(G,z){var Q=g[z],te=G.position();Q[0][u]=Q[1][u]=te;var ne=d[Q.edgeid];Q.i>0&&(ne[Q.i-1][1][u]=te),Q.iMath.PI||m<-Math.PI)&&(m=g-d),m},s.isLeft=function(u,f,d){return(f.x-u.x)*(d.y-u.y)-(f.y-u.y)*(d.x-u.x)<=0},s.getOrder=function(u){for(var f={},d=0;d"u"&&(f[g.l]={}),f[g.l][g.r]=!0}return function(m,w){return typeof f[m]<"u"&&f[m][w]}},s.orderEdges=function(u){for(var f=[],d=0;d=m.length||S.ti+S.length>=w.length)){f.push({l:d,r:g});continue}S.si+S.length>=m.length||S.ti+S.length>=w.length?(N=m[S.si+1],P=m[S.si-1],T=w[S.ti-1]):(N=m[S.si+S.length-2],T=m[S.si+S.length],P=w[S.ti+S.length]),s.isLeft(N,T,P)?f.push({l:g,r:d}):f.push({l:d,r:g})}}return s.getOrder(f)},s.makeSegments=function(u){function f(T){return{x:T.x,y:T.y}}for(var d=function(T,P,O){return Math.abs((P.x-T.x)*(O.y-T.y)-(P.y-T.y)*(O.x-T.x))<.001},g=[],m=f(u[0]),w=1;w1&&Y>1?1e3:0},_=C.PathFromNodeToNodeWithPrevCost(g.ports[0].id,m.ports[0].id,M),F=_.reverse().map(function(R){return d.verts[R]});return F.push(this.nodes[m.id].ports[0]),F.filter(function(R,B){return!(B0&&R.node===m&&F[B-1].node===m)})},s.getRoutePath=function(u,f,d,g){var m={routepath:"M "+u[0][0].x+" "+u[0][0].y+" ",arrowpath:""};if(u.length>1)for(var w=0;w0?N-=P/Math.abs(P)*f:T-=O/Math.abs(O)*f,m.routepath+="L "+N+" "+T+" ";var I=u[w+1],C=I[0].x,M=I[0].y,_=I[1].x,F=I[1].y;P=_-C,O=F-M;var R=s.angleBetween2Lines(S,I)<0?1:0,B,G;Math.abs(P)>0?(B=C+P/Math.abs(P)*f,G=M):(B=C,G=M+O/Math.abs(O)*f);var z=Math.abs(B-N),Q=Math.abs(G-T);m.routepath+="A "+z+" "+Q+" 0 0 "+R+" "+B+" "+G+" "}else{var te=[N,T],ne,Y;Math.abs(P)>0?(N-=P/Math.abs(P)*g,ne=[N,T+d],Y=[N,T-d]):(T-=O/Math.abs(O)*g,ne=[N+d,T],Y=[N-d,T]),m.routepath+="L "+N+" "+T+" ",g>0&&(m.arrowpath="M "+te[0]+" "+te[1]+" L "+ne[0]+" "+ne[1]+" L "+Y[0]+" "+Y[1])}}else{var S=u[0],N=S[1].x,T=S[1].y,P=N-S[0].x,O=T-S[0].y,te=[N,T],ne,Y;Math.abs(P)>0?(N-=P/Math.abs(P)*g,ne=[N,T+d],Y=[N,T-d]):(T-=O/Math.abs(O)*g,ne=[N+d,T],Y=[N-d,T]),m.routepath+="L "+N+" "+T+" ",g>0&&(m.arrowpath="M "+te[0]+" "+te[1]+" L "+ne[0]+" "+ne[1]+" L "+Y[0]+" "+Y[1])}return m},s}();K9.GridRouter=udn;var aF={};Object.defineProperty(aF,"__esModule",{value:!0});var ldn=IM,C4e=H9,adn=Zh,fdn=u6,hdn=function(){function s(u,f){this.source=u,this.target=f}return s.prototype.actualLength=function(u){var f=this;return Math.sqrt(u.reduce(function(d,g){var m=g[f.target]-g[f.source];return d+m*m},0))},s}();aF.Link3D=hdn;var ddn=function(){function s(u,f,d){u===void 0&&(u=0),f===void 0&&(f=0),d===void 0&&(d=0),this.x=u,this.y=f,this.z=d}return s}();aF.Node3D=ddn;var pdn=function(){function s(u,f,d){var g=this;d===void 0&&(d=1),this.nodes=u,this.links=f,this.idealLinkLength=d,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(s.k);for(var m=0;m"u"&&(w[P]=Math.random())}g.result[0][S]=w.x,g.result[1][S]=w.y,g.result[2][S]=w.z})}return s.prototype.linkLength=function(u){return u.actualLength(this.result)},s.prototype.start=function(u){var f=this;u===void 0&&(u=100);var d=this.nodes.length,g=new gdn;this.useJaccardLinkLengths&&fdn.jaccardLinkLengths(this.links,g,1.5),this.links.forEach(function(P){return P.length*=f.idealLinkLength});var m=new ldn.Calculator(d,this.links,function(P){return P.source},function(P){return P.target},function(P){return P.length}).DistanceMatrix(),w=C4e.Descent.createSquareMatrix(d,function(P,O){return m[P][O]}),S=C4e.Descent.createSquareMatrix(d,function(){return 2});this.links.forEach(function(P){var O=P.source,I=P.target;return S[O][I]=S[I][O]=1}),this.descent=new C4e.Descent(this.result,w),this.descent.threshold=.001,this.descent.G=S,this.constraints&&(this.descent.project=new adn.Projection(this.nodes,null,null,this.constraints).projectFunctions());for(var N=0;NX6t(O,s));if(f.length===0)return{};const d={},g=[];for(const O of f){const I={x:O.x+y3t(O)/2,y:O.y+v3t(O)/2,width:y3t(O),height:v3t(O)};d[O.id]=I,g.push(I)}const m=[];for(const O of Object.values(u)){const I=d[O.sourceId],C=d[O.targetId];!I||!C||m.push({source:I,target:C})}const w=[],S={};for(const O of f)if(O.type==="container"&&!O.collapsed){const I=f.filter(C=>C.parentId===O.id).map(C=>d[C.id]).filter(Boolean);if(I.length>0){const C={leaves:I,padding:20};S[O.id]=C,w.push(C)}}const N=f.filter(O=>(O.type==="system"||O.type==="domain"||O.type==="group")&&!O.collapsed).sort((O,I)=>{const C=M=>{let _=0,F=M;for(;F.parentId&&(_++,F=s[F.parentId],!!F););return _};return C(I)-C(O)});for(const O of N){const I=[],C=[];for(const M of f.filter(_=>_.parentId===O.id)){const _=S[M.id];if(_)C.push(_);else{const F=d[M.id];F&&I.push(F)}}if(I.length+C.length>0){const M={leaves:I.length>0?I:void 0,groups:C.length>0?C:void 0,padding:40};S[O.id]=M,w.push(M)}}const T=1800,P=1200;try{new wx.Layout().nodes(g).links(m).groups(w).size([T,P]).avoidOverlaps(!0).handleDisconnected(!0).linkDistance(180).convergenceThreshold(1e-4).start(100,20,100,0,!1);const I={};for(const M of f){const _=d[M.id];I[M.id]={x:_.x-_.width/2,y:_.y-_.height/2}}const C={};for(const M of f){const _=I[M.id];if(M.parentId&&I[M.parentId]){const F=I[M.parentId];C[M.id]={x:_.x-F.x,y:_.y-F.y}}else C[M.id]={x:_.x,y:_.y}}return C}catch(O){return console.error("[WebCoLa] Layout error:",O),{}}}const J6t=70,mee=20,Y6t=20,x3t=20,xdn=20,k3t=40,kdn=40,jdn=40,Sdn=60,Edn=60,Idn=40,j3t=20;function rb(s){return Math.round(s/j3t)*j3t}function mx(s){return Jh(s.type)&&s.collapsed?G0[s.type]:s.width}function Y$(s){return Jh(s.type)&&s.collapsed?U0[s.type]:s.height}function Q6t(s,u){if(!s.parentId)return!0;const f=u[s.parentId];return f?f.collapsed?!1:Q6t(f,u):!0}function k5e(s,u){return Object.values(u).filter(f=>f.parentId===s&&Q6t(f,u))}function S9(s,u){const f=u[s];return f!=null&&f.parentId?S9(f.parentId,u):s}function CZ(s,u){const f=u[s];if(!f)return null;if(f.type==="container")return s;if(f.parentId){const d=u[f.parentId];return(d==null?void 0:d.type)==="container"?d.id:CZ(f.parentId,u)}return null}function T4e(s,u,f,d){const g=d[s];if(!g)return null;let m=g[u],w=f[s];for(;w!=null&&w.parentId;){const S=d[w.parentId];if(!S)break;m+=S[u],w=f[w.parentId]}return m}function Z6t(s){const u=new Map;for(const[m]of s)u.set(m,0);for(const[,m]of s)for(const w of m)u.set(w,(u.get(w)??0)+1);const f=[];for(const[m,w]of u)w===0&&f.push(m);const d=[];for(;f.length>0;){f.sort();const m=f.shift();d.push(m);for(const w of s.get(m)??[]){const S=(u.get(w)??0)-1;u.set(w,S),S===0&&f.push(w)}}const g=new Set(d);for(const[m]of s)g.has(m)||d.push(m);return d}function e8t(s,u,f,d){const g=k5e(s,u);if(g.length===0)return;const m=new Set(g.map(O=>O.id)),w=new Map;for(const O of g)w.set(O.id,new Set);for(const O of Object.values(f))m.has(O.sourceId)&&m.has(O.targetId)&&w.get(O.sourceId).add(O.targetId);const S=Z6t(w),N=Lr.component.width,T=Lr.component.height,P=S.length>3?2:1;for(let O=0;OC.parentId===s&&f[C.id]);if(g.length===0){f[s]={x:((T=f[s])==null?void 0:T.x)??0,y:((P=f[s])==null?void 0:P.y)??0,width:Lr.container.width,height:Lr.container.height};return}let m=0,w=0;for(const C of g){const M=f[C.id];m=Math.max(m,M.x+(M.width??mx(C))),w=Math.max(w,M.y+(M.height??Y$(C)))}f[s]={x:((O=f[s])==null?void 0:O.x)??0,y:((I=f[s])==null?void 0:I.y)??0,width:Math.max(m+mee,Lr.container.width),height:Math.max(w+Y6t,Lr.container.height)}}function Ndn(s,u,f,d){var C,M,_,F,R,B,G;const g=u[s];if(!g)return;if(g.collapsed){d[s]={x:((C=d[s])==null?void 0:C.x)??0,y:((M=d[s])==null?void 0:M.y)??0,width:G0[g.type]??mx(g),height:U0[g.type]??Y$(g)};return}const m=k5e(s,u).filter(z=>z.type==="container");if(m.length===0){d[s]={x:((_=d[s])==null?void 0:_.x)??0,y:((F=d[s])==null?void 0:F.y)??0,width:mx(g),height:Y$(g)};return}for(const z of m)e8t(z.id,u,f,d),t8t(z.id,u,d);const w=new Set(m.map(z=>z.id)),S=new Map;for(const z of m){S.set(z.id,z.id);for(const Q of k5e(z.id,u))S.set(Q.id,z.id)}const N=new Map;for(const z of m)N.set(z.id,new Set);for(const z of Object.values(f)){const Q=S.get(z.sourceId),te=S.get(z.targetId);Q&&te&&Q!==te&&w.has(Q)&&w.has(te)&&N.get(Q).add(te)}const T=Z6t(N);let P=mee;for(const z of T){const Q=d[z];Q&&(Q.x=P,Q.y=J6t),P+=(((R=d[z])==null?void 0:R.width)??Lr.container.width)+xdn}let O=0,I=0;for(const z of T){const Q=d[z];Q&&(O=Math.max(O,Q.x+(Q.width??Lr.container.width)),I=Math.max(I,Q.y+(Q.height??Lr.container.height)))}d[s]={x:((B=d[s])==null?void 0:B.x)??0,y:((G=d[s])==null?void 0:G.y)??0,width:Math.max(O+mee,Lr.system.width),height:Math.max(I+Y6t,Lr.system.height)}}function Cdn(s){const u=[],f=[],d=[];for(const g of Object.values(s))g.parentId||(g.external?d.push(g):g.type==="person"?u.push(g):f.push(g));return{persons:u,internalNodes:f,externalNodes:d}}function Mdn(s,u){const f=new Set(Object.values(s).filter(g=>!g.parentId).map(g=>g.id)),d=new Map;for(const g of f)d.set(g,new Set);for(const g of Object.values(u)){const m=S9(g.sourceId,s),w=S9(g.targetId,s);m!==w&&f.has(m)&&f.has(w)&&d.get(m).add(w)}return d}function Tdn(s,u,f){const d=new Map,g=new Set(u.map(w=>w.id));for(const w of s)for(const S of f.get(w.id)??[])g.has(S)&&d.set(S,Math.max(d.get(S)??0,0));let m=!0;for(let w=0;w(d.get(P)??-1)&&(d.set(P,O),m=!0)}}}for(const w of u)d.has(w.id)||d.set(w.id,0);return d}function Adn(s,u,f=4){if(s.size===0)return;const d=Math.max(...Array.from(s.keys()));if(d<1)return;const g=new Map;for(const[S,N]of u){g.has(S)||g.set(S,new Set);for(const T of N)g.has(T)||g.set(T,new Set),g.get(T).add(S)}const m=new Map;for(const[,S]of s)S.forEach((N,T)=>m.set(N.id,T));const w=(S,N)=>{const T=s.get(S);if(!T||T.length<2)return!1;const P=T.map(C=>{const M=N.get(C.id);let _=0,F=0;if(M)for(const R of M){const B=m.get(R);B!==void 0&&(_+=B,F++)}return{n:C,bc:F>0?_/F:m.get(C.id)??0}});P.sort((C,M)=>C.bc!==M.bc?C.bc-M.bc:(m.get(C.n.id)??0)-(m.get(M.n.id)??0));const O=P.map(C=>C.n);let I=!1;for(let C=0;Cm.set(C.id,M)),I};for(let S=0;S=0;T--)w(T,u)&&(N=!0);if(!N)break}}function n8t(s,u){var I,C,M,_,F,R;const f={},{persons:d,internalNodes:g,externalNodes:m}=Cdn(s);for(const B of g)B.type==="system"&&!B.collapsed?Ndn(B.id,s,u,f):B.type==="container"&&!B.collapsed?(e8t(B.id,s,u,f),t8t(B.id,s,f)):f[B.id]={x:0,y:0,width:mx(B),height:Y$(B)};const w=Mdn(s,u),S=Tdn(d,g,w),N=new Map;for(const B of g){const G=S.get(B.id)??0;N.has(G)||N.set(G,[]),N.get(G).push(B)}Adn(N,w);const T=d.length>0?Lr.person.height:0;let P=T>0?T+jdn:0;const O=N.size>0?Math.max(...Array.from(N.keys())):-1;for(let B=0;B<=O;B++){const G=N.get(B)??[];if(G.length===0)continue;if(B===0){let Q=0;for(const te of G)f[te.id]&&(f[te.id].x=rb(Q),f[te.id].y=rb(P)),Q+=(((I=f[te.id])==null?void 0:I.width)??mx(te))+k3t}else{const Q=N.get(B);for(const ne of Q){const Y=[];for(const re of Object.values(u)){const de=S9(re.sourceId,s);if(S9(re.targetId,s)===ne.id&&de!==ne.id){const se=CZ(re.sourceId,s)??re.sourceId,we=T4e(se,"x",s,f),ve=((C=f[se])==null?void 0:C.width)??Lr.container.width;we!==null&&Y.push(we+ve/2)}}const oe=((M=f[ne.id])==null?void 0:M.width)??mx(ne);let Z;Y.length>0?Z=Y.reduce((de,U)=>de+U,0)/Y.length-oe/2:Z=0,f[ne.id]&&(f[ne.id].x=rb(Math.max(0,Z)),f[ne.id].y=rb(P))}const te=[...Q].sort((ne,Y)=>{var oe,Z;return(((oe=f[ne.id])==null?void 0:oe.x)??0)-(((Z=f[Y.id])==null?void 0:Z.x)??0)});for(let ne=1;ne0){const B=Lr.person.width,G=Lr.person.height,z=[];for(const Q of d){const te=new Map;for(const ne of Object.values(u)){let Y=null;if(ne.sourceId===Q.id)Y=ne.targetId;else if(ne.targetId===Q.id)Y=ne.sourceId;else continue;const Z=CZ(Y,s)??S9(Y,s);te.set(Z,(te.get(Z)??0)+1)}if(te.size>0){let ne=0,Y=0;for(const[oe,Z]of te){const re=T4e(oe,"x",s,f),de=((F=f[oe])==null?void 0:F.width)??(s[oe]?mx(s[oe]):200);re!==null&&(ne+=(re+de/2)*Z,Y+=Z)}z.push({person:Q,targetX:Y>0?ne/Y-B/2:0})}else z.push({person:Q,targetX:0})}z.sort((Q,te)=>Q.targetX-te.targetX);for(const Q of z)f[Q.person.id]={x:rb(Q.targetX),y:0,width:B,height:G};for(let Q=1;Q0){let B=0;for(const Y of Object.keys(f)){const oe=s[Y];if(!oe||oe.parentId)continue;const Z=f[Y];B=Math.max(B,Z.x+(Z.width??mx(oe)))}const G=rb(B+Edn),z=[];for(const Y of m){let oe=0,Z=0;for(const re of Object.values(u)){let de=null;if(re.targetId===Y.id)de=re.sourceId;else if(re.sourceId===Y.id)de=re.targetId;else continue;const se=CZ(de,s)??S9(de,s),we=T4e(se,"y",s,f),ve=((R=f[se])==null?void 0:R.height)??Lr.container.height;we!==null&&(oe+=we+ve/2,Z++)}z.push({node:Y,callerAbsY:Z>0?oe/Z:1/0})}z.sort((Y,oe)=>Y.callerAbsY-oe.callerAbsY);const Q=240,te=100;for(const Y of z){let oe=Y.callerAbsY-te/2;isFinite(oe)||(oe=0),f[Y.node.id]={x:G,y:rb(Math.max(0,oe)),width:Q,height:te}}const ne=z.map(Y=>Y.node.id);for(let Y=1;Y0){const w=document.getElementsByTagName("link"),S=document.querySelector("meta[property=csp-nonce]"),N=(S==null?void 0:S.nonce)||(S==null?void 0:S.getAttribute("nonce"));g=Promise.allSettled(f.map(T=>{if(T=_dn(T,d),T in S3t)return;S3t[T]=!0;const P=T.endsWith(".css"),O=P?'[rel="stylesheet"]':"";if(!!d)for(let M=w.length-1;M>=0;M--){const _=w[M];if(_.href===T&&(!P||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${T}"]${O}`))return;const C=document.createElement("link");if(C.rel=P?"stylesheet":Pdn,P||(C.as="script"),C.crossOrigin="",C.href=T,N&&C.setAttribute("nonce",N),document.head.appendChild(C),P)return new Promise((M,_)=>{C.addEventListener("load",M),C.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${T}`)))})}))}function m(w){const S=new Event("vite:preloadError",{cancelable:!0});if(S.payload=w,window.dispatchEvent(S),!S.defaultPrevented)throw w}return g.then(w=>{for(const S of w||[])S.status==="rejected"&&m(S.reason);return u().catch(m)})};function nZ(s,u,f){return(f.y-s.y)*(u.x-s.x)>(u.y-s.y)*(f.x-s.x)}function zC(s,u,f,d){return nZ(s,f,d)!==nZ(u,f,d)&&nZ(s,u,f)!==nZ(s,u,d)}function i8t(s,u,f){const d=f.x+1,g=f.y+1,m=f.x+f.w-1,w=f.y+f.h-1;if(m<=d||w<=g)return!1;if(s.x>d&&s.xg&&s.yd&&u.xg&&u.y({src:N.sourceId,tgt:N.targetId})).filter(N=>f[N.src]&&f[N.tgt]);let w=0,S=0;for(let N=0;N({src:I.sourceId,tgt:I.targetId})).filter(I=>f[I.src]&&f[I.tgt]),P={},O=[...m.entries()].filter(([,I])=>I.length>=2).sort(([I],[C])=>N(C)-N(I));for(const[I,C]of O){const M=new Set(C),_=T.filter(R=>M.has(R.src)||M.has(R.tgt));if(_.length===0)continue;let F;if(I===""){const R=new Map;for(const B of C){const G=f[B]?Math.round(f[B].y):0;R.has(G)||R.set(G,[]),R.get(G).push(B)}F=[...R.values()].filter(B=>B.length>=2)}else F=[C];for(const R of F){let B=!0,G=10;for(;B&&G-- >0;){B=!1;for(let oe=0;oe{const U=Z.x+re,se=Z.y+de,we=U+Z.w,ve=se+Z.h;for(const Ke of R){if(Ke===oe)continue;const je=f[Ke];if(je&&!(we+Q<=je.x)&&!(je.x+je.w+Q<=U)&&!(ve+Q<=je.y)&&!(je.y+je.h+Q<=se))return!0}return!1};let ne=!0,Y=6;for(;ne&&Y-- >0;){ne=!1;for(const oe of R){const Z=f[oe];if(!Z)continue;const re=ZR(f,_,g,d);let de=0,U=0,se=re;for(const we of z){if(te(oe,Z,we,0))continue;Z.x+=we,S(oe,we,0);const ve=ZR(f,_,g,d);ve=Math.abs(u)*1.15?s>0!==f?Xn.Right:Xn.Left:u>0!==f?Xn.Bottom:Xn.Top}function u8t(s,u){var te,ne,Y,oe;const f=((te=s.positionAbsolute)==null?void 0:te.x)??0,d=((ne=s.positionAbsolute)==null?void 0:ne.y)??0,g=s.width??0,m=s.height??0,w=((Y=u.positionAbsolute)==null?void 0:Y.x)??0,S=((oe=u.positionAbsolute)==null?void 0:oe.y)??0,N=u.width??0,T=u.height??0,P=f+g/2,O=d+m/2,I=w+N/2,C=S+T/2,M=Math.max(w,Math.min(w+N,P)),_=Math.max(S,Math.min(S+T,O));let F=M-P,R=_-O;F===0&&R===0&&(F=I-P,R=C-O);const B=Math.max(f,Math.min(f+g,I)),G=Math.max(d,Math.min(d+m,C));let z=I-B,Q=C-G;return z===0&&Q===0&&(z=I-P,Q=C-O),{sSide:E3t(F,R,!1),tSide:E3t(z,Q,!0)}}function Ddn(s,u,f){var M,_;const d=new Map,g=((M=s.positionAbsolute)==null?void 0:M.x)??0,m=((_=s.positionAbsolute)==null?void 0:_.y)??0,w=s.width??0,S=s.height??0;if(f.length===0)return d;const N=u===Xn.Top||u===Xn.Bottom,T=[...f].sort((F,R)=>N?F.otherCenter.x-R.otherCenter.x:F.otherCenter.y-R.otherCenter.y),P=N?w:S,O=Math.min(20,P*.2),I=Math.max(0,P-2*O);if(T.length===1){const F=T[0],R=N?g+w/2:m+S/2;return d.set(F.edgeId,I3t(s,u,R)),d}const C=I/(T.length-1);for(let F=0;F`${N}|${T}`,m=N=>{var T,P;return{x:(((T=N.positionAbsolute)==null?void 0:T.x)??0)+(N.width??0)/2,y:(((P=N.positionAbsolute)==null?void 0:P.y)??0)+(N.height??0)/2}};for(const N of f){const T=g(N.e.source,N.sSide),P=g(N.e.target,N.tSide);d.has(T)||d.set(T,{node:N.s,side:N.sSide,entries:[]}),d.has(P)||d.set(P,{node:N.t,side:N.tSide,entries:[]}),d.get(T).entries.push({edgeId:"S:"+N.e.id,otherCenter:m(N.t)}),d.get(P).entries.push({edgeId:"T:"+N.e.id,otherCenter:m(N.s)})}const w=new Map;for(const N of d.values()){const T=Ddn(N.node,N.side,N.entries);for(const[P,O]of T)w.set(P,O)}const S=new Map;for(const N of f){const T=w.get("S:"+N.e.id),P=w.get("T:"+N.e.id);!T||!P||S.set(N.e.id,{sourceSide:N.sSide,sourcePoint:T,targetSide:N.tSide,targetPoint:P})}return N3t=s,C3t=u,A4e=S,S}const l8t=80,a8t=12,$dn=30,vee=150,Fdn=5,f8t=25,h8t=30,Bdn=20,d8t=30,Hdn=8,Kdn=4;function qdn(s){const u={},f=g=>{if(u[g])return u[g];const m=s[g];if(!m)return{x:0,y:0};if(!m.parentId)u[g]={x:m.x,y:m.y};else{const w=f(m.parentId);u[g]={x:w.x+m.x,y:w.y+m.y}}return u[g]},d={};for(const g of Object.values(s)){const m=f(g.id);d[g.id]={x:m.x,y:m.y,w:g.width,h:g.height,cx:m.x+g.width/2,cy:m.y+g.height/2}}return d}function p8t(s){const u={};for(const f of Object.values(s)){const d=new Set;let g=f;for(;g!=null&&g.parentId;)d.add(g.parentId),g=s[g.parentId];u[f.id]=d}return u}function M3t(s,u,f,d,g){switch(g){case Xn.Left:return{x:s,y:u+d/2,nx:-1,ny:0};case Xn.Right:return{x:s+f,y:u+d/2,nx:1,ny:0};case Xn.Top:return{x:s+f/2,y:u,nx:0,ny:-1};case Xn.Bottom:return{x:s+f/2,y:u+d,nx:0,ny:1}}}function zdn(s,u,f,d,g,m,w,S,N){const T=new Array(N+1);for(let P=0;P<=N;P++){const O=P/N,I=1-O,C=I*I*I,M=3*I*I*O,_=3*I*O*O,F=O*O*O;T[P]={x:C*s+M*f+_*g+F*w,y:C*u+M*d+_*m+F*S}}return T}function Vdn(s,u,f,d,g,m,w,S){const N=(g-s)*(d-u)-(m-u)*(f-s),T=(w-s)*(d-u)-(S-u)*(f-s),P=(s-g)*(S-m)-(u-m)*(w-g),O=(f-g)*(S-m)-(d-m)*(w-g);return(N>0&&T<0||N<0&&T>0)&&(P>0&&O<0||P<0&&O>0)}function Udn(s,u,f,d,g,m,w=0){return s>=f-w&&s<=f+g+w&&u>=d-w&&u<=d+m+w}function Gdn(s,u,f,d){var O,I;const g=Object.values(u).filter(C=>f[C.sourceId]&&f[C.targetId]),m=16,w=[];let S=0;for(const C of g){const M=f[C.sourceId],_=f[C.targetId],F=(re,de)=>({id:de,positionAbsolute:{x:re.x,y:re.y},width:re.w,height:re.h}),{sSide:R,tSide:B}=u8t(F(M,C.sourceId),F(_,C.targetId)),G=M3t(M.x,M.y,M.w,M.h,R),z=M3t(_.x,_.y,_.w,_.h,B),Q=Math.hypot(z.x-G.x,z.y-G.y),te=Math.min(180,Math.max(40,Q*.5)),ne=G.x+G.nx*te,Y=G.y+G.ny*te,oe=z.x+z.nx*te,Z=z.y+z.ny*te;if(Q>0){const re=(z.x-G.x)/Q,de=(z.y-G.y)/Q,U=G.nx*re+G.ny*de,se=-(z.nx*re+z.ny*de);U<0&&(S+=U*U),se<0&&(S+=se*se)}w.push({samples:zdn(G.x,G.y,ne,Y,oe,Z,z.x,z.y,m),sId:C.sourceId,tId:C.targetId})}let N=0;for(let C=0;C0&&Bn>0&&(S+=un*Bn)}}const P=T>0?S/T:0,I=Object.values(u).filter(Fe=>d[Fe.sourceId]&&d[Fe.targetId]).map(Fe=>{const Ue=d[Fe.sourceId],Vt=d[Fe.targetId];return Math.hypot(Ue.cx-Vt.cx,Ue.cy-Vt.cy)}).sort((Fe,Ue)=>Fe-Ue),C=I.length>0?I[Math.floor(I.length/2)]:0;let M=0;if(C>0)for(const Fe of I){const Ue=Fe/C;Ue>1.8&&(M+=(Ue-1.8)**2)}let _=0;for(const Fe of Object.values(d))_+=(Fe.w+Fe.h)/2;_=m.length>0?_/m.length:1;const F=I.length>0?I.reduce((Fe,Ue)=>Fe+Ue,0)/I.length:0,R=_>0?F/_:0,B=Math.max(0,R-3)**2,G=I.length>0?I[I.length-1]:0,z=_>0?G/_:0,Q=Math.max(0,z-5)**2,te={};for(const Fe of m)te[Fe]=0;for(const Fe of Object.values(u))te[Fe.sourceId]!==void 0&&te[Fe.sourceId]++,te[Fe.targetId]!==void 0&&te[Fe.targetId]++;let ne=0,Y=0;for(const Fe of m)ne+=d[Fe].cx,Y+=d[Fe].cy;ne/=Math.max(m.length,1),Y/=Math.max(m.length,1);let oe=0;for(const Fe of m){const Ue=d[Fe].cx-ne,Vt=d[Fe].cy-Y,Et=Math.hypot(Ue,Vt);Et>oe&&(oe=Et)}let Z=0;if(oe>0)for(const Fe of m){const Ue=te[Fe];if(Ue<1||Ue>2||(ze=s[Fe])!=null&&ze.parentId)continue;const Vt=d[Fe].cx-ne,Et=d[Fe].cy-Y,Bn=1-Math.hypot(Vt,Et)/oe;Z+=(Ue===1?1:.5)*Bn*Bn}let re=1/0,de=1/0,U=-1/0,se=-1/0;for(const Fe of Object.values(d))Fe.xU&&(U=Fe.x+Fe.w),Fe.y+Fe.h>se&&(se=Fe.y+Fe.h);const we=U-re,ve=se-de;let Ke=0;if(we>0&&ve>0){const Fe=Math.max(we/ve,ve/we);Ke=Math.max(0,Fe-Math.SQRT2)**3}let je=0;if(we>0&&ve>0&&N>0){const Fe=we*ve/N;je=Math.max(0,Fe-4)}const ae=Wdn(d,m);let ge=0;for(const Fe of Object.values(d))ge+=(Fe.w+Fe.h)/2;ge=m.length>0?ge/m.length:1;const _e=ge>0?ae/ge:0,Be=w.renderedCrossings*l8t+w.renderedOverdraws*a8t+w.stubLoopPenalty*$dn+P*vee+P*P*vee*5+M*Fdn+B*f8t+Q*h8t+Z*Bdn+Ke*d8t+je*Hdn+_e*Kdn;return{crossings:f.crossings,renderedCrossings:w.renderedCrossings,overdraws:f.overdraws,renderedOverdraws:w.renderedOverdraws,stubLoopPenalty:w.stubLoopPenalty,nodeOverlap:P,edgeLengthExcess:M,edgeLengthMean:B,edgeLengthMax:Q,leafCentrality:Z,aspectPenalty:Ke,compactness:je,symmetryDeficit:_e,composite:Be}}function Wdn(s,u){if(u.length<4)return 0;let f=0,d=0;for(const m of u)f+=s[m].cx,d+=s[m].cy;f/=u.length,d/=u.length;const g=m=>{let w=0,S=0;for(const N of u){const T=s[N],P=m?{x:2*f-T.cx,y:T.cy}:{x:T.cx,y:2*d-T.cy};let O=1/0;for(const I of u){if(I===N)continue;const C=s[I],M=Math.hypot(P.x-C.cx,P.y-C.cy);M0?w/S:0};return Math.min(g(!0),g(!1))}const g8t={"elk.spacing.nodeNode":"60","elk.layered.spacing.nodeNodeBetweenLayers":"80","elk.spacing.edgeNode":"20","elk.spacing.edgeEdge":"10","elk.layered.unnecessaryBendpoints":"true","elk.layered.compaction.postCompaction.strategy":"EDGE_LENGTH","elk.padding":"[top=40, right=30, bottom=30, left=30]","elk.separateConnectedComponents":"true","elk.spacing.componentComponent":"80","elk.layered.thoroughness":"50","elk.layered.crossingMinimization.strategy":"LAYER_SWEEP","elk.layered.crossingMinimization.greedySwitch.type":"TWO_SIDED"},Xdn={...g8t,"elk.spacing.nodeNode":"30","elk.layered.spacing.nodeNodeBetweenLayers":"50","elk.spacing.edgeNode":"12","elk.spacing.edgeEdge":"8","elk.padding":"[top=40, right=20, bottom=20, left=20]","elk.spacing.componentComponent":"40"};function jC(s,u,f,d="NETWORK_SIMPLEX"){return{...g8t,"elk.algorithm":"layered","elk.direction":s,"elk.layered.layering.strategy":d,"elk.layered.nodePlacement.strategy":u,"elk.layered.considerModelOrder.strategy":f?"NODES_AND_EDGES":"NONE","elk.aspectRatio":"1.4"}}function hx(s,u){return{...Xdn,"elk.algorithm":"layered","elk.direction":s,"elk.layered.nodePlacement.strategy":u,"elk.layered.considerModelOrder.strategy":"NONE"}}function Jdn(){return{"elk.algorithm":"stress","elk.stress.desiredEdgeLength":"180","elk.stress.epsilon":"0.0001","elk.stress.iterationLimit":"600","elk.spacing.nodeNode":"60","elk.padding":"[top=40, right=30, bottom=30, left=30]","elk.separateConnectedComponents":"true","elk.spacing.componentComponent":"80"}}function Ydn(){return{"elk.algorithm":"force","elk.force.iterations":"400","elk.force.repulsivePower":"0","elk.force.temperature":"0.001","elk.spacing.nodeNode":"70","elk.padding":"[top=40, right=30, bottom=30, left=30]","elk.separateConnectedComponents":"true","elk.spacing.componentComponent":"80"}}function Qdn(){return{"elk.algorithm":"mrtree","elk.spacing.nodeNode":"60","elk.padding":"[top=40, right=30, bottom=30, left=30]","elk.separateConnectedComponents":"true","elk.spacing.componentComponent":"80"}}function Zdn(s){if(!s)return 1;const u=Object.values(s.nodeTypes);if(u.length===0)return 0;const f=(g,m)=>{if(m.has(g))return 0;m.add(g);const w=s.nodeTypes[g];if(!w)return 0;const S=w.allowedParents??[];if(S.length===0)return 0;let N=0;for(const T of S){const P=f(T,m)+1;P>N&&(N=P)}return N};let d=0;for(const g of u){const m=f(g.id,new Set);m>d&&(d=m)}return d}function w8t(s,u){const f={},d=O=>{if(f[O])return f[O];const I=s[O];if(!I)return{x:0,y:0};if(!I.parentId)f[O]={x:I.x,y:I.y};else{const C=d(I.parentId);f[O]={x:C.x+I.x,y:C.y+I.y}}return f[O]},g={};for(const O of Object.values(s)){const I=d(O.id);g[O.id]={cx:I.x+O.width/2,cy:I.y+O.height/2}}const m=(O,I,C,M,_,F)=>(F-I)*(C-O)>(M-I)*(_-O),w=Object.values(u).filter(O=>g[O.sourceId]&&g[O.targetId]),S=new Set;for(let O=0;O{w.push(m);const S=u[m];if(S)for(const N of S)d(N,w)};for(const m of Object.keys(s)){const w=[];d(m,w),f[m]=w}return f}function t1n(s,u){const f=Object.keys(s),d=p8t(s),g=e1n(s);let m=0,w=0;for(const I of f){const C=s[I];m+=C.width*C.height,w+=(C.width+C.height)/2}const S=m/Math.max(f.length,1),N=f.length>0?w/f.length:1,T=[],P=[];for(const I of Object.values(u))s[I.sourceId]&&s[I.targetId]&&(T.push(I.sourceId),P.push(I.targetId));const O={};for(const I of f){const C=s[I];O[I]={x:0,y:0,w:C.width,h:C.height,cx:0,cy:0}}return{ids:f,edgesSrc:T,edgesTgt:P,edgeCount:T.length,ancestors:d,descendants:g,meanDim:N,meanArea:S,abs:O}}function T3t(s,u){const f=new Set,d=g=>{if(f.has(g))return;const m=s[g];if(!m){f.add(g);return}const w=u.abs[g];if(!w){f.add(g);return}if(!m.parentId)w.x=m.x,w.y=m.y;else{d(m.parentId);const S=u.abs[m.parentId];S?(w.x=S.x+m.x,w.y=S.y+m.y):(w.x=m.x,w.y=m.y)}w.cx=w.x+w.w/2,w.cy=w.y+w.h/2,f.add(g)};for(const g of u.ids)d(g)}function SC(s,u,f,d){const g=d.descendants[s];if(g)for(const m of g){const w=d.abs[m];w&&(w.x+=u,w.y+=f,w.cx+=u,w.cy+=f)}}function n1n(s,u,f,d,g,m,w,S){const N=(S-m)*(f-g)-(d-m)*(w-g)>0,T=(S-m)*(s-g)-(u-m)*(w-g)>0;if(N===T)return!1;const P=(d-u)*(g-s)-(m-u)*(f-s)>0,O=(d-u)*(w-s)-(S-u)*(f-s)>0;return P!==O}function i1n(s,u,f,d,g,m,w,S){const N=g+1,T=m+1,P=g+w-1,O=m+S-1;if(P<=N||O<=T)return!1;if(s>N&&sT&&uN&&fT&&dC)return!1;G>I&&(I=G)}else{if(Ght.x?ve.x:ht.x);if(xt<=0)continue;const ze=(aeht.y?ve.y:ht.y);ze<=0||(I+=xt*ze)}}const C=S>0?I/S:0;let M=0,_=0;for(let se=0;se_&&(_=ae)}const F=g>0?M/g:0,R=Math.sqrt(_),B=w>0?F/w:0,G=w>0?R/w:0,z=Math.max(0,B-3)**2,Q=Math.max(0,G-5)**2;let te=1/0,ne=1/0,Y=-1/0,oe=-1/0;for(let se=0;seY&&(Y=ve),Ke>oe&&(oe=Ke)}const Z=Y-te,re=oe-ne;let de=0;if(Z>0&&re>0){const se=Z>re?Z/re:re/Z;de=Math.max(0,se-Math.SQRT2)**3}const U=P===0?2:1;return P*l8t+O*a8t+C*vee+C*C*vee*5+z*f8t*U+Q*h8t*U+de*d8t*U}function r1n(){const s=globalThis.scheduler;return s!=null&&typeof s.yield=="function"?s.yield():new Promise(u=>setTimeout(u,0))}async function TZ(s,u,f,d,g=250,m={}){if(d.length<2){const Y=Q$(s,u);return{positions:f,before:Y.composite,after:Y.composite,iterations:0}}const w={};for(const[Y,oe]of Object.entries(s)){const Z=f[Y];w[Y]=Z?{...oe,x:Z.x,y:Z.y,width:Z.width??oe.width,height:Z.height??oe.height}:{...oe}}const S=m.energyFn,N=S?null:t1n(s,u),T=()=>S?S(w,u):(T3t(w,N),P4e(N)),P=()=>S?S(w,u):P4e(N),O=T();let I=O,C=O;const M={};for(const Y of d)M[Y]={x:w[Y].x,y:w[Y].y};const _=m.initialTempFactor??1,F=s1n(w,d),R=Math.max(F.w,F.h,200),B={};for(const Y of d)B[Y]={x:w[Y].x,y:w[Y].y};const G=()=>typeof performance<"u"?performance.now():Date.now(),z=4,Q=g/z;let te=0;for(let Y=0;Yde;){for(const we of d){const ve=w[we],Ke=ve.x,je=ve.y,ae=A3t()*re,ge=A3t()*re;ve.x+=ae,ve.y+=ge,N&&SC(we,ae,ge,N);const _e=P(),Be=_e-I;if(Be<0||Math.random()=2){const we=Math.floor(Math.random()*d.length);let ve=we,Ke=1/0;const je=w[d[we]];for(let Bn=0;Bn<3;Bn++){let vn=Math.floor(Math.random()*d.length);vn===we&&(vn=(vn+1)%d.length);const ft=w[d[vn]],zt=(ft.x-je.x)**2+(ft.y-je.y)**2;ztg&&(g=S.x+S.width),S.y+S.height>m&&(m=S.y+S.height))}return isFinite(f)?{w:g-f,h:m-d}:{w:0,h:0}}function A3t(){let s=0,u=0;for(;s===0;)s=Math.random();for(;u===0;)u=Math.random();return Math.sqrt(-2*Math.log(s))*Math.cos(2*Math.PI*u)}async function o1n(s,u,f,d){var O;const g={};for(const I of Object.values(s))I.parentId&&(g[O=I.parentId]??(g[O]=[])).push(I.id);const m=Object.values(g).filter(I=>I.length>=2);if(m.length===0)return{positions:f,before:0,after:0,iterations:0};const w=Math.max(60,d/m.length);let S=f,N=0,T=0,P=0;for(let I=0;I{let T=0,P=s[N];for(;P!=null&&P.parentId;)T++,P=s[P.parentId];return T};d.sort((N,T)=>g(T)-g(N));const m={...u},w=N=>{const T=m[N],P=s[N];return{x:(T==null?void 0:T.x)??P.x,y:(T==null?void 0:T.y)??P.y,w:(T==null?void 0:T.width)??P.width,h:(T==null?void 0:T.height)??P.height}};for(const N of d){const T=f[N];let P=1/0,O=1/0,I=-1/0,C=-1/0;for(const G of T){const z=w(G);z.xI&&(I=z.x+z.w),z.y+z.h>C&&(C=z.y+z.h)}if(!isFinite(P))continue;const M=P3t-P,_=_3t-O;for(const G of T){const z=w(G);m[G]={x:z.x+M,y:z.y+_,width:z.w,height:z.h}}const F=I-P+2*P3t,R=C-O+_3t+c1n,B=w(N);m[N]={x:B.x,y:B.y,width:F,height:R}}return m}function b8t(s,u){const f={};for(const[d,g]of Object.entries(s)){const m=u[d];f[d]=m?{...g,x:m.x,y:m.y,width:m.width??g.width,height:m.height??g.height}:{...g}}return f}async function sy(s,u,f,d){try{const g=await d;if(Object.keys(g).length===0)return null;const m=b8t(u,g),w=MZ(m,f);if(Object.keys(w).length>0)for(const[T,P]of Object.entries(w)){const O=m[T];O&&(O.x=P.x,O.y=P.y);const I=g[T];I&&(g[T]={...I,x:P.x,y:P.y})}const S=ste(m,f),N=Q$(m,f);return{name:s,positions:g,metrics:S,score:N}}catch(g){return console.warn(`[smartLayout] candidate ${s} failed:`,g),null}}async function m8t(s,u,f){const{applyElkLayout:d}=await Odn(async()=>{const{applyElkLayout:P}=await Promise.resolve().then(()=>hhn);return{applyElkLayout:P}},void 0,import.meta.url),g=ste(s,u),w=Zdn(f)>=2?"RIGHT":"DOWN",N=(await Promise.all([sy("Layered TB · Brandes-Köpf · model-order",s,u,d(s,u,{rootOptions:jC("DOWN","BRANDES_KOEPF",!0),childOptions:hx("RIGHT","BRANDES_KOEPF")})),sy("Layered LR · Brandes-Köpf · model-order",s,u,d(s,u,{rootOptions:jC("RIGHT","BRANDES_KOEPF",!0),childOptions:hx("DOWN","BRANDES_KOEPF")})),sy("Layered TB · NetworkSimplex",s,u,d(s,u,{rootOptions:jC("DOWN","NETWORK_SIMPLEX",!1),childOptions:hx("RIGHT","NETWORK_SIMPLEX")})),sy("Layered TB · Longest-Path · Brandes-Köpf",s,u,d(s,u,{rootOptions:jC("DOWN","BRANDES_KOEPF",!0,"LONGEST_PATH"),childOptions:hx("RIGHT","BRANDES_KOEPF")})),sy("Layered TB · MinWidth · Brandes-Köpf",s,u,d(s,u,{rootOptions:jC("DOWN","BRANDES_KOEPF",!0,"MIN_WIDTH"),childOptions:hx("RIGHT","BRANDES_KOEPF")})),sy(`Metamodel-aware (root ${w}, Brandes-Köpf)`,s,u,d(s,u,{rootOptions:jC(w,"BRANDES_KOEPF",!0),childOptions:hx(w==="DOWN"?"RIGHT":"DOWN","BRANDES_KOEPF")})),sy("Stress majorisation (Gansner)",s,u,d(s,u,{rootOptions:Jdn(),childOptions:hx("RIGHT","BRANDES_KOEPF")})),sy("Force-directed (Eades)",s,u,d(s,u,{rootOptions:Ydn(),childOptions:hx("RIGHT","BRANDES_KOEPF")})),sy("Mr.Tree (Reingold-Tilford)",s,u,d(s,u,{rootOptions:Qdn(),childOptions:hx("RIGHT","BRANDES_KOEPF")})),sy("Radical (semantic C4)",s,u,n8t(s,u))])).filter(P=>P!==null);if(N.length===0){const P=Q$(s,u);return{done:!0,result:{baseline:g,winner:{name:"baseline",metrics:g,score:P,positions:{}},candidates:[],planarity:w8t(s,u),refinement:{before:P.composite,after:P.composite,iterations:0}}}}N.sort((P,O)=>P.score.composite-O.score.composite);const T=Object.values(s).filter(P=>!P.parentId).map(P=>P.id);return{done:!1,valid:N,rootIds:T,baseline:g}}async function u1n(s,u,f){const d=await m8t(s,u,f);return d.done?d.result:l1n(s,u,d.valid,d.rootIds,d.baseline)}async function l1n(s,u,f,d,g){const m=Math.min(2,f.length),w=400;let S=await TZ(s,u,f[0].positions,d,w),N=f[0];for(let z=1;zQ$(z,Q).composite,initialTempFactor:.4}),M={positions:_4e(s,I.positions),before:S.before,after:I.after,iterations:S.iterations+P.iterations+I.iterations},_=b8t(s,M.positions),F=ste(_,u),R=Q$(_,u),B={name:N.name,positions:M.positions,metrics:F,score:R},G=w8t(_,u);return{baseline:g,winner:B,candidates:f,planarity:G,refinement:{before:M.before,after:M.after,iterations:M.iterations}}}function a1n(s){return new Worker(""+new URL("smartLayout.worker-CkTs5eLZ.js",import.meta.url).href,{name:s==null?void 0:s.name})}async function f1n(s,u,f){if(typeof Worker>"u")return u1n(s,u,f);const d=await m8t(s,u,f);if(d.done)return d.result;const{valid:g,rootIds:m,baseline:w}=d;return new Promise((S,N)=>{const T=new a1n;T.onmessage=P=>{T.terminate(),P.data.type==="result"?S(P.data.result):N(new Error(P.data.message))},T.onerror=P=>{T.terminate(),N(new Error(P.message??"smartLayout worker error"))},T.postMessage({nodes:s,relations:u,valid:g,rootIds:m,baseline:w})})}function h1n(s){const u={};function f(d,g,m,w,S){s[d]&&(u[d]={x:g,y:m,...w!=null?{width:w}:{},...S!=null?{height:S}:{}})}return f("usr1",105,0),f("usr3",365,0),f("usr2",620,0),f("sys1",0,180,1080,520),f("ctn1",20,70,240,450),f("ctn2",280,70,240,450),f("ctn3",540,70,240,450),f("ctn4",800,70,240,310),f("cmp1",20,70),f("cmp2",20,190),f("cmp3",20,310),f("cmp4",20,70),f("cmp5",20,190),f("cmp6",20,310),f("cmp7",20,70),f("cmp8",20,190),f("cmp9",20,310),f("cmp10",20,70),f("cmp11",20,190),f("ext4",1140,220,240,100),f("ext1",1140,360,240,100),f("ext2",1140,500,240,100),f("ext3",1140,640,240,100),f("sys2",200,760,560,400),f("ctn5",20,70,240,310),f("ctn6",280,70,240,310),f("cmp12",20,70),f("cmp13",20,190),f("cmp14",20,70),f("cmp15",20,190),u}function d1n(s){return Jh(s.type)&&s.collapsed?G0[s.type]:s.width??Lr[s.type].width}function p1n(s){return Jh(s.type)&&s.collapsed?U0[s.type]:s.height??Lr[s.type].height}function v8t(s,u){if(!s.parentId)return!0;const f=u[s.parentId];return f?f.collapsed?!1:v8t(f,u):!0}function g1n(s,u){let f=s.x,d=s.y,g=s;for(;g.parentId;){const m=u[g.parentId];if(!m)break;f+=m.x,d+=m.y,g=m}return{x:f,y:d}}class w1n{constructor(u){this.cola=null,this.colaNodes=[],this.colaGroups=[],this.idToNode=new Map,this.idToGroup=new Map,this._running=!1,this._bulkDone=!1,this._grabbedId=null,this.allNodes={},this.seedPositions=new Map,this._dragStartPositions=new Map,this.callbacks=u}seedPosition(u,f,d){this.seedPositions.set(u,{x:f,y:d})}start(u=!1){this._running||(this._running=!0,this._bulkDone&&this.cola||(this.rebuild(!u),this._bulkDone=!0))}stop(){if(this._running=!1,this.cola)try{this.cola.stop()}catch{}this._grabbedId=null}get running(){return this._running}invalidate(){this._running&&this.rebuild(!1)}reset(){this.colaNodes=[],this.idToNode.clear(),this.colaGroups=[],this.idToGroup.clear(),this._running&&this.rebuild(!1)}groupLeaves(u){const f=this.idToGroup.get(u);if(!f)return[];const d=[];if(f.leaves)for(const g of f.leaves){const m=typeof g=="number"?this.colaNodes[g]:g;m&&d.push(m)}if(f.groups)for(const g of f.groups){const m=typeof g=="number"?this.colaGroups[g]:g;if(m){const w=m.c4id;w&&d.push(...this.groupLeaves(w))}}return d}grab(u,f,d){var m;this._grabbedId=u;const g=this.idToNode.get(u);if(g)wx.Layout.dragStart(g);else{const w=this.groupLeaves(u);this._dragStartPositions.clear();for(const S of w)this._dragStartPositions.set(S.c4id,{x:S.x,y:S.y}),wx.Layout.dragStart(S)}(m=this.cola)==null||m.resume()}drag(u,f,d){var m;const g=this.idToNode.get(u);if(g){const w=this.rfToAbsCenter(u,f,d,g.width,g.height);wx.Layout.drag(g,w)}else{const w=this.idToGroup.get(u);if(w){const S=w.bounds;if(S&&this._dragStartPositions.size>0){const N=this.groupLeaves(u)[0];if(N&&this._dragStartPositions.get(N.c4id)){const P=this.allNodes[u];let O=f,I=d;if(P!=null&&P.parentId){const _=this.idToGroup.get(P.parentId);if(_){const F=_.bounds;F&&(O+=F.x,I+=F.y)}}const C=O-(S.x??0),M=I-(S.y??0);for(const _ of this.groupLeaves(u)){const F=this._dragStartPositions.get(_.c4id);F&&wx.Layout.drag(_,{x:F.x+C,y:F.y+M})}}}}}(m=this.cola)==null||m.resume()}release(u){this._grabbedId=null;const f=this.idToNode.get(u);if(f)wx.Layout.dragEnd(f);else{for(const d of this.groupLeaves(u))wx.Layout.dragEnd(d);this._dragStartPositions.clear()}}rfToAbsCenter(u,f,d,g,m){let w=f,S=d;const N=this.allNodes[u];if(N!=null&&N.parentId){const T=this.idToGroup.get(N.parentId);if(T){const P=T.bounds;P&&(w+=P.x,S+=P.y)}}return{x:w+g/2,y:S+m/2}}rebuild(u=!1){this.cola&&this.cola.stop();const{nodes:f,relations:d}=this.callbacks.getModel();this.allNodes=f;const g=Object.values(f).filter(Z=>v8t(Z,f));if(g.length===0){this.cola=null;return}const m=new Set;for(const Z of g)Z.parentId&&f[Z.parentId]&&!f[Z.parentId].collapsed&&m.add(Z.parentId);const w=new Map;for(const Z of this.colaNodes)w.set(Z.c4id,{x:Z.x,y:Z.y});this.colaNodes=[],this.idToNode.clear(),this.colaGroups=[],this.idToGroup.clear();const S=g.filter(Z=>!m.has(Z.id)),N=new Map;for(const Z of Object.values(d))N.has(Z.sourceId)||N.set(Z.sourceId,[]),N.has(Z.targetId)||N.set(Z.targetId,[]),N.get(Z.sourceId).push(Z.targetId),N.get(Z.targetId).push(Z.sourceId);for(const Z of S){const re=d1n(Z),de=p1n(Z),U=w.get(Z.id),se=this.seedPositions.get(Z.id);let we,ve;if(U)we=U.x,ve=U.y;else if(se)we=se.x,ve=se.y,this.seedPositions.delete(Z.id);else{const ae=N.get(Z.id)??[];let ge=0,_e=0,Be=0;for(const ht of ae){const xt=w.get(ht);xt&&(ge+=xt.x,_e+=xt.y,Be++)}if(Be>0)we=ge/Be+(Math.random()-.5)*40,ve=_e/Be+(Math.random()-.5)*40;else{const ht=g1n(Z,f);we=ht.x+re/2,ve=ht.y+de/2}}const Ke=80,je={c4id:Z.id,x:we,y:ve,width:re+Ke,height:de+Ke,realWidth:re,realHeight:de};this.colaNodes.push(je),this.idToNode.set(Z.id,je)}const T=[];for(const Z of Object.values(d)){const re=this.findLeaf(Z.sourceId,g),de=this.findLeaf(Z.targetId,g);re&&de&&re!==de&&T.push({source:re,target:de})}const P=new Map;this.colaNodes.forEach((Z,re)=>P.set(Z.c4id,re));for(const Z of g){if(!m.has(Z.id)||Z.type!=="container")continue;const re=S.filter(de=>de.parentId===Z.id).map(de=>P.get(de.id)).filter(de=>de!==void 0);if(re.length>0){const se={c4id:Z.id,leaves:re,padding:80,visualShrink:64};this.colaGroups.push(se),this.idToGroup.set(Z.id,se)}}const O=new Map;this.colaGroups.forEach((Z,re)=>O.set(Z.c4id,re));const I=new Map,C=new Map(g.map(Z=>[Z.id,Z])),M=Z=>{const re=I.get(Z);if(re!==void 0)return re;const de=C.get(Z),U=de!=null&&de.parentId?M(de.parentId)+1:0;return I.set(Z,U),U},_=g.filter(Z=>m.has(Z.id)&&(Z.type==="system"||Z.type==="domain"||Z.type==="group")).sort((Z,re)=>M(re.id)-M(Z.id));for(const Z of _){const re=[],de=[];for(const U of g.filter(se=>se.parentId===Z.id)){const se=O.get(U.id);if(se!==void 0)de.push(se);else{const we=P.get(U.id);we!==void 0&&re.push(we)}}if(re.length+de.length>0){const U=M(Z.id),se=Math.max(60,100-U*12),we=Math.max(12,20-U*2),ve={c4id:Z.id,leaves:re.length>0?re:void 0,groups:de.length>0?de:void 0,padding:se,visualShrink:se-we};this.colaGroups.push(ve),O.set(Z.id,this.colaGroups.length-1),this.idToGroup.set(Z.id,ve)}}const F={dispatch:rF,timer:_6e,drag:o5t,event:null},R=wx.d3adaptor(F);R.nodes(this.colaNodes).links(T).groups(this.colaGroups).size([1800,1200]).avoidOverlaps(!0).handleDisconnected(!1).linkDistance(Z=>{const re=Z.source,de=Z.target,U=this.allNodes[re.c4id],se=this.allNodes[de.c4id],we=Math.max((re.width+de.width)/2,(re.height+de.height)/2);if(U&&se){if(U.parentId&&U.parentId===se.parentId)return we+40;const ve=U.type==="person"||se.type==="person",Ke=!!U.external,je=!!se.external;if(Ke!==je&&!ve)return we+160;if(ve)return we+120}return we+100});const B=80,G=100,z=[],Q=[],te=[];this.colaNodes.forEach((Z,re)=>{const de=this.allNodes[Z.c4id];!de||de.parentId||(de.type==="person"?z.push(re):de.external?te.push(re):Q.push(re))});const ne=[],Y=Z=>this.colaNodes[Z].height/2,oe=Z=>this.colaNodes[Z].width/2;for(const Z of z)for(const re of[...Q,...te])ne.push({type:"separation",axis:"y",left:Z,right:re,gap:Y(Z)+Y(re)+B});for(const Z of Q)for(const re of te)ne.push({type:"separation",axis:"x",left:Z,right:re,gap:oe(Z)+oe(re)+G});ne.length>0&&R.constraints(ne),R.on("tick",()=>{this._running&&this.emitPositions()});try{u?R.start(30,30,50,0,!0,!0):R.start(0,0,0,0,!0,!1)}catch(Z){console.error("[cola] start() failed:",Z)}if(this.cola=R,this._grabbedId){const Z=this.idToNode.get(this._grabbedId);Z&&(Z.fixed=(Z.fixed??0)|2)}}findLeaf(u,f){const d=this.idToNode.get(u);if(d)return d;let g=this.allNodes[u];for(;g!=null&&g.parentId;){const m=this.allNodes[g.parentId];if(!m)break;const w=this.idToNode.get(m.id);if(w)return w;g=m}}emitPositions(){const u={},f=new Set;if(this._grabbedId&&(f.add(this._grabbedId),this.idToGroup.get(this._grabbedId))){const m=w=>{const S=this.idToGroup.get(w);if(S){if(S.leaves)for(const N of S.leaves){const T=typeof N=="number"?this.colaNodes[N]:N;T!=null&&T.c4id&&f.add(T.c4id)}if(S.groups)for(const N of S.groups){const T=typeof N=="number"?this.colaGroups[N]:N,P=T==null?void 0:T.c4id;P&&(f.add(P),m(P))}}};m(this._grabbedId)}for(const g of this.colaNodes)f.has(g.c4id)||(u[g.c4id]={x:g.x-g.realWidth/2,y:g.y-g.realHeight/2});for(const g of this.colaGroups){if(f.has(g.c4id))continue;const m=g.bounds;if(m){const w=g.visualShrink??0;u[g.c4id]={x:m.x+w,y:m.y+w,width:m.X-m.x-2*w,height:m.Y-m.y-2*w}}}const d={};for(const[g,m]of Object.entries(u)){const w=this.allNodes[g];if(w!=null&&w.parentId&&u[w.parentId]){const S=u[w.parentId];d[g]={x:m.x-S.x,y:m.y-S.y,width:m.width,height:m.height}}else d[g]=m}this.callbacks.applyPositions(d)}}const y8t="radical-docs-index",b1n="radical-doc:",O3t="radical-diagram-v1";function AZ(){return crypto.randomUUID()}function _1(){if(typeof localStorage>"u")return{docs:[],activeId:null};try{const s=localStorage.getItem(y8t);if(!s)return{docs:[],activeId:null};const u=JSON.parse(s);return!u||!Array.isArray(u.docs)?{docs:[],activeId:null}:u}catch{return{docs:[],activeId:null}}}function ob(s){if(!(typeof localStorage>"u"))try{localStorage.setItem(y8t,JSON.stringify(s))}catch(u){console.warn("[documentStore] writeIndex failed:",u)}}function s8e(s){return b1n+s}function m1n(s){if(typeof localStorage>"u")return null;try{const u=localStorage.getItem(s8e(s));if(!u)return null;const f=JSON.parse(u);return!f||!Array.isArray(f.nodes)||!Array.isArray(f.relations)?null:f}catch(u){return console.warn("[documentStore] readLSPayload failed:",u),null}}function PZ(s,u){if(!(typeof localStorage>"u"))try{localStorage.setItem(s8e(s),JSON.stringify(u))}catch(f){console.warn("[documentStore] writeLSPayload failed:",f)}}function L3t(s){if(!(typeof localStorage>"u"))try{localStorage.removeItem(s8e(s))}catch{}}function iZ(s){const u=s.split(/[\\/]/).pop()??s;return u.replace(/\.c4\.json$/i,"").replace(/\.json$/i,"")||u}function v1n(){return typeof document>"u"?Promise.resolve(null):new Promise(s=>{const u=document.createElement("input");u.type="file",u.accept=".json,application/json",u.style.display="none";let f=!1;const d=m=>{if(!f){f=!0;try{document.body.removeChild(u)}catch{}s(m)}};u.addEventListener("change",()=>{var S;const m=(S=u.files)==null?void 0:S[0];if(!m){d(null);return}const w=new FileReader;w.onload=()=>d({name:m.name,content:String(w.result??"")}),w.onerror=()=>d(null),w.readAsText(m)});const g=()=>{window.removeEventListener("focus",g),setTimeout(()=>{(!u.files||u.files.length===0)&&d(null)},300)};window.addEventListener("focus",g),document.body.appendChild(u),u.click()})}function y1n(s,u){if(typeof document>"u"||typeof URL>"u"||typeof Blob>"u")return Promise.resolve(null);try{const f=new Blob([u],{type:"application/json"}),d=URL.createObjectURL(f),g=document.createElement("a");return g.href=d,g.download=s,g.style.display="none",document.body.appendChild(g),g.click(),setTimeout(()=>{try{document.body.removeChild(g)}catch{}URL.revokeObjectURL(d)},1e3),Promise.resolve(s)}catch(f){return console.warn("[documentStore] saveAsFile web download failed:",f),Promise.resolve(null)}}function x1n(s){if(typeof localStorage>"u"||s.docs.length>0)return s;let u=null;try{u=localStorage.getItem(O3t)}catch{return s}if(!u)return s;try{const f=JSON.parse(u);if(!f||!Array.isArray(f.nodes))return s;const d=AZ(),g={id:d,name:"Imported (legacy)",source:"ls",lastModified:Date.now()};PZ(d,f);const m={docs:[g],activeId:d};ob(m);try{localStorage.removeItem(O3t)}catch{}return console.debug("[documentStore] migrated legacy single-slot diagram into doc",d),m}catch{return s}}const zo={listDocuments(){return _1().docs.slice().sort((s,u)=>u.lastModified-s.lastModified)},getActiveId(){return _1().activeId},setActiveId(s){const u=_1();u.activeId=s,ob(u),ev()},createLSDocument(s,u){const f=_1(),d={id:AZ(),name:s.trim()||"Untitled",source:"ls",lastModified:Date.now()};return u&&PZ(d.id,u),f.docs.push(d),f.activeId=d.id,ob(f),ev(),d},createFSDocument(s){const u=_1(),f=u.docs.find(g=>g.source==="fs"&&g.filePath===s);if(f)return f;const d={id:AZ(),name:iZ(s),source:"fs",filePath:s,lastModified:Date.now()};return u.docs.push(d),u.activeId=d.id,ob(u),ev(),d},async loadDocument(s){var f;const u=_1().docs.find(d=>d.id===s);if(!u)return null;if(u.source==="ls")return m1n(s);if(u.source==="fs"&&u.filePath&&((f=window.electronAPI)!=null&&f.readFile)){const d=await window.electronAPI.readFile(u.filePath);if(!d.success||!d.content)return null;try{return JSON.parse(d.content)}catch{return null}}return null},async saveDocument(s,u){var g;const f=_1(),d=f.docs.find(m=>m.id===s);if(d){if(d.source==="ls")PZ(s,u);else if(d.source==="fs"&&d.filePath&&((g=window.electronAPI)!=null&&g.writeFile)){const m=JSON.stringify(u,null,2),w=await window.electronAPI.writeFile(d.filePath,m);if(!w.success){console.warn("[documentStore] FS write failed for",d.filePath,w.error);return}}else return;d.lastModified=Date.now(),ob(f),ev()}},renameDocument(s,u){const f=_1(),d=f.docs.find(g=>g.id===s);d&&(d.name=u.trim()||d.name,ob(f),ev())},deleteDocument(s,u){var g;const f=_1(),d=f.docs.length;f.docs=f.docs.filter(m=>m.id!==s),f.docs.length!==d&&((u==null?void 0:u.wipePayload)!==!1&&L3t(s),f.activeId===s&&(f.activeId=((g=f.docs[0])==null?void 0:g.id)??null),ob(f),ev())},async importFromFile(s){var m;if(typeof window<"u"&&((m=window.electronAPI)!=null&&m.openDiagram)){const w=await window.electronAPI.openDiagram();if(!w.success||!w.filePath)return null;const S=_1(),N=S.docs.find(P=>P.source==="fs"&&P.filePath===w.filePath);if(N)return N.lastModified=Date.now(),S.activeId=N.id,ob(S),ev(),N;const T={id:AZ(),name:iZ(w.filePath),source:"fs",filePath:w.filePath,lastModified:Date.now()};return S.docs.push(T),S.activeId=T.id,ob(S),ev(),T}const f=await(s??v1n)();if(!f)return null;let d=null;try{d=JSON.parse(f.content)}catch(w){return console.warn("[documentStore] importFromFile: invalid JSON",w),null}if(!d||!Array.isArray(d.nodes)||!Array.isArray(d.relations))return console.warn("[documentStore] importFromFile: not a DiagramData payload"),null;const g=f.name.replace(/\.c4\.json$/i,"").replace(/\.json$/i,"")||f.name;return this.createLSDocument(g,d)},async saveAsFile(s,u,f){var T;const d=JSON.stringify(u,null,2);if(typeof window<"u"&&((T=window.electronAPI)!=null&&T.saveDiagram)){const P=await window.electronAPI.saveDiagram(d);if(!P.success||!P.filePath)return null;const O=_1(),I=O.docs.find(C=>C.id===s);return I?(I.source==="ls"&&L3t(s),I.source="fs",I.filePath=P.filePath,I.name=iZ(P.filePath),I.lastModified=Date.now(),ob(O),ev(),I):null}const g=_1(),m=g.docs.find(P=>P.id===s);if(!m)return null;const w=(m.name||"model").replace(/[\\/]/g,"_")+".c4.json",N=await(f??y1n)(w,d);return N?(PZ(s,u),m.name=iZ(N),m.lastModified=Date.now(),ob(g),ev(),m):null},ensureActive(s){let u=x1n(_1());if(u.docs.length===0){const d=s();return{meta:this.createLSDocument("Untitled",d),seeded:!0}}return(!u.activeId||!u.docs.some(d=>d.id===u.activeId))&&(u.activeId=u.docs[0].id,ob(u),ev()),{meta:u.docs.find(d=>d.id===u.activeId),seeded:!1}}},Tx=G6e(()=>{const s=_1();return{docs:s.docs,activeId:s.activeId,rev:0}});function ev(){const s=_1();Tx.setState(u=>({docs:s.docs,activeId:s.activeId,rev:u.rev+1}))}function tv(){return crypto.randomUUID()}const k1n=100,cb=[],oy=[];function j5e(s){return{c4Nodes:JSON.parse(JSON.stringify(s.c4Nodes)),c4Relations:JSON.parse(JSON.stringify(s.c4Relations)),views:JSON.parse(JSON.stringify(s.views))}}function O4e(s){cb.push(j5e(s)),cb.length>k1n&&cb.shift(),oy.length=0}function f9(s){const u={};for(const[f,d]of Object.entries(s))u[f]={x:d.x,y:d.y,width:d.width,height:d.height};return u}function D3t(s,u){for(const[f,d]of Object.entries(u)){const g=s[f];g&&(g.x=d.x,g.y=d.y,g.width=d.width,g.height=d.height)}}function R3t(s){const u={};for(const[f,d]of Object.entries(s))u[f]={x:d.x,y:d.y,width:d.width,height:d.height,collapsed:d.collapsed};return{nodes:u}}function e$(s,u){let f=s?[...s]:[];return f.length===0&&(f=[{id:crypto.randomUUID(),name:"Main",slides:u??[]}]),{presentations:f,activeId:f[0].id}}function L4e(s,u,f,d){const g={};for(const m of Object.keys(u))if(!s[m])g[m]="new";else{const w=s[m],S=u[m];(w.label!==S.label||w.description!==S.description||w.technology!==S.technology||w.type!==S.type||w.parentId!==S.parentId||w.external!==S.external)&&(g[m]="changed")}for(const m of Object.keys(s))u[m]||(g[m]="removed");for(const m of Object.keys(d))if(!f[m])g[m]="new";else{const w=f[m],S=d[m];(w.sourceId!==S.sourceId||w.targetId!==S.targetId||w.label!==S.label||w.technology!==S.technology)&&(g[m]="changed")}for(const m of Object.keys(f))d[m]||(g[m]="removed");return g}function $3t(s,u){var w,S;const f={},d=s??{},g=u??{},m=new Set([...Object.keys(d),...Object.keys(g)]);for(const N of m){const T=d[N],P=g[N],O=new Set((T==null?void 0:T.relationIds)??[]),I=new Set((P==null?void 0:P.relationIds)??[]);for(const C of I)O.has(C)||(f[C]="new");for(const C of O)!I.has(C)&&!f[C]&&(f[C]="removed");if(T&&P){const C=Math.min(T.relationIds.length,P.relationIds.length);for(let M=0;MS.parentId===g)&&f.add(g)}return f}function bM(s,u,f){return f!=null&&f.has(s.id)?!1:s.collapsed||((u==null?void 0:u.has(s.id))??!1)}function j1n(s,u,f){var d,g;return u?s.collapsed&&!(((d=f==null?void 0:f.expandedNodeIds)==null?void 0:d.includes(s.id))??!1)||(((g=f==null?void 0:f.collapsedNodeIds)==null?void 0:g.includes(s.id))??!1):s.collapsed}function K0(s,u,f,d){if(!f)return{nodes:s,relations:u};const g={};for(const[w,S]of Object.entries(s))f.has(w)&&(g[w]=d!=null&&d.has(w)?{...S,collapsed:!0}:S);const m={};for(const[w,S]of Object.entries(u))f.has(S.sourceId)&&f.has(S.targetId)&&(m[w]=S);return{nodes:g,relations:m}}function NM(s,u,f,d){const g=u[s];if(!g||!g.parentId)return!1;const m=u[g.parentId];return m?bM(m,f,d)?!0:NM(g.parentId,u,f,d):!1}function S5e(s,u,f,d){if(!NM(s,u,f,d))return s;const g=u[s];return!g||!g.parentId?s:S5e(g.parentId,u,f,d)}function yee(s,u,f,d,g){if(!f)return S5e(s,u,d,g);let m=s;for(;m;){if(f.has(m)&&!NM(m,u,d,g))return m;const w=u[m];if(!(w!=null&&w.parentId))break;m=w.parentId}return S5e(s,u,d,g)}function B3t(s,u,f){var g,m;let d=(g=f[u])==null?void 0:g.parentId;for(;d;){if(d===s)return!0;d=(m=f[d])==null?void 0:m.parentId}return!1}function D4e(s,u){const f=[];function d(g){for(const m of Object.values(u))m.parentId===g&&(f.push(m.id),d(m.id))}return d(s),f}function x8t(s,u,f){return Jh(s.type)&&bM(s,u,f)?U0[s.type]:s.height}function k8t(s,u,f){return Jh(s.type)&&bM(s,u,f)?G0[s.type]:s.width}const rZ=10;function h9(s,u){const f=u[s];if(!f)return{};const d=Object.values(u).filter(S=>S.parentId===f.parentId&&!NM(S.id,u));if(d.length<2)return{};const g={};for(const S of d)g[S.id]={x:S.x,y:S.y,w:k8t(S),h:x8t(S)};const m=!!f.parentId;for(let S=0;S<20;S++){let N=!1;for(let T=0;T0&&F>0){N=!0;const R=O.id===s,B=I.id===s;if(_<=F){const G=C.xN.id!==s);S.sort((N,T)=>g[N.id].x-g[T.id].x);for(let N=0;N0){const P=g[S[N-1].id];if(Math.min(P.y+P.h,T.y+T.h)-Math.max(P.y,T.y)>0){const I=P.x+P.w+rZ;T.xg[N.id].y-g[T.id].y);for(let N=0;N0){const P=g[S[N-1].id];if(Math.min(P.x+P.w,T.x+T.w)-Math.max(P.x,T.x)>0){const I=P.y+P.h+rZ;T.y{const M=S.get(C);if(M!==void 0)return M;const _=s[C],F=_!=null&&_.parentId?N(_.parentId)+1:0;return S.set(C,F),F},T=C=>C==="domain"||C==="group"||C==="system"?0:C==="container"||C==="database"||C==="webapp"||C==="queue"?1:C==="component"?2:3,P=Object.values(s).filter(C=>!u||u.has(C.id)).sort((C,M)=>{const _=N(C.id),F=N(M.id);return _!==F?_-F:T(C.type)-T(M.type)}),O=new Set(Object.values(s).map(C=>C.parentId).filter(Boolean)),I=110;for(const C of P){const M=NM(C.id,s,f,m),_=O.has(C.id),F=bM(C,f,m),R=(d==null?void 0:d.has(C.id))??!1,B=C.type==="adr"||C.type==="fitness-fn"||C.type==="requirement",G=B?Lr[C.type].height:Jh(C.type)&&(F||!_)?U0[C.type]:C.height,z=B?Lr[C.type].width:Jh(C.type)&&(F||!_)?G0[C.type]:C.width;let Q=C.y;if(C.parentId){const te=s[C.parentId];te&&Jh(te.type)&&!bM(te,f,m)&&O.has(te.id)&&Q{const O=N.get(P);if(O!==void 0)return O;const I=s[P],C=I!=null&&I.parentId?T(I.parentId)+1:0;return N.set(P,C),C};for(const P of Object.values(u)){if(!s[P.sourceId]||!s[P.targetId]||g&&g.has(P.id))continue;const O=yee(P.sourceId,s,f,d,m),I=yee(P.targetId,s,f,d,m);if(O===I||f&&(!f.has(O)||!f.has(I))||(O!==P.sourceId||I!==P.targetId)&&(B3t(O,I,s)||B3t(I,O,s)))continue;const C=`${O}→${I}`,M=O!==P.sourceId||I!==P.targetId;if(S.has(C)){const B=w.find(G=>G.source===O&&G.target===I);B&&P.label&&(B.label=B.label?`${B.label} -${P.label}`:P.label);continue}S.add(C);const _=T(O),F=T(I),R=Math.max(_,F)*10+5;w.push({id:M?`virtual-${C}`:P.id,source:O,target:I,type:"c4relation",animated:!1,zIndex:R,markerEnd:{type:V$.ArrowClosed,color:"#94a3b8"},style:{stroke:"#94a3b8",strokeWidth:1.5},label:P.label,data:{originalSourceId:P.sourceId,originalTargetId:P.targetId,label:P.label,technology:P.technology,relationType:P.relationType,isVirtual:M}})}return w}function R4e(){const s=(T,P)=>{T[P.id]=P},u=(T,P)=>{T[P.id]=P},f={},d={};s(f,{id:"sys1",type:"system",label:"Platform",description:"Main system",collapsed:!1,x:200,y:100,width:700,height:400}),s(f,{id:"ctn1",type:"container",label:"Frontend",technology:"React",description:"Web UI",parentId:"sys1",collapsed:!1,x:40,y:70,...Lr.container}),s(f,{id:"ctn2",type:"container",label:"API",technology:"Node.js",description:"REST API",parentId:"sys1",collapsed:!1,x:360,y:70,...Lr.container}),s(f,{id:"usr1",type:"person",label:"End User",description:"Uses web app",collapsed:!1,x:-100,y:180,...Lr.person}),u(d,{id:"r01",sourceId:"ctn1",targetId:"ctn2",label:"Calls",technology:"HTTPS"}),u(d,{id:"r00",sourceId:"usr1",targetId:"ctn1",label:"Uses",technology:"Browser"});const g=JSON.parse(JSON.stringify(f)),m=JSON.parse(JSON.stringify(d));g.sys1={...g.sys1,width:900,height:400},s(g,{id:"ctn3",type:"container",label:"Database",technology:"Postgres",description:"Data storage",parentId:"sys1",collapsed:!1,x:580,y:70,...Lr.container}),u(m,{id:"r02",sourceId:"ctn2",targetId:"ctn3",label:"Reads/writes",technology:"SQL"});const w=JSON.parse(JSON.stringify(g)),S=JSON.parse(JSON.stringify(m));w.ctn2={...w.ctn2,label:"Backend",description:"GraphQL API",technology:"Node.js / GraphQL"},w.sys1={...w.sys1,width:1100,height:500},s(w,{id:"ctn4",type:"container",label:"Cache",technology:"Redis",description:"Session cache",parentId:"sys1",collapsed:!1,x:580,y:260,...Lr.container}),s(w,{id:"ctn5",type:"container",label:"Auth Service",technology:"Keycloak",description:"Identity provider",parentId:"sys1",collapsed:!1,x:820,y:70,...Lr.container}),u(S,{id:"r03",sourceId:"ctn2",targetId:"ctn4",label:"Caches",technology:"Redis protocol"}),u(S,{id:"r04",sourceId:"ctn1",targetId:"ctn5",label:"Auth",technology:"OAuth2"});const N=[{id:"snap-1",name:"v1 – MVP",timestamp:Date.now()-7*864e5,nodes:f,relations:d},{id:"snap-2",name:"v2 – Added Database",timestamp:Date.now()-3*864e5,nodes:g,relations:m},{id:"snap-3",name:"v3 – Auth + Cache",timestamp:Date.now(),nodes:w,relations:S}];return{nodes:w,relations:S,snapshots:N}}let ii=null,j8t=!1;const _5=()=>(typeof window<"u"?window.__radicalFitViewFn:null)??null,S1n=s=>{typeof window<"u"&&(window.__radicalFitViewFn=s)},q3t=()=>(typeof window<"u"?window.__radicalFitViewInstantFn:null)??null,E1n=s=>{typeof window<"u"&&(window.__radicalFitViewInstantFn=s)},$4e=()=>(typeof window<"u"?window.__radicalAutoFitTimer:null)??null,d9=s=>{typeof window<"u"&&(window.__radicalAutoFitTimer=s)},z3t=()=>window.__rfGetViewport??null,V3t=()=>window.__rfSetViewport??null,xe=G6e()(Qfn((s,u)=>{const f=()=>{const I=R4e();return{nodes:Object.values(I.nodes),relations:Object.values(I.relations),defaultPositions:f9(I.nodes),snapshots:I.snapshots}},{meta:d}=zo.ensureActive(f);let g,m,w,S,N,T,P,O=null;if(d.source==="ls")try{if(typeof localStorage<"u"){const I=localStorage.getItem("radical-doc:"+d.id);I&&(O=JSON.parse(I))}}catch(I){console.warn("[diagramStore] sync LS read failed:",I)}if(O&&Array.isArray(O.nodes)&&Array.isArray(O.relations)){g={},m={},w={};for(const C of O.nodes)g[C.id]=C;for(const C of O.relations)m[C.id]=C;if(O.views)for(const C of O.views)w[C.id]=C;const I={};if(O.sequences)for(const C of O.sequences)I[C.id]=C;S=O.defaultPositions??f9(g),N=O.snapshots??[],T=e$(O.presentations,O.presentationSlides),P=(()=>{const C=O.metamodel;return!C||C.id==="c4-builtin"?iv():C.id==="c4-ddd-builtin"?gee():C.id==="c4-ddd-governance-builtin"?R9():C})(),j8t=!0}else{const I=R4e();g=I.nodes,m=I.relations,w={},S=f9(I.nodes),N=I.snapshots,T=e$(void 0,[]),P=iv()}return{c4Nodes:g,c4Relations:m,sequences:O!=null&&O.sequences?Object.fromEntries(O.sequences.map(I=>[I.id,I])):{},activeSequenceId:null,views:w,activeViewId:null,defaultPositions:S,defaultViewport:(O==null?void 0:O.defaultViewport)??null,rfNodes:H3t(g),rfEdges:K3t(g,m),selectedNodeId:null,selectedEdgeId:null,selectedNodeIds:[],layoutMode:"radical",isLayoutRunning:!1,liveLayoutActive:!0,connectSource:null,connectionModifier:"alt",autoFitActive:!0,canUndo:!1,canRedo:!1,snapshots:N,activeSnapshotId:null,liveBackup:null,milestoneDirty:!1,milestonePromptOpen:!1,pendingDelete:null,diffHighlight:{},diffBaseSnapshotId:null,diffGhostNodes:{},diffGhostRelations:{},showDiff:!1,appMode:"designer",metamodel:P,hubTemplates:(O==null?void 0:O.hubTemplates)??{},notifications:[],presentations:T.presentations,activePresentationId:T.activeId,presentationSlides:T.presentations[0].slides,presentationActive:!1,presentationSlideIndex:0,_sync(){s(I=>{var we,ve;const C=I.activeViewId?I.views[I.activeViewId]:void 0,M=I.diffGhostNodes,_=I.diffGhostRelations,F=I.showDiff&&(Object.keys(M).length>0||Object.keys(_).length>0),R=I.c4Nodes,B=I.c4Relations,G=F?{...M,...R}:R,z=F?{..._,...B}:B,Q=dx(C,G),te=cy(Q,G);if((we=C==null?void 0:C.collapsedNodeIds)!=null&&we.length)for(const Ke of C.collapsedNodeIds)te.add(Ke);const ne=(ve=C==null?void 0:C.expandedNodeIds)!=null&&ve.length?new Set(C.expandedNodeIds):void 0,Y=F?new Set(Object.keys(M)):void 0,oe=I.appMode==="metamodel"||I.presentationActive;I.rfNodes=H3t(G,Q,te,Y,oe,ne);const Z=C!=null&&C.hiddenRelationIds&&C.hiddenRelationIds.length?new Set(C.hiddenRelationIds):void 0,re=K3t(G,z,Q,te,Z,ne),de=I.activeSequenceId?I.sequences[I.activeSequenceId]:void 0,U=!de&&(C==null?void 0:C.kind)==="dynamic"&&C.sequenceId?I.sequences[C.sequenceId]:void 0,se=de??U;if(se&&se.relationIds.length>0){const Ke=new Map;se.relationIds.forEach((je,ae)=>{const ge=Ke.get(je);ge?ge.push(ae+1):Ke.set(je,[ae+1])});for(const je of re){const ae=Ke.get(je.id);ae!==void 0&&je.data&&(je.data.sequenceStep=ae)}}I.rfEdges=re})},_pushUndo(){O4e(u()),s(I=>{I.canUndo=!0,I.canRedo=!1})},_markMilestoneEdit(){const{activeSnapshotId:I,milestoneDirty:C,appMode:M}=u();I&&M==="designer"&&(C||s(_=>{_.milestoneDirty=!0,_.milestonePromptOpen=!0}))},addNode(I){var z,Q;const C=u(),M=C.metamodel,_=M==null?void 0:M.nodeTypes[I.type],F=(_==null?void 0:_.label)??I.type,R=Object.values(C.c4Nodes).filter(te=>te.type===I.type).length;if(!ihn(M,I.type,R))return u().pushNotification(`Cannot add another ${F}: maximum (${(z=_==null?void 0:_.cardinality)==null?void 0:z.max}) reached in the metamodel.`,"error"),"";const B=I.parentId?C.c4Nodes[I.parentId]:void 0;if(!Wh(M,I.type,B==null?void 0:B.type)){const te=_==null?void 0:_.allowedParents,ne=B?((Q=M==null?void 0:M.nodeTypes[B.type])==null?void 0:Q.label)??B.type:"the canvas root",Y=te&&te.length?te.map(oe=>{var Z;return((Z=M==null?void 0:M.nodeTypes[oe])==null?void 0:Z.label)??oe}).join(", "):"the canvas root";return u().pushNotification(`Cannot place ${F} inside ${ne}. Allowed parents: ${Y}.`,"error"),""}u()._pushUndo(),u()._markMilestoneEdit();const G=tv();return s(te=>{te.c4Nodes[G]={id:G,...I},te.activeViewId&&te.views[te.activeViewId]&&te.views[te.activeViewId].nodeIds.push(G)}),I.parentId&&u().fitParentToChildren(I.parentId),u()._sync(),ii==null||ii.invalidate(),G},updateNode(I,C){var R,B,G;const M=u(),_=M.c4Nodes[I];if(!_)return;if("parentId"in C||"type"in C){const z=C.type??_.type,Q=("parentId"in C?C.parentId:_.parentId)??void 0,te=Q?M.c4Nodes[Q]:void 0;if(!Wh(M.metamodel,z,te==null?void 0:te.type)){const ne=(R=M.metamodel)==null?void 0:R.nodeTypes[z],Y=ne==null?void 0:ne.allowedParents,oe=(ne==null?void 0:ne.label)??z,Z=te?((G=(B=M.metamodel)==null?void 0:B.nodeTypes[te.type])==null?void 0:G.label)??te.type:"the canvas root",re=Y&&Y.length?Y.map(de=>{var U,se;return((se=(U=M.metamodel)==null?void 0:U.nodeTypes[de])==null?void 0:se.label)??de}).join(", "):"the canvas root";u().pushNotification(`Cannot move ${oe} "${_.label}" into ${Z}. Allowed parents: ${re}.`,"error");return}}u()._pushUndo(),u()._markMilestoneEdit(),s(z=>{z.c4Nodes[I]&&Object.assign(z.c4Nodes[I],C)}),u()._sync(),["x","y","width","height","parentId","type","collapsed"].some(z=>z in C)&&(ii==null||ii.invalidate())},removeNode(I){u()._pushUndo(),u()._markMilestoneEdit(),s(C=>{var _,F;const M=new Set([I,...D4e(I,C.c4Nodes)]);for(const R of M)delete C.c4Nodes[R];for(const[R,B]of Object.entries(C.c4Relations))(M.has(B.sourceId)||M.has(B.targetId))&&delete C.c4Relations[R];for(const R of Object.values(C.views))R.nodeIds=R.nodeIds.filter(B=>!M.has(B)),(_=R.collapsedNodeIds)!=null&&_.length&&(R.collapsedNodeIds=R.collapsedNodeIds.filter(B=>!M.has(B))),(F=R.expandedNodeIds)!=null&&F.length&&(R.expandedNodeIds=R.expandedNodeIds.filter(B=>!M.has(B)))}),u()._sync(),ii==null||ii.invalidate()},toggleCollapse(I){var Q,te,ne,Y,oe,Z,re;if(u().presentationActive)return;u().appMode==="designer"&&u()._pushUndo();const M=u().activeViewId,_=((Q=u().c4Nodes[I])==null?void 0:Q.collapsed)===!0,F=M?_&&!(((ne=(te=u().views[M])==null?void 0:te.expandedNodeIds)==null?void 0:ne.includes(I))??!1)||(((oe=(Y=u().views[M])==null?void 0:Y.collapsedNodeIds)==null?void 0:oe.includes(I))??!1):_;if(s(de=>{const U=de.c4Nodes[I];U&&(U.collapsed=!F)}),F){const de=u().c4Nodes,U=de[I];if(U&&Jh(U.type)){const se=U.type==="container"?110:120,we=24,ve=Object.values(de).filter(Ke=>Ke.parentId===I);if(ve.length>0){let Ke=U.x,je=U.y,ae=U;for(;ae!=null&&ae.parentId;){const _e=de[ae.parentId];if(!_e)break;Ke+=_e.x,je+=_e.y,ae=_e}const ge=ve.filter(_e=>Math.abs(_e.x)<1&&Math.abs(_e.y)<1);ge.length>0&&s(_e=>{ge.forEach((Be,ht)=>{const xt=_e.c4Nodes[Be.id];if(!xt)return;const ze=ht*17%11-5,Fe=ht*23%9-4;xt.x=we+ze,xt.y=se+Fe})}),ii&&ve.forEach(_e=>{const Be=u().c4Nodes[_e.id]??_e,ht=Ke+Be.x+(Be.width??0)/2,xt=je+Be.y+(Be.height??0)/2;ii.seedPosition(_e.id,ht,xt)})}}}let R,B,G;if(M){const de=u().views[M];if(de){if(R=dx(de,u().c4Nodes),B=cy(R,u().c4Nodes),(Z=de.collapsedNodeIds)!=null&&Z.length)for(const U of de.collapsedNodeIds)B.add(U);(re=de.expandedNodeIds)!=null&&re.length&&(G=new Set(de.expandedNodeIds),F||G.delete(I),G.size===0&&(G=void 0))}}let z=I;for(;z;){const de=h9(z,u().c4Nodes);Object.keys(de).length>0&&s(se=>{for(const[we,ve]of Object.entries(de)){const Ke=se.c4Nodes[we];Ke&&(Ke.x=ve.x,Ke.y=ve.y)}});const U=u().c4Nodes[z];if(U!=null&&U.parentId)u().fitParentToChildren(U.parentId,R,B,G),z=U.parentId;else break}M&&s(de=>{const U=de.c4Nodes[I];U&&(U.collapsed=_);const se=de.views[M];se&&(se.collapsedNodeIds||(se.collapsedNodeIds=[]),se.expandedNodeIds||(se.expandedNodeIds=[]),F?(se.collapsedNodeIds=se.collapsedNodeIds.filter(we=>we!==I),_?se.expandedNodeIds.includes(I)||se.expandedNodeIds.push(I):se.expandedNodeIds=se.expandedNodeIds.filter(we=>we!==I)):(se.collapsedNodeIds.includes(I)||se.collapsedNodeIds.push(I),se.expandedNodeIds=se.expandedNodeIds.filter(we=>we!==I)))}),u()._sync(),ii==null||ii.invalidate()},addRelation(I){var B,G,z,Q;const C=u(),M=C.c4Nodes[I.sourceId],_=C.c4Nodes[I.targetId];if(M&&_&&!$9(C.metamodel,M.type,_.type)){const te=((G=(B=C.metamodel)==null?void 0:B.nodeTypes[M.type])==null?void 0:G.label)??M.type,ne=((Q=(z=C.metamodel)==null?void 0:z.nodeTypes[_.type])==null?void 0:Q.label)??_.type;u().pushNotification(`Relation not allowed: ${te} → ${ne}. The metamodel does not permit this connection.`,"error");return}const F=I.relationType??(M&&_?nhn(C.metamodel,M.type,_.type):void 0);u()._pushUndo(),u()._markMilestoneEdit();const R=tv();s(te=>{te.c4Relations[R]={id:R,...I,...F?{relationType:F}:{}}}),u()._sync(),ii==null||ii.invalidate()},updateRelation(I,C){u()._pushUndo(),u()._markMilestoneEdit(),s(M=>{M.c4Relations[I]&&Object.assign(M.c4Relations[I],C)}),u()._sync()},removeRelation(I){u()._pushUndo(),u()._markMilestoneEdit(),s(C=>{delete C.c4Relations[I]}),u()._sync(),ii==null||ii.invalidate()},onConnect(I){!I.source||!I.target||I.source!==I.target&&u().addRelation({sourceId:I.source,targetId:I.target})},selectNode(I){s(C=>{C.selectedNodeId=I,C.selectedNodeIds=I?[I]:[],I&&(C.selectedEdgeId=null);for(const M of C.rfNodes){const _=M.id===I;!!M.selected!==_&&(M.selected=_)}if(I)for(const M of C.rfEdges)M.selected&&(M.selected=!1)})},selectEdge(I){s(C=>{C.selectedEdgeId=I,I&&(C.selectedNodeId=null,C.selectedNodeIds=[]);for(const M of C.rfEdges){const _=M.id===I;!!M.selected!==_&&(M.selected=_)}if(I)for(const M of C.rfNodes)M.selected&&(M.selected=!1)})},setSelectedNodeIds(I){s(C=>{const M=new Set,_=[];for(const R of I)C.c4Nodes[R]&&!M.has(R)&&(M.add(R),_.push(R));C.selectedNodeIds=_,C.selectedNodeId=_[0]??null,_.length>0&&(C.selectedEdgeId=null);const F=new Set(_);for(const R of C.rfNodes){const B=F.has(R.id);!!R.selected!==B&&(R.selected=B)}if(_.length>0)for(const R of C.rfEdges)R.selected&&(R.selected=!1)})},wrapSelectionInNewParent(I){var je,ae;const C=u(),M=C.selectedNodeIds.length?C.selectedNodeIds:C.selectedNodeId?[C.selectedNodeId]:[];if(M.length===0){C.pushNotification("Nothing selected to wrap.","warning");return}const _=M.map(ge=>C.c4Nodes[ge]).filter(Boolean);if(_.length===0)return;const F=C.metamodel,R=F==null?void 0:F.nodeTypes[I];if(!R){C.pushNotification(`Unknown wrapper type "${I}".`,"error");return}const B=R.label,G=_[0].parentId??null;if(!_.every(ge=>(ge.parentId??null)===G)){C.pushNotification("Cannot wrap: selected nodes have different parents. Select siblings only.","error");return}const z=G?C.c4Nodes[G]:void 0;if(!Wh(F,I,z==null?void 0:z.type)){const ge=R.allowedParents,_e=ge&&ge.length?ge.map(ht=>{var xt;return((xt=F==null?void 0:F.nodeTypes[ht])==null?void 0:xt.label)??ht}).join(", "):"the canvas root",Be=z?((je=F==null?void 0:F.nodeTypes[z.type])==null?void 0:je.label)??z.type:"the canvas root";C.pushNotification(`Cannot create ${B} inside ${Be}. Allowed parents: ${_e}.`,"error");return}for(const ge of _)if(!Wh(F,ge.type,I)){const _e=F==null?void 0:F.nodeTypes[ge.type],Be=(_e==null?void 0:_e.label)??ge.type,ht=_e==null?void 0:_e.allowedParents,xt=ht&&ht.length?ht.map(ze=>{var Fe;return((Fe=F==null?void 0:F.nodeTypes[ze])==null?void 0:Fe.label)??ze}).join(", "):"the canvas root";C.pushNotification(`Cannot place ${Be} "${ge.label}" inside ${B}. Allowed parents: ${xt}.`,"error");return}const Q=30,te=40;let ne=1/0,Y=1/0,oe=-1/0,Z=-1/0;for(const ge of _)ne=Math.min(ne,ge.x),Y=Math.min(Y,ge.y),oe=Math.max(oe,ge.x+(ge.width??0)),Z=Math.max(Z,ge.y+(ge.height??0));const re=ne-Q,de=Y-Q-te,U=oe-ne+2*Q,se=Z-Y+2*Q+te,we=u().addNode({type:I,label:`New ${B}`,description:"",technology:"",collapsed:!1,external:!1,parentId:G??void 0,x:re,y:de,width:U,height:se});if(!we)return;for(const ge of _)u().updateNode(ge.id,{parentId:we,x:ge.x-re,y:ge.y-de});u().fitParentToChildren(we);let ve=G??void 0;const Ke=new Set;for(;ve&&!Ke.has(ve);)Ke.add(ve),u().fitParentToChildren(ve),ve=(ae=u().c4Nodes[ve])==null?void 0:ae.parentId;u().setSelectedNodeIds([we]),u().pushNotification(`Wrapped ${_.length} ${_.length===1?"node":"nodes"} into ${B}.`,"info")},unwrapNode(I){var Z,re,de;const C=u(),M=C.c4Nodes[I];if(!M)return;const _=C.metamodel,F=M.parentId??void 0,R=F?C.c4Nodes[F]:void 0,B=R?((Z=_==null?void 0:_.nodeTypes[R.type])==null?void 0:Z.label)??R.type:"the canvas root",G=Object.values(C.c4Nodes).filter(U=>U.parentId===I);for(const U of G)if(!Wh(_,U.type,R==null?void 0:R.type)){const se=_==null?void 0:_.nodeTypes[U.type],we=(se==null?void 0:se.label)??U.type,ve=se==null?void 0:se.allowedParents,Ke=ve&&ve.length?ve.map(je=>{var ae;return((ae=_==null?void 0:_.nodeTypes[je])==null?void 0:ae.label)??je}).join(", "):"the canvas root";C.pushNotification(`Cannot unwrap: ${we} "${U.label}" is not allowed inside ${B}. Allowed: ${Ke}.`,"error");return}u()._pushUndo(),u()._markMilestoneEdit();const z=((re=_==null?void 0:_.nodeTypes[M.type])==null?void 0:re.label)??M.type,Q=G.length,te=M.x,ne=M.y;s(U=>{for(const se of G){const we=U.c4Nodes[se.id];we&&(we.parentId=F,we.x=se.x+te,we.y=se.y+ne)}delete U.c4Nodes[I];for(const[se,we]of Object.entries(U.c4Relations))(we.sourceId===I||we.targetId===I)&&delete U.c4Relations[se];for(const se of Object.values(U.views))se.nodeIds=se.nodeIds.filter(we=>we!==I)});let Y=F;const oe=new Set;for(;Y&&!oe.has(Y);)oe.add(Y),u().fitParentToChildren(Y),Y=(de=u().c4Nodes[Y])==null?void 0:de.parentId;u().setSelectedNodeIds(G.map(U=>U.id)),u()._sync(),ii==null||ii.invalidate(),u().pushNotification(Q===0?`Removed ${z} "${M.label}".`:`Removed ${z} "${M.label}", kept ${Q} ${Q===1?"child":"children"}.`,"info")},reparentNodes(I,C){var Y;const M=u(),_=M.metamodel,F=I.map(oe=>M.c4Nodes[oe]).filter(oe=>!!oe);if(F.length===0)return;const R=F[0].parentId??null;if(!F.every(oe=>(oe.parentId??null)===R)){M.pushNotification("Cannot move: selected nodes have different parents. Select siblings only.","error");return}if((C??null)===R)return;const B=C?M.c4Nodes[C]:void 0;if(C&&!B){M.pushNotification("Target parent no longer exists.","error");return}const G=B?((Y=_==null?void 0:_.nodeTypes[B.type])==null?void 0:Y.label)??B.type:"the canvas root",z=new Set(I);for(const oe of I)for(const Z of D4e(oe,M.c4Nodes))z.add(Z);if(C&&z.has(C)){M.pushNotification("Cannot move a node into itself or one of its descendants.","error");return}for(const oe of F)if(!Wh(_,oe.type,B==null?void 0:B.type)){const Z=_==null?void 0:_.nodeTypes[oe.type],re=(Z==null?void 0:Z.label)??oe.type,de=Z==null?void 0:Z.allowedParents,U=de&&de.length?de.map(se=>{var we;return((we=_==null?void 0:_.nodeTypes[se])==null?void 0:we.label)??se}).join(", "):"the canvas root";M.pushNotification(`Cannot place ${re} "${oe.label}" inside ${G}. Allowed: ${U}.`,"error");return}const Q=oe=>{let Z=0,re=0,de=M.c4Nodes[oe];const U=new Set;for(;de&&!U.has(de.id);)U.add(de.id),Z+=de.x,re+=de.y,de=de.parentId?M.c4Nodes[de.parentId]:void 0;return{x:Z,y:re}},te=C?Q(C):{x:0,y:0};u()._pushUndo(),u()._markMilestoneEdit(),s(oe=>{for(const Z of F){const re=oe.c4Nodes[Z.id];if(!re)continue;const de=Q(Z.id);re.parentId=C??void 0,re.x=de.x-te.x,re.y=de.y-te.y}});const ne=oe=>{var de;let Z=oe??void 0;const re=new Set;for(;Z&&!re.has(Z);)re.add(Z),u().fitParentToChildren(Z),Z=(de=u().c4Nodes[Z])==null?void 0:de.parentId};ne(R),ne(C),u().setSelectedNodeIds(I),u()._sync(),ii==null||ii.invalidate(),u().pushNotification(`Moved ${F.length} ${F.length===1?"node":"nodes"} into ${G}.`,"info")},addView(I){const C=tv();return s(M=>{M.views[C]={id:C,name:I,nodeIds:[],positions:{}}}),C},removeView(I){let C=!1;s(M=>{delete M.views[I],M.activeViewId===I&&(D3t(M.c4Nodes,M.defaultPositions),M.activeViewId=null,C=!0)}),u()._sync(),C&&(ii==null||ii.reset())},renameView(I,C){s(M=>{M.views[I]&&(M.views[I].name=C)})},setActiveView(I){const{activeViewId:C,c4Nodes:M,appMode:_}=u();if(I===C)return;if(_!=="designer"){s(z=>{z.activeViewId=I}),u()._sync();return}const F=f9(M),R=window.__rfCurrentViewport,B=R?{x:R.x,y:R.y,zoom:R.zoom}:null;s(z=>{C===null?(z.defaultPositions=F,B&&(z.defaultViewport=B)):z.views[C]&&(z.views[C].positions=F,B&&(z.views[C].viewport=B));let Q,te=null;if(I===null)Q=z.defaultPositions,te=z.defaultViewport;else{const ne=z.views[I];ne&&Object.keys(ne.positions).length>0&&(Q=ne.positions),ne!=null&&ne.viewport&&(te=ne.viewport)}Q&&D3t(z.c4Nodes,Q),z.activeViewId=I,z.__pendingViewport=te}),u()._sync();const G=u().__pendingViewport;G&&requestAnimationFrame(()=>{const z=window.__rfSetViewport;z==null||z(G,{duration:250})}),s(z=>{delete z.__pendingViewport}),ii==null||ii.reset()},addNodeToView(I,C){s(M=>{const _=M.views[I];_&&!_.nodeIds.includes(C)&&_.nodeIds.push(C)}),u()._sync()},removeNodeFromView(I,C){s(M=>{var R,B;const _=M.views[I];if(!_)return;const F=new Set([C,...D4e(C,M.c4Nodes)]);_.nodeIds.length===0?_.nodeIds=Object.keys(M.c4Nodes).filter(G=>!F.has(G)):_.nodeIds=_.nodeIds.filter(G=>!F.has(G)),(R=_.collapsedNodeIds)!=null&&R.length&&(_.collapsedNodeIds=_.collapsedNodeIds.filter(G=>!F.has(G))),(B=_.expandedNodeIds)!=null&&B.length&&(_.expandedNodeIds=_.expandedNodeIds.filter(G=>!F.has(G)))}),u()._sync()},setViewNodes(I,C){const M=u();if(!M.views[I])return;const _=C.filter(B=>B in M.c4Nodes),F=new Set,R=[];for(const B of _)F.has(B)||(F.add(B),R.push(B));u()._pushUndo(),s(B=>{const G=B.views[I];G&&(G.nodeIds=R)}),u()._sync(),ii==null||ii.invalidate()},hideRelationFromView(I,C){s(M=>{const _=M.views[I];_&&(_.hiddenRelationIds||(_.hiddenRelationIds=[]),_.hiddenRelationIds.includes(C)||_.hiddenRelationIds.push(C))}),u()._sync()},unhideRelationInView(I,C){s(M=>{const _=M.views[I];!_||!_.hiddenRelationIds||(_.hiddenRelationIds=_.hiddenRelationIds.filter(F=>F!==C))}),u()._sync()},setViewKind(I,C){s(M=>{const _=M.views[I];_&&(_.kind=C)}),u()._sync()},setTreemapFocus(I,C){s(M=>{const _=M.views[I];_&&(_.treemapFocusId=C)}),u()._sync()},setWikiFocus(I,C){s(M=>{const _=M.views[I];_&&(_.wikiFocusId=C)}),u()._sync()},setTreemapSizeBy(I,C){s(M=>{const _=M.views[I];_&&(_.treemapSizeBy=C)}),u()._sync()},setTreemapMaxDepth(I,C){s(M=>{const _=M.views[I];_&&(_.treemapMaxDepth=C)}),u()._sync()},toggleTreemapExpand(I,C){s(M=>{const _=M.views[I];if(!_)return;const F=_.treemapExpandedIds??[],R=F.indexOf(C);R>=0?_.treemapExpandedIds=F.filter((B,G)=>G!==R):_.treemapExpandedIds=[...F,C]}),u()._sync()},setViewLayoutMode(I,C){s(M=>{const _=M.views[I];_&&(_.layoutMode=C)}),u()._sync()},setViewSequence(I,C){s(M=>{const _=M.views[I];_&&(_.sequenceId=C??void 0)}),u()._sync()},addViewFromSequence(I){const{sequences:C,c4Relations:M}=u(),_=C[I],F=tv(),R=new Set;for(const G of(_==null?void 0:_.relationIds)??[]){const z=M[G];z&&(R.add(z.sourceId),R.add(z.targetId))}const B=_?`${_.name} view`:"Sequence view";return u()._pushUndo(),s(G=>{G.views[F]={id:F,name:B,kind:"dynamic",sequenceId:I,nodeIds:Array.from(R),positions:{}}}),u().setActiveView(F),F},addSequence(I){const C=tv();return s(M=>{M.sequences[C]={id:C,name:I,relationIds:[]}}),u()._markMilestoneEdit(),C},removeSequence(I){s(C=>{delete C.sequences[I];for(const M of Object.values(C.views))M.sequenceId===I&&(M.sequenceId=void 0);C.activeSequenceId===I&&(C.activeSequenceId=null)}),u()._markMilestoneEdit(),u()._sync()},renameSequence(I,C){s(M=>{M.sequences[I]&&(M.sequences[I].name=C)}),u()._markMilestoneEdit()},setActiveSequence(I){s(C=>{C.activeSequenceId=I}),u()._sync()},toggleRelationInSequence(I,C){s(M=>{const _=M.sequences[I];_&&_.relationIds.push(C)}),u()._markMilestoneEdit(),u()._sync()},removeFromSequence(I,C){s(M=>{const _=M.sequences[I];_&&(_.relationIds.splice(C,1),_.stepDescriptions&&_.stepDescriptions.splice(C,1))}),u()._markMilestoneEdit(),u()._sync()},reorderSequence(I,C,M){s(_=>{const F=_.sequences[I];if(!F)return;const R=F.relationIds;if(C<0||C>=R.length||M<0||M>=R.length)return;const[B]=R.splice(C,1);if(R.splice(M,0,B),F.stepDescriptions){const[G]=F.stepDescriptions.splice(C,1);F.stepDescriptions.splice(M,0,G)}}),u()._markMilestoneEdit(),u()._sync()},clearSequence(I){s(C=>{const M=C.sequences[I];M&&(M.relationIds=[],M.stepDescriptions=[])}),u()._markMilestoneEdit(),u()._sync()},updateStepDescription(I,C,M){s(_=>{const F=_.sequences[I];if(F){for(F.stepDescriptions||(F.stepDescriptions=[]);F.stepDescriptions.length<=C;)F.stepDescriptions.push(void 0);F.stepDescriptions[C]=M||void 0}}),u()._markMilestoneEdit(),u()._sync()},onNodesChange(I){const C=I.filter(_=>_.type==="remove");if(C.length>0){const _=C.map(F=>F.id);s(F=>{const R=F.pendingDelete??{nodeIds:[],edgeIds:[]};F.pendingDelete={nodeIds:Array.from(new Set([...R.nodeIds,..._])),edgeIds:R.edgeIds}})}const M=I.filter(_=>_.type!=="remove");s(_=>{const F=_.liveLayoutActive?M.filter(B=>B.type!=="dimensions"):M;if(_.rfNodes=W5t(F,_.rfNodes),M.some(B=>B.type==="select")){const B=[];for(const G of _.rfNodes)G.selected&&B.push(G.id);_.selectedNodeIds=B,_.selectedNodeId=B[0]??_.selectedNodeId,B.length===0&&(_.selectedNodeId=null),B.length>0&&(_.selectedEdgeId=null)}for(const B of M)B.type==="select"&&B.id&&B.selected&&(_.selectedNodeId=B.id)})},onEdgesChange(I){const C=I.filter(_=>_.type==="remove");if(C.length>0){const _=C.map(F=>F.id);s(F=>{const R=F.pendingDelete??{nodeIds:[],edgeIds:[]};F.pendingDelete={nodeIds:R.nodeIds,edgeIds:Array.from(new Set([...R.edgeIds,..._]))}})}const M=I.filter(_=>_.type!=="remove");s(_=>{_.rfEdges=Oan(M,_.rfEdges);for(const F of M)F.type==="select"&&F.id&&F.selected&&(_.activeSequenceId||(_.selectedEdgeId=F.id))})},resolvePendingDelete(I){const C=u().pendingDelete;if(!C||(s(F=>{F.pendingDelete=null}),I==="cancel"))return;const{nodeIds:M,edgeIds:_}=C;if(I==="view"){const F=u().activeViewId;if(F)for(const R of M)u().removeNodeFromView(F,R);else{for(const R of M)u().removeNode(R);for(const R of _)u().removeRelation(R)}return}for(const F of M)u().removeNode(F);for(const F of _)u().removeRelation(F)},resolveOverlaps(I){var _,F;const C=h9(I,u().c4Nodes);Object.keys(C).length>0&&s(R=>{for(const[B,G]of Object.entries(C)){const z=R.c4Nodes[B];z&&(z.x=G.x,z.y=G.y)}});let M=((_=u().c4Nodes[I])==null?void 0:_.parentId)??void 0;for(;M;){u().fitParentToChildren(M);const R=h9(M,u().c4Nodes);Object.keys(R).length>0&&s(B=>{for(const[G,z]of Object.entries(R)){const Q=B.c4Nodes[G];Q&&(Q.x=z.x,Q.y=z.y)}}),M=((F=u().c4Nodes[M])==null?void 0:F.parentId)??void 0}u()._sync()},fitParentToChildren(I,C,M,_){const{c4Nodes:F}=u(),R=F[I];if(!R||!Jh(R.type)||bM(R,M,_))return;let B=Object.values(F).filter(oe=>oe.parentId===I);if(C&&(B=B.filter(oe=>C.has(oe.id))),B.length===0)return;const G=R.type==="container"?20:30,z=R.type==="container"?20:30;let Q=0,te=0;for(const oe of B){const Z=x8t(oe,M,_),re=k8t(oe,M,_);Q=Math.max(Q,oe.x+re),te=Math.max(te,oe.y+Z)}const ne=Math.max(Q+G,Lr[R.type].width),Y=Math.max(te+z,Lr[R.type].height);s(oe=>{const Z=oe.c4Nodes[I];if(!Z)return;Z.width=ne,Z.height=Y;const re=oe.rfNodes.findIndex(de=>de.id===I);re!==-1&&(oe.rfNodes[re].style={...oe.rfNodes[re].style??{},width:ne,height:Y},oe.rfNodes[re].width=ne,oe.rfNodes[re].height=Y)})},_resizeParentsBottomUp(I,C){const M=Object.values(u().c4Nodes),_=I?M.filter(B=>I.has(B.id)):M,F=[...new Set(_.filter(B=>B.parentId).map(B=>B.parentId))],R=B=>{const G=u().c4Nodes[B];return G!=null&&G.parentId?1+R(G.parentId):0};F.sort((B,G)=>R(G)-R(B));for(const B of F)u().fitParentToChildren(B,I,C)},async runElkLayout(){if(u().appMode==="designer"){s(I=>{I.isLayoutRunning=!0});try{const I=u(),C=I.activeViewId?I.views[I.activeViewId]:void 0,M=dx(C,I.c4Nodes),_=cy(M,I.c4Nodes),{nodes:F,relations:R}=K0(I.c4Nodes,I.c4Relations,M,_),B=await J6e(F,R);s(Y=>{for(const[oe,Z]of Object.entries(B)){const re=Y.c4Nodes[oe];re&&(re.x=Z.x,re.y=Z.y,Z.width&&(re.width=Z.width),Z.height&&(re.height=Z.height))}});const{nodes:G,relations:z}=K0(u().c4Nodes,u().c4Relations,M,_),Q=MZ(G,z);Object.keys(Q).length>0&&(s(Y=>{for(const[oe,Z]of Object.entries(Q)){const re=Y.c4Nodes[oe];re&&(re.x=Z.x,re.y=Z.y)}}),u()._resizeParentsBottomUp(M,_)),u()._sync();const{nodes:te}=K0(u().c4Nodes,u().c4Relations,M,_),ne=Object.values(te).filter(Y=>!Y.parentId).map(Y=>Y.id);for(const Y of ne){const oe=h9(Y,te);Object.keys(oe).length>0&&s(Z=>{for(const[re,de]of Object.entries(oe)){const U=Z.c4Nodes[re];U&&(U.x=de.x,U.y=de.y)}})}ne.length>0&&u()._sync()}finally{s(I=>{I.isLayoutRunning=!1})}}},runColaLayout(){if(u().appMode==="designer"){s(I=>{I.isLayoutRunning=!0});try{const I=u(),C=I.activeViewId?I.views[I.activeViewId]:void 0,M=dx(C,I.c4Nodes),_=cy(M,I.c4Nodes),{nodes:F,relations:R}=K0(I.c4Nodes,I.c4Relations,M,_),B=ydn(F,R);s(te=>{for(const[ne,Y]of Object.entries(B)){const oe=te.c4Nodes[ne];oe&&(oe.x=Y.x,oe.y=Y.y)}}),u()._resizeParentsBottomUp(M,_);const{nodes:G,relations:z}=K0(u().c4Nodes,u().c4Relations,M,_),Q=MZ(G,z);Object.keys(Q).length>0&&(s(te=>{for(const[ne,Y]of Object.entries(Q)){const oe=te.c4Nodes[ne];oe&&(oe.x=Y.x,oe.y=Y.y)}}),u()._resizeParentsBottomUp(M,_)),u()._sync()}finally{s(I=>{I.isLayoutRunning=!1})}}},runRadicalLayout(){if(u().appMode==="designer"){s(I=>{I.isLayoutRunning=!0});try{const I=u(),C=I.activeViewId?I.views[I.activeViewId]:void 0,M=dx(C,I.c4Nodes),_=cy(M,I.c4Nodes),{nodes:F,relations:R}=K0(I.c4Nodes,I.c4Relations,M,_),B=n8t(F,R);s(Y=>{for(const[oe,Z]of Object.entries(B)){const re=Y.c4Nodes[oe];re&&(re.x=Z.x,re.y=Z.y,Z.width&&(re.width=Z.width),Z.height&&(re.height=Z.height))}}),u()._resizeParentsBottomUp(M,_),u()._sync();const{nodes:G,relations:z}=K0(u().c4Nodes,u().c4Relations,M,_),Q=MZ(G,z);Object.keys(Q).length>0&&(s(Y=>{for(const[oe,Z]of Object.entries(Q)){const re=Y.c4Nodes[oe];re&&(re.x=Z.x,re.y=Z.y)}}),u()._resizeParentsBottomUp(M,_),u()._sync());const{nodes:te}=K0(u().c4Nodes,u().c4Relations,M,_),ne=Object.values(te).filter(Y=>!Y.parentId).map(Y=>Y.id);for(const Y of ne){const oe=h9(Y,te);Object.keys(oe).length>0&&s(Z=>{for(const[re,de]of Object.entries(oe)){const U=Z.c4Nodes[re];U&&(U.x=de.x,U.y=de.y)}})}ne.length>0&&u()._sync()}finally{s(I=>{I.isLayoutRunning=!1})}}},runReferenceLayout(){if(u().appMode==="designer"){s(I=>{I.isLayoutRunning=!0});try{const I=u(),C=I.activeViewId?I.views[I.activeViewId]:void 0,M=dx(C,I.c4Nodes),_=cy(M,I.c4Nodes),{nodes:F}=K0(I.c4Nodes,I.c4Relations,M,_),R=h1n(F);s(B=>{for(const[G,z]of Object.entries(R)){const Q=B.c4Nodes[G];Q&&(Q.x=z.x,Q.y=z.y,z.width&&(Q.width=z.width),z.height&&(Q.height=z.height))}}),u()._resizeParentsBottomUp(M,_),u()._sync()}finally{s(I=>{I.isLayoutRunning=!1})}}},async runTreeLayout(){var I;if(u().appMode!=="metamodel"){s(C=>{C.isLayoutRunning=!0});try{const C=u(),M=C.activeViewId?C.views[C.activeViewId]:void 0,_=dx(M,C.c4Nodes),F=cy(_,C.c4Nodes),{nodes:R,relations:B}=K0(C.c4Nodes,C.c4Relations,_,F),G=await k6t(R,B);u()._markMilestoneEdit(),s(te=>{for(const[ne,Y]of Object.entries(G)){const oe=te.c4Nodes[ne];oe&&(oe.x=Y.x,oe.y=Y.y,Y.width&&(oe.width=Y.width),Y.height&&(oe.height=Y.height))}}),u()._resizeParentsBottomUp(_,F);const{nodes:z}=K0(u().c4Nodes,u().c4Relations,_,F),Q=Object.values(z).filter(te=>!te.parentId).map(te=>te.id);for(const te of Q){const ne=h9(te,z);Object.keys(ne).length>0&&s(Y=>{for(const[oe,Z]of Object.entries(ne)){const re=Y.c4Nodes[oe];re&&(re.x=Z.x,re.y=Z.y)}})}if(u()._sync(),ii==null||ii.reset(),typeof window<"u"){const te=window.__radicalFlushPersist;te==null||te()}typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>{var te;(te=_5())==null||te()}):(I=_5())==null||I(),u().pushNotification("Hierarchical tree layout applied.","info")}finally{s(C=>{C.isLayoutRunning=!1})}}},async runSmartLayout(){var I;if(u().appMode!=="metamodel"){{const C=u(),M=C.activeViewId?C.views[C.activeViewId]:void 0;if((M==null?void 0:M.layoutMode)==="tree"){await u().runTreeLayout();return}}s(C=>{C.isLayoutRunning=!0});try{const C=u(),M=C.activeViewId?C.views[C.activeViewId]:void 0,_=dx(M,C.c4Nodes),F=cy(_,C.c4Nodes),{nodes:R,relations:B}=K0(C.c4Nodes,C.c4Relations,_,F),G=await f1n(R,B,C.metamodel);if(G.candidates.length===0){u().pushNotification("Smart layout: no candidate produced a result.","warning");return}u()._markMilestoneEdit(),s(de=>{for(const[U,se]of Object.entries(G.winner.positions)){const we=de.c4Nodes[U];we&&(we.x=se.x,we.y=se.y,se.width&&(we.width=se.width),se.height&&(we.height=se.height))}}),u()._resizeParentsBottomUp(_,F);const{nodes:z}=K0(u().c4Nodes,u().c4Relations,_,F),Q=Object.values(z).filter(de=>!de.parentId).map(de=>de.id);for(const de of Q){const U=h9(de,z);Object.keys(U).length>0&&s(se=>{for(const[we,ve]of Object.entries(U)){const Ke=se.c4Nodes[we];Ke&&(Ke.x=ve.x,Ke.y=ve.y)}})}if(u()._sync(),ii==null||ii.reset(),typeof window<"u"){const de=window.__radicalFlushPersist;de==null||de()}const te=G.baseline,ne=G.winner.metrics,Y=te.weightedCost>0?Math.max(0,Math.round((1-ne.weightedCost/te.weightedCost)*100)):0,oe=G.planarity.verdict==="planar"?"planar ✓":`${Math.round((1-G.planarity.ratio)*100)}% planar`,Z=" → ",re=te.weightedCost===0?`Smart layout: ${G.winner.name} — ${ne.crossings} crossings, ${ne.overdraws} overdraws · ${oe}.`:`Smart layout: ${G.winner.name} — crossings ${te.crossings}${Z}${ne.crossings}, overdraws ${te.overdraws}${Z}${ne.overdraws} (${Y}% better) · ${oe}.`;u().pushNotification(re,"info"),typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>{var de;(de=_5())==null||de()}):(I=_5())==null||I(),console.info("[smartLayout]",G.winner.name,"crossings",ne.crossings,"overdraws",ne.overdraws,"· SA",G.refinement.before.toFixed(0),Z,G.refinement.after.toFixed(0),`(${G.refinement.iterations} iters)`,"· planarity",G.planarity.verdict,`(${G.planarity.crossingEdges}/${G.planarity.totalEdges})`,"· winner score",G.winner.score,"· ranking:",G.candidates.map(de=>`${de.name} [composite=${de.score.composite.toFixed(0)} cross=${de.metrics.crossings}(rend${de.score.renderedCrossings}) over=${de.metrics.overdraws}(rend${de.score.renderedOverdraws}) loop=${de.score.stubLoopPenalty.toFixed(2)} olap=${de.score.nodeOverlap.toFixed(1)} long=${de.score.edgeLengthExcess.toFixed(1)} lmean=${de.score.edgeLengthMean.toFixed(2)} leaf=${de.score.leafCentrality.toFixed(2)} ar=${de.score.aspectPenalty.toFixed(2)} sym=${de.score.symmetryDeficit.toFixed(2)}]`).join(" | "))}catch(C){console.error("[smartLayout] failed:",C),u().pushNotification("Smart layout failed — see console.","error")}finally{s(C=>{C.isLayoutRunning=!1})}}},setLayoutMode(I){s(C=>{C.layoutMode=I})},startLiveLayout(I){const C=(I==null?void 0:I.skipBulk)??!1;if(!(ii!=null&&ii.running)){if(ii){ii.start(C),s(M=>{M.liveLayoutActive=!0});return}ii=new w1n({getModel:()=>{const M=u(),_=M.activeViewId?M.views[M.activeViewId]:void 0,F=dx(_,M.c4Nodes),R=cy(F,M.c4Nodes);return K0(M.c4Nodes,M.c4Relations,F,R)},applyPositions:M=>{s(_=>{for(const[F,R]of Object.entries(M)){const B=_.c4Nodes[F];B&&(B.x=R.x,B.y=R.y,R.width!=null&&(B.width=R.width),R.height!=null&&(B.height=R.height))}for(const F of _.rfNodes){const R=M[F.id];if(R&&(F.position={x:R.x,y:R.y},R.width!=null||R.height!=null)){const B=F.data;R.width!=null&&(B.width=R.width,F.width=R.width,F.style||(F.style={}),F.style.width=R.width),R.height!=null&&(B.height=R.height,F.height=R.height,F.style||(F.style={}),F.style.height=R.height)}}})}}),ii.start(C),s(M=>{M.liveLayoutActive=!0})}},stopLiveLayout(){ii==null||ii.stop(),s(I=>{I.liveLayoutActive=!1})},liveGrab(I,C,M){ii==null||ii.grab(I,C,M)},liveDrag(I,C,M){ii==null||ii.drag(I,C,M)},liveRelease(I){ii==null||ii.release(I),u()._markMilestoneEdit()},setConnectionModifier(I){s(C=>{C.connectionModifier=I})},startConnection(I){s(C=>{C.connectSource=I})},cancelConnection(){s(I=>{I.connectSource=null})},undo(){if(cb.length===0)return;const I=cb.pop();oy.push(j5e(u())),s(C=>{C.c4Nodes=I.c4Nodes,C.c4Relations=I.c4Relations,C.views=I.views,C.canUndo=cb.length>0,C.canRedo=!0}),u()._sync(),ii==null||ii.reset()},redo(){if(oy.length===0)return;const I=oy.pop();cb.push(j5e(u())),s(C=>{C.c4Nodes=I.c4Nodes,C.c4Relations=I.c4Relations,C.views=I.views,C.canUndo=!0,C.canRedo=oy.length>0}),u()._sync(),ii==null||ii.reset()},createSnapshot(I){const C=tv(),M={id:C,name:I,timestamp:Date.now(),nodes:JSON.parse(JSON.stringify(u().c4Nodes)),relations:JSON.parse(JSON.stringify(u().c4Relations)),sequences:JSON.parse(JSON.stringify(u().sequences))};return s(_=>{_.snapshots.push(M)}),C},restoreSnapshot(I){const C=u().snapshots.find(M=>M.id===I);C&&(O4e(u()),s(M=>{M.c4Nodes=JSON.parse(JSON.stringify(C.nodes)),M.c4Relations=JSON.parse(JSON.stringify(C.relations)),C.sequences&&(M.sequences=JSON.parse(JSON.stringify(C.sequences))),M.canUndo=cb.length>0,M.canRedo=oy.length>0,M.activeSnapshotId=I}),u()._sync(),ii==null||ii.reset())},removeSnapshot(I){s(C=>{C.snapshots=C.snapshots.filter(M=>M.id!==I),C.activeSnapshotId===I&&(C.liveBackup&&(C.c4Nodes=JSON.parse(JSON.stringify(C.liveBackup.nodes)),C.c4Relations=JSON.parse(JSON.stringify(C.liveBackup.relations)),C.liveBackup.sequences&&(C.sequences=JSON.parse(JSON.stringify(C.liveBackup.sequences)))),C.activeSnapshotId=null,C.liveBackup=null,C.milestoneDirty=!1,C.milestonePromptOpen=!1,C.diffHighlight={},C.diffBaseSnapshotId=null,C.diffGhostNodes={},C.diffGhostRelations={})}),u()._sync(),ii==null||ii.reset()},renameSnapshot(I,C){s(M=>{const _=M.snapshots.find(F=>F.id===I);_&&(_.name=C)})},selectMilestone(I){const{snapshots:C,activeSnapshotId:M,milestoneDirty:_,c4Nodes:F,c4Relations:R,sequences:B}=u();if(M===I){s(re=>{re.milestonePromptOpen=!1});return}if(M&&_){s(re=>{re.milestonePromptOpen=!0});return}const G=C.find(re=>re.id===I);if(!G)return;const z=M?u().liveBackup:{nodes:JSON.parse(JSON.stringify(F)),relations:JSON.parse(JSON.stringify(R)),sequences:JSON.parse(JSON.stringify(B))},Q=u().appMode!=="designer",te=new Map;if(Q)for(const re of Object.values(F))te.set(re.id,{x:re.x,y:re.y,width:re.width,height:re.height,collapsed:re.collapsed});const ne=C.findIndex(re=>re.id===I),Y=ne>0?C[ne-1]:null,oe=Y?L4e(Y.nodes,G.nodes,Y.relations,G.relations):{};if(Y){const re=$3t(Y.sequences,G.sequences);for(const[de,U]of Object.entries(re))oe[de]||(oe[de]=U)}const Z=Y?F3t(Y.nodes,G.nodes,Y.relations,G.relations):{nodes:{},relations:{}};O4e(u()),s(re=>{const de=JSON.parse(JSON.stringify(G.nodes));if(Q)for(const[U,se]of Object.entries(de)){const we=te.get(U);we&&(se.x=we.x,se.y=we.y,se.width=we.width,se.height=we.height,we.collapsed!==void 0&&(se.collapsed=we.collapsed))}re.c4Nodes=de,re.c4Relations=JSON.parse(JSON.stringify(G.relations)),G.sequences&&(re.sequences=JSON.parse(JSON.stringify(G.sequences))),re.activeSnapshotId=I,re.liveBackup=z,re.milestoneDirty=!1,re.milestonePromptOpen=!1,re.diffHighlight=oe,re.diffBaseSnapshotId=Y?Y.id:null,re.diffGhostNodes=Z.nodes,re.diffGhostRelations=Z.relations,re.canUndo=cb.length>0,re.canRedo=oy.length>0}),u()._sync(),ii==null||ii.reset()},dismissMilestonePrompt(){s(I=>{I.milestonePromptOpen=!1})},discardMilestoneChanges(){const{liveBackup:I}=u();s(C=>{C.liveBackup&&(C.c4Nodes=JSON.parse(JSON.stringify(C.liveBackup.nodes)),C.c4Relations=JSON.parse(JSON.stringify(C.liveBackup.relations)),C.liveBackup.sequences&&(C.sequences=JSON.parse(JSON.stringify(C.liveBackup.sequences)))),C.activeSnapshotId=null,C.liveBackup=null,C.milestoneDirty=!1,C.milestonePromptOpen=!1,C.diffHighlight={},C.diffBaseSnapshotId=null,C.diffGhostNodes={},C.diffGhostRelations={}}),u()._sync(),ii==null||ii.reset()},commitMilestoneChanges(I,C){const{activeSnapshotId:M,snapshots:_,c4Nodes:F,c4Relations:R,sequences:B,liveBackup:G}=u();if(!M)return;const z=_.findIndex(Be=>Be.id===M);if(z<0)return;const Q=JSON.parse(JSON.stringify(F)),te=JSON.parse(JSON.stringify(R)),ne=JSON.parse(JSON.stringify(B)),Y=_[z],oe=Y.nodes,Z=Y.relations,re=Y.sequences??{};if(I==="new"){const Be=tv(),ht=(C==null?void 0:C.trim())||`${Y.name} (edited)`,xt={id:Be,name:ht,timestamp:Date.now(),nodes:Q,relations:te,sequences:ne};s(ze=>{ze.snapshots.splice(z+1,0,xt),ze.activeSnapshotId=Be,ze.milestoneDirty=!1,ze.milestonePromptOpen=!1}),u()._sync(),ii==null||ii.reset();return}const de=[],U=[],se=[];for(const Be of Object.keys(Q))if(!oe[Be])de.push(Q[Be]);else{const ht=oe[Be],xt=Q[Be],ze={};for(const Fe of["label","description","technology","type","parentId","external","x","y","width","height","collapsed"])ht[Fe]!==xt[Fe]&&(ze[Fe]=xt[Fe]);Object.keys(ze).length>0&&U.push({id:Be,updates:ze})}for(const Be of Object.keys(oe))Q[Be]||se.push(Be);const we=[],ve=[],Ke=[];for(const Be of Object.keys(te))if(!Z[Be])we.push(te[Be]);else{const ht=Z[Be],xt=te[Be],ze={};for(const Fe of["sourceId","targetId","label","technology"])ht[Fe]!==xt[Fe]&&(ze[Fe]=xt[Fe]);Object.keys(ze).length>0&&ve.push({id:Be,updates:ze})}for(const Be of Object.keys(Z))te[Be]||Ke.push(Be);const je=[],ae=[],ge=[];for(const Be of Object.keys(ne))re[Be]?JSON.stringify(ne[Be])!==JSON.stringify(re[Be])&&ae.push({id:Be,seq:ne[Be]}):je.push(ne[Be]);for(const Be of Object.keys(re))ne[Be]||ge.push(Be);const _e=(Be,ht,xt)=>{for(const ze of de)Be[ze.id]=JSON.parse(JSON.stringify(ze));for(const{id:ze,updates:Fe}of U)Be[ze]&&Object.assign(Be[ze],Fe);for(const ze of se)delete Be[ze];for(const ze of we)ht[ze.id]=JSON.parse(JSON.stringify(ze));for(const{id:ze,updates:Fe}of ve)ht[ze]&&Object.assign(ht[ze],Fe);for(const ze of Ke)delete ht[ze];for(const ze of je)xt[ze.id]=JSON.parse(JSON.stringify(ze));for(const{id:ze,seq:Fe}of ae)xt[ze]=JSON.parse(JSON.stringify(Fe));for(const ze of ge)delete xt[ze]};s(Be=>{for(let ht=z;ht{C.diffHighlight=I})},toggleShowDiff(){s(I=>{I.showDiff=!I.showDiff}),u()._sync()},setDiffBase(I){const{activeSnapshotId:C,snapshots:M,c4Nodes:_,c4Relations:F,liveBackup:R}=u();if(!C)return;const B=M.findIndex(oe=>oe.id===C);if(B<0)return;let G,z,Q=null;if(I){const oe=M.find(Z=>Z.id===I);if(!oe)return;G=oe.nodes,z=oe.relations,Q=I}else if(B>0){const oe=M[B-1];G=oe.nodes,z=oe.relations,Q=oe.id}else{s(oe=>{oe.diffHighlight={},oe.diffBaseSnapshotId=null,oe.diffGhostNodes={},oe.diffGhostRelations={}}),u()._sync();return}const te=L4e(G,_,z,F),ne=M.find(oe=>oe.id===Q);if(ne){const oe=$3t(ne.sequences,u().sequences);for(const[Z,re]of Object.entries(oe))te[Z]||(te[Z]=re)}const Y=F3t(G,_,z,F);s(oe=>{oe.diffHighlight=te,oe.diffBaseSnapshotId=Q,oe.diffGhostNodes=Y.nodes,oe.diffGhostRelations=Y.relations}),u()._sync()},pushNotification(I,C="error"){const M=tv();s(_=>{_.notifications.push({id:M,severity:C,message:I,ts:Date.now()})})},dismissNotification(I){s(C=>{C.notifications=C.notifications.filter(M=>M.id!==I)})},setAppMode(I){const C=u().appMode;if(C===I)return;u().presentationActive&&u().stopPresentation();const M=window;if(C==="designer"&&I!=="designer")M.__preModeLayout={c4Nodes:JSON.parse(JSON.stringify(u().c4Nodes)),c4Relations:JSON.parse(JSON.stringify(u().c4Relations)),views:JSON.parse(JSON.stringify(u().views)),defaultPositions:JSON.parse(JSON.stringify(u().defaultPositions)),activeViewId:u().activeViewId};else if(C!=="designer"&&I==="designer"&&M.__preModeLayout){const _=M.__preModeLayout;s(F=>{F.c4Nodes=_.c4Nodes,F.c4Relations=_.c4Relations,F.views=_.views,F.defaultPositions=_.defaultPositions,F.activeViewId=_.activeViewId}),M.__preModeLayout=void 0,ii==null||ii.reset()}I==="metamodel"?u().stopLiveLayout():u().startLiveLayout(),s(_=>{_.appMode=I}),u()._sync()},setMetamodel(I){s(C=>{C.metamodel=I})},resetMetamodelToC4(){s(I=>{I.metamodel=iv()})},upsertNodeType(I){s(C=>{C.metamodel.nodeTypes[I.id]=I})},removeNodeType(I){s(C=>{var _;const M=C.metamodel;(_=M.nodeTypes[I])!=null&&_.builtin||delete M.nodeTypes[I]})},upsertRelationType(I){s(C=>{C.metamodel.relationTypes[I.id]=I})},removeRelationType(I){s(C=>{var _;const M=C.metamodel;(_=M.relationTypes[I])!=null&&_.builtin||delete M.relationTypes[I]})},upsertHubTemplate(I,C){s(M=>{M.hubTemplates[I]=C})},deleteHubTemplate(I){s(C=>{delete C.hubTemplates[I]})},addPresentation(I){const C=tv(),M=I??`Presentation ${u().presentations.length+1}`;return s(_=>{_.presentations.push({id:C,name:M,slides:[]}),_.activePresentationId=C,_.presentationSlides=_.presentations[_.presentations.length-1].slides,_.presentationSlideIndex=0}),C},removePresentation(I){s(C=>{if(C.presentations=C.presentations.filter(_=>_.id!==I),C.presentations.length===0){const _=tv();C.presentations.push({id:_,name:"Presentation 1",slides:[]}),C.activePresentationId=_}else C.activePresentationId===I&&(C.activePresentationId=C.presentations[0].id);const M=C.presentations.find(_=>_.id===C.activePresentationId);C.presentationSlides=M.slides,C.presentationSlideIndex=0})},renamePresentation(I,C){s(M=>{const _=M.presentations.find(F=>F.id===I);_&&(_.name=C)})},setActivePresentation(I){s(C=>{const M=C.presentations.find(_=>_.id===I);M&&(C.activePresentationId=I,C.presentationSlides=M.slides,C.presentationSlideIndex=0)})},addPresentationSlide(I){var te;const C=window.__rfCurrentViewport,M=C?{x:C.x,y:C.y,zoom:C.zoom}:((te=z3t())==null?void 0:te())??{x:0,y:0,zoom:1},{presentationSlides:_,activeSnapshotId:F,activeViewId:R}=u(),B=R3t(u().c4Nodes),G={nodes:JSON.parse(JSON.stringify(u().c4Nodes)),relations:JSON.parse(JSON.stringify(u().c4Relations))},z=tv(),Q=I??`Slide ${_.length+1}`;s(ne=>{const Y=ne.presentations.find(oe=>oe.id===ne.activePresentationId);Y&&(Y.slides.push({id:z,name:Q,snapshotId:F,viewId:R,viewport:M,canvasState:B,modelSnapshot:G}),ne.presentationSlides=Y.slides)})},removePresentationSlide(I){s(C=>{const M=C.presentations.find(_=>_.id===C.activePresentationId);M&&(M.slides=M.slides.filter(_=>_.id!==I),C.presentationSlides=M.slides,C.presentationSlideIndex>=M.slides.length&&(C.presentationSlideIndex=Math.max(0,M.slides.length-1)))})},renamePresentationSlide(I,C){s(M=>{const _=M.presentations.find(R=>R.id===M.activePresentationId);if(!_)return;const F=_.slides.find(R=>R.id===I);F&&(F.name=C),M.presentationSlides=_.slides})},updatePresentationSlideViewport(I,C){s(M=>{const _=M.presentations.find(R=>R.id===M.activePresentationId);if(!_)return;const F=_.slides.find(R=>R.id===I);F&&(F.viewport=C),M.presentationSlides=_.slides})},startPresentation(){const{presentationSlides:I}=u();I.length!==0&&(u().stopLiveLayout(),window.__prePresState={c4Nodes:JSON.parse(JSON.stringify(u().c4Nodes)),c4Relations:JSON.parse(JSON.stringify(u().c4Relations)),activeViewId:u().activeViewId},s(C=>{C.presentationActive=!0}),u()._sync(),setTimeout(()=>u().goToSlide(u().presentationSlideIndex),50))},stopPresentation(){s(C=>{C.presentationActive=!1}),u().setDiffHighlight({});const I=window.__prePresState;I&&(s(C=>{C.c4Nodes=I.c4Nodes,C.c4Relations=I.c4Relations,C.activeViewId=I.activeViewId}),window.__prePresState=void 0),u()._sync(),u().appMode!=="metamodel"&&(ii==null||ii.reset(),u().startLiveLayout())},goToSlide(I){const{presentationSlides:C}=u();if(!C.length)return;const M=Math.max(0,Math.min(I,C.length-1)),_=C[M],F=_.viewId??null;s(z=>{z.presentationSlideIndex=M}),u().stopLiveLayout();const R=_.modelSnapshot;if(R)s(z=>{z.c4Nodes=JSON.parse(JSON.stringify(R.nodes)),z.c4Relations=JSON.parse(JSON.stringify(R.relations))});else if(_.snapshotId){const z=u().snapshots.find(Q=>Q.id===_.snapshotId);z&&s(Q=>{Q.c4Nodes=JSON.parse(JSON.stringify(z.nodes)),Q.c4Relations=JSON.parse(JSON.stringify(z.relations))})}_.canvasState&&s(z=>{for(const[Q,te]of Object.entries(_.canvasState.nodes)){const ne=z.c4Nodes[Q];ne&&(ne.x=te.x,ne.y=te.y,ne.width=te.width,ne.height=te.height,ne.collapsed=te.collapsed)}});const B=u().activeViewId;F!==B&&s(z=>{z.activeViewId=F}),u()._sync();{const z=M>0?C[M-1]:null,Q=Y=>{if(!Y)return null;const oe=Y.modelSnapshot;if(oe)return oe;if(Y.snapshotId){const Z=u().snapshots.find(re=>re.id===Y.snapshotId);if(Z)return{nodes:Z.nodes,relations:Z.relations}}return null},te=Q(_),ne=Q(z);te&&ne?u().setDiffHighlight(L4e(ne.nodes,te.nodes,ne.relations,te.relations)):u().setDiffHighlight({})}const G=_.viewport;G&&(G.zoom||G.x||G.y)?requestAnimationFrame(()=>{var z;return(z=V3t())==null?void 0:z({x:G.x,y:G.y,zoom:G.zoom},{duration:600})}):requestAnimationFrame(()=>{requestAnimationFrame(()=>{var z;return(z=_5())==null?void 0:z()})})},previewSlide(I){const{presentationSlides:C}=u();if(!C.length)return;const M=Math.max(0,Math.min(I,C.length-1)),_=C[M];s(G=>{G.presentationSlideIndex=M});const F=_.modelSnapshot;if(F)s(G=>{G.c4Nodes=JSON.parse(JSON.stringify(F.nodes)),G.c4Relations=JSON.parse(JSON.stringify(F.relations))});else if(_.snapshotId){const G=u().snapshots.find(z=>z.id===_.snapshotId);G&&s(z=>{z.c4Nodes=JSON.parse(JSON.stringify(G.nodes)),z.c4Relations=JSON.parse(JSON.stringify(G.relations))})}_.canvasState&&s(G=>{for(const[z,Q]of Object.entries(_.canvasState.nodes)){const te=G.c4Nodes[z];te&&(te.x=Q.x,te.y=Q.y,te.width=Q.width,te.height=Q.height,te.collapsed=Q.collapsed)}});const R=_.viewId??null;R!==u().activeViewId&&s(G=>{G.activeViewId=R}),u()._sync();const B=_.viewport;B&&(B.zoom||B.x||B.y)?requestAnimationFrame(()=>{var G;return(G=V3t())==null?void 0:G({x:B.x,y:B.y,zoom:B.zoom},{duration:400})}):requestAnimationFrame(()=>{requestAnimationFrame(()=>{var G;return(G=_5())==null?void 0:G()})})},setViewportFns(I,C){window.__rfGetViewport=I,window.__rfSetViewport=C},captureSlideViewport(I){var B;const C=window.__rfCurrentViewport,M=C?{x:C.x,y:C.y,zoom:C.zoom}:((B=z3t())==null?void 0:B())??null;if(!M)return;const _=R3t(u().c4Nodes),F=u().activeViewId,R={nodes:JSON.parse(JSON.stringify(u().c4Nodes)),relations:JSON.parse(JSON.stringify(u().c4Relations))};s(G=>{const z=G.presentations.find(te=>te.id===G.activePresentationId);if(!z)return;const Q=z.slides.find(te=>te.id===I);Q&&(Q.viewport=M,Q.canvasState=_,Q.viewId=F,Q.modelSnapshot=R),G.presentationSlides=z.slides})},linkSnapshotToSlide(I,C){s(M=>{const _=M.presentations.find(R=>R.id===M.activePresentationId);if(!_)return;const F=_.slides.find(R=>R.id===I);F&&(F.snapshotId=C),M.presentationSlides=_.slides})},linkViewToSlide(I,C){s(M=>{const _=M.presentations.find(R=>R.id===M.activePresentationId);if(!_)return;const F=_.slides.find(R=>R.id===I);F&&(F.viewId=C),M.presentationSlides=_.slides})},loadDiagram(I){u().stopLiveLayout(),cb.length=0,oy.length=0;const C={},M={},_={},F={};for(const Q of I.nodes)C[Q.id]=Q;for(const Q of I.relations)M[Q.id]=Q;if(I.views)for(const Q of I.views)_[Q.id]=Q;if(I.sequences)for(const Q of I.sequences)F[Q.id]=Q;const R=I.snapshots??[],B=e$(I.presentations,I.presentationSlides),G=I.defaultPositions??f9(C),z=I.defaultViewport??null;s(Q=>{Q.c4Nodes=C,Q.c4Relations=M,Q.sequences=F,Q.activeSequenceId=null,Q.views=_,Q.defaultPositions=G,Q.defaultViewport=z,Q.activeViewId=null,Q.selectedNodeId=null,Q.selectedEdgeId=null,Q.canUndo=!1,Q.canRedo=!1,Q.snapshots=R,Q.activeSnapshotId=null,Q.presentations=B.presentations,Q.activePresentationId=B.activeId,Q.presentationSlides=B.presentations[0].slides,Q.presentationActive=!1,Q.presentationSlideIndex=0,Q.metamodel=(()=>{const te=I.metamodel;return!te||te.id==="c4-builtin"?iv():te.id==="c4-ddd-builtin"?gee():te.id==="c4-ddd-governance-builtin"?R9():te})(),Q.hubTemplates=I.hubTemplates??{}}),u()._sync(),u().startLiveLayout({skipBulk:!0}),z&&requestAnimationFrame(()=>{const Q=window.__rfSetViewport;Q==null||Q(z,{duration:0})})},saveDiagram(){const{c4Nodes:I,c4Relations:C,sequences:M,views:_,activeViewId:F,defaultPositions:R,defaultViewport:B,snapshots:G,presentations:z,metamodel:Q}=u(),te=f9(I),ne=F===null?te:R,Y=window.__rfCurrentViewport,oe=Y?{x:Y.x,y:Y.y,zoom:Y.zoom}:null,Z=F===null?oe??B:B,re=Object.values(_).map(de=>({...de,positions:de.id===F?te:de.positions,viewport:de.id===F?oe??de.viewport:de.viewport}));return{nodes:Object.values(I),relations:Object.values(C),sequences:Object.values(M),views:re,defaultPositions:ne,defaultViewport:Z,snapshots:G,presentations:z,metamodel:Q,hubTemplates:u().hubTemplates}},resetDiagram(){u().stopLiveLayout(),cb.length=0,oy.length=0;const I=R4e(),C=e$(void 0,[]);s(M=>{M.c4Nodes=I.nodes,M.c4Relations=I.relations,M.sequences={},M.activeSequenceId=null,M.views={},M.activeViewId=null,M.defaultPositions=f9(I.nodes),M.selectedNodeId=null,M.selectedEdgeId=null,M.canUndo=!1,M.canRedo=!1,M.snapshots=I.snapshots,M.activeSnapshotId=null,M.diffHighlight={},M.diffBaseSnapshotId=null,M.diffGhostNodes={},M.diffGhostRelations={},M.presentations=C.presentations,M.activePresentationId=C.activeId,M.presentationSlides=C.presentations[0].slides,M.presentationActive=!1,M.presentationSlideIndex=0,M.metamodel=iv(),M.hubTemplates={}}),u()._sync(),u().startLiveLayout()},newDiagram(){u().stopLiveLayout(),cb.length=0,oy.length=0;const I=e$(void 0,[]);s(C=>{C.c4Nodes={},C.c4Relations={},C.sequences={},C.activeSequenceId=null,C.views={},C.activeViewId=null,C.defaultPositions={},C.selectedNodeId=null,C.selectedEdgeId=null,C.canUndo=!1,C.canRedo=!1,C.snapshots=[],C.activeSnapshotId=null,C.presentations=I.presentations,C.activePresentationId=I.activeId,C.presentationSlides=I.presentations[0].slides,C.presentationActive=!1,C.presentationSlideIndex=0,C.metamodel=iv(),C.hubTemplates={}}),u()._sync(),u().startLiveLayout()},setFitViewFn(I,C){if(S1n(I),E1n(C??I),u().autoFitActive){const M=$4e();if(M!==null&&(clearInterval(M),d9(null)),I){I();const _=setInterval(()=>{var F;if(!u().autoFitActive){clearInterval(_),d9(null);return}u().presentationActive||(F=q3t())==null||F()},300);d9(_)}}else{const M=$4e();M!==null&&(clearInterval(M),d9(null))}},fitAll(){var C,M;const I=u().activeViewId?u().views[u().activeViewId]:null;if((I==null?void 0:I.kind)==="dynamic"){(C=window.__radicalSeqFitFn)==null||C.call(window);return}(M=_5())==null||M()},zoomIn(){var I;(I=window.__radicalZoomIn)==null||I.call(window)},zoomOut(){var I;(I=window.__radicalZoomOut)==null||I.call(window)},toggleAutoFit(){var M;const I=$4e();I!==null&&(clearInterval(I),d9(null));const C=!u().autoFitActive;if(s(_=>{_.autoFitActive=C}),C){(M=_5())==null||M();const _=setInterval(()=>{var F;if(!u().autoFitActive){clearInterval(_),d9(null);return}u().presentationActive||(F=q3t())==null||F()},300);d9(_)}}}}));typeof requestAnimationFrame<"u"&&xe.getState().startLiveLayout({skipBulk:j8t});var Ext,Ixt;if(typeof window<"u"){let s=null,u=!1,f=!1;const d=()=>{const P=xe.getState().saveDiagram(),O=window.__preModeLayout;return f&&O&&(P.nodes=Object.values(O.c4Nodes),P.relations=Object.values(O.c4Relations),P.views=Object.values(O.views),P.defaultPositions=O.defaultPositions),P},g=async()=>{if(u)return;const P=zo.getActiveId();if(P)try{const O=d();f=!1,await zo.saveDocument(P,O)}catch(O){console.warn("[diagramStore] persist failed:",O)}},m=()=>{s!==null&&clearTimeout(s),s=setTimeout(()=>{s=null,g()},400)};let w=xe.getState();xe.subscribe(P=>{const O=P.appMode!=="designer"&&P.appMode!=="metamodel",I=P.c4Nodes!==w.c4Nodes||P.c4Relations!==w.c4Relations||P.sequences!==w.sequences||P.views!==w.views||P.defaultPositions!==w.defaultPositions||P.defaultViewport!==w.defaultViewport||P.snapshots!==w.snapshots||P.presentations!==w.presentations||P.metamodel!==w.metamodel,C=O&&P.presentations!==w.presentations;!O&&I?(w=P,m()):C?(w=P,f=!0,m()):w=P});const S=zo.getActiveId();if(S){const P=zo.listDocuments().find(O=>O.id===S);(P==null?void 0:P.source)==="fs"&&(u=!0,zo.loadDocument(S).then(O=>{O?xe.getState().loadDiagram(O):xe.getState().loadDiagram({nodes:[],relations:[],metamodel:R9()})}).catch(O=>console.warn("[diagramStore] FS hydrate failed:",O)).finally(()=>{u=!1}))}let N=zo.getActiveId();Tx.subscribe(P=>{if(P.activeId===N||(N=P.activeId,!P.activeId))return;u=!0;const O=zo.listDocuments().find(I=>I.id===P.activeId);zo.loadDocument(P.activeId).then(I=>{I?xe.getState().loadDiagram(I):(O==null?void 0:O.source)==="fs"&&xe.getState().loadDiagram({nodes:[],relations:[],metamodel:R9()})}).catch(I=>console.warn("[diagramStore] switch-doc load failed:",I)).finally(()=>{u=!1})}),window.__radicalFlushPersist=g;const T=()=>{if(u||s===null)return;clearTimeout(s),s=null;const P=zo.getActiveId();if(!P)return;const O=zo.listDocuments().find(I=>I.id===P);if((O==null?void 0:O.source)!=="ls"){g();return}try{const I=d();f=!1,zo.saveDocument(P,I)}catch(I){console.warn("[diagramStore] sync flush failed:",I)}};typeof window.addEventListener=="function"&&(window.addEventListener("pagehide",T),window.addEventListener("beforeunload",T)),typeof document<"u"&&typeof document.addEventListener=="function"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&T()}),(Ext=window.electronAPI)!=null&&Ext.getWatchedPath&&window.electronAPI.getWatchedPath().then(P=>{if(!P)return;const O=zo.createFSDocument(P);zo.setActiveId(O.id)}),(Ixt=window.electronAPI)!=null&&Ixt.onFileChanged&&window.electronAPI.onFileChanged(({content:P})=>{u=!0;try{const O=JSON.parse(P);xe.getState().loadDiagram(O)}catch(O){console.warn("[diagramStore] external file change — invalid JSON, ignored:",O)}finally{setTimeout(()=>{u=!1},300)}})}function I1n(s){const u=s.replace(/\/\/[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,""),f=[];let d=0;for(;d"){f.push({kind:"ARROW",val:"->"}),d+=2;continue}if(g==='"'){d++;let m="";for(;du[Math.min(f+ne,u.length-1)],g=()=>{const ne=u[f];return f0;){const Y=g();Y.kind==="LBRACE"?ne++:Y.kind==="RBRACE"&&ne--}}function I(){const ne=[];for(;d().kind==="STR";)ne.push(g().val);return ne}function C(ne){return ne.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"n"}function M(ne){if(!w.some(oe=>oe.id===ne))return ne;let Y=2;for(;w.some(oe=>oe.id===`${ne}-${Y}`);)Y++;return`${ne}-${Y}`}function _(ne,Y,oe){if(w.push(ne),!Y)return;const Z=Uh(Y);N.set(Z,ne.id);for(const re of oe)T.set(`${Uh(re)}.${Z}`,ne.id)}function F(ne){const Y=Uh(ne);if(T.has(Y))return T.get(Y);if(N.has(Y))return N.get(Y);const oe=Y.split(".");for(let Z=1;Zde.sourceId===Z&&de.targetId===re)||S.push({id:`rel-${++P}`,sourceId:Z,targetId:re,label:oe[0]||void 0,technology:oe[1]||void 0})}function te(){for(g();d().kind!=="RBRACE"&&d().kind!=="EOF";){const ne=d();if(ne.kind==="IDENT"&&ne.val.startsWith("!")){g(),I(),d().kind==="LBRACE"&&O();continue}if(ne.kind==="IDENT"&&Uh(ne.val)==="properties"){g(),d().kind==="LBRACE"&&O();continue}if(ne.kind==="IDENT"&&d(1).kind==="EQ"){const Y=g().val;g(),d().kind==="IDENT"&&sZ.has(Uh(d().val))?z(null,null,[],Y):(I(),d().kind==="LBRACE"&&O());continue}if(ne.kind==="IDENT"&&sZ.has(Uh(ne.val))){z(null,null,[],null);continue}if(ne.kind==="IDENT"&&d(1).kind==="ARROW"){Q();continue}if(ne.kind==="IDENT"&&d(1).kind==="LBRACE"){g(),O();continue}g()}d().kind==="RBRACE"&&g()}for(;d().kind!=="EOF";){if(d().kind==="IDENT"&&Uh(d().val)==="workspace"){g();const ne=I();if(ne[0]&&(m=ne[0]),d().kind!=="LBRACE")break;for(g();d().kind!=="RBRACE"&&d().kind!=="EOF";){const Y=d();if(Y.kind==="IDENT"&&Y.val.startsWith("!")){g(),I();continue}if(Y.kind==="IDENT"&&Uh(Y.val)==="model"){g(),te();continue}if(Y.kind==="IDENT"&&d(1).kind==="LBRACE"){g(),O();continue}g()}d().kind==="RBRACE"&&g();break}g()}return{nodes:w,relations:S,name:m}}function M1n(s){return new Date(s).toLocaleString()}const T1n=[{key:"ls",label:"Local storage",hint:"Models saved inside the app (browser localStorage)."},{key:"fs",label:"Files",hint:"Models backed by a JSON file on disk."}];function A1n({open:s,onClose:u}){const f=Tx(ae=>ae.docs),d=Tx(ae=>ae.activeId),[g,m]=fe.useState(null),[w,S]=fe.useState(""),[N,T]=fe.useState(!1),[P,O]=fe.useState(""),[I,C]=fe.useState(!1),M=fe.useMemo(()=>w6t(),[]),[_,F]=fe.useState("c4-ddd-governance-builtin"),R=xe(ae=>ae.saveDiagram),B=f.find(ae=>ae.id===d),[G,z]=fe.useState((B==null?void 0:B.source)??"ls");fe.useEffect(()=>{s&&B&&z(B.source)},[s]),fe.useEffect(()=>{if(!s)return;const ae=ge=>{ge.key==="Escape"&&u()};return window.addEventListener("keydown",ae),()=>window.removeEventListener("keydown",ae)},[s,u]);const Q=fe.useMemo(()=>{const ae={ls:0,fs:0};for(const ge of f)ae[ge.source]++;return ae},[f]),te=fe.useMemo(()=>f.filter(ae=>ae.source===G).sort((ae,ge)=>ge.lastModified-ae.lastModified),[f,G]);if(!s)return null;const ne=()=>{T(!0),O("Untitled"),F("c4-ddd-governance-builtin"),C(!1),z("ls")},Y=()=>{const ae=P.trim()||"Untitled",ge=M.find(Be=>Be.id===_),_e={nodes:[],relations:[]};ge&&(_e.metamodel=ge.build()),zo.createLSDocument(ae,_e),T(!1),O(""),z("ls")},oe=()=>{T(!1),O(""),C(!1)},Z=async()=>{await zo.importFromFile()&&z("fs")},re=()=>{const ae=document.createElement("input");ae.type="file",ae.accept=".dsl,.txt",ae.style.display="none",document.body.appendChild(ae),ae.onchange=()=>{var Be;const ge=(Be=ae.files)==null?void 0:Be[0];if(document.body.removeChild(ae),!ge)return;const _e=new FileReader;_e.onload=ht=>{var ze;const xt=(ze=ht.target)==null?void 0:ze.result;if(xt)try{const Fe=C1n(xt),Ue=Fe.name||ge.name.replace(/\.(dsl|txt)$/i,"")||"Imported DSL";zo.createLSDocument(Ue,{nodes:Fe.nodes,relations:Fe.relations}),z("ls")}catch(Fe){console.warn("[DSL import] failed:",Fe),window.alert("Could not parse the DSL file. See the browser console for details.")}},_e.readAsText(ge)},ae.click()},de=ae=>{ae!==d&&zo.setActiveId(ae)},U=ae=>{m(ae.id),S(ae.name)},se=()=>{g&&zo.renameDocument(g,w),m(null),S("")},we=ae=>{const ge=ae.source==="fs"?`Remove "${ae.name}" from the library? - -(The file on disk will NOT be deleted.)`:`Permanently delete "${ae.name}" from local storage?`;window.confirm(ge)&&zo.deleteDocument(ae.id)},ve=async ae=>{const ge=R();await zo.saveAsFile(ae.id,ge)&&z("fs")},Ke=()=>{if(G==="ls"){if(N){const ae=M.find(ge=>ge.id===_);return x.jsxs("div",{className:"docmgr-toolbar docmgr-toolbar-create",children:[x.jsxs("div",{className:"docmgr-create-row",children:[x.jsx("input",{className:"docmgr-rename-input",autoFocus:!0,value:P,onChange:ge=>O(ge.target.value),placeholder:"Model name",onKeyDown:ge=>{ge.key==="Enter"?Y():ge.key==="Escape"&&oe()}}),x.jsx("button",{className:"docmgr-btn primary",onClick:Y,children:"Create"}),x.jsx("button",{type:"button",className:"docmgr-btn docmgr-btn-mm",onClick:()=>C(ge=>!ge),title:`Metamodel: ${(ae==null?void 0:ae.name)??_}`,children:x.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"currentColor","aria-hidden":"true",children:x.jsx("path",{d:"M5 7L1 3h8z"})})}),x.jsx("button",{className:"docmgr-btn",onClick:oe,children:"Cancel"})]}),I&&x.jsxs("div",{className:"docmgr-mm-picker",children:[x.jsx("div",{className:"docmgr-mm-picker-title",children:"Metamodel"}),M.map(ge=>{const _e=ge.id===_;return x.jsxs("button",{type:"button",className:`docmgr-mm-option${_e?" active":""}`,onClick:()=>{F(ge.id),C(!1)},"aria-pressed":_e,children:[x.jsxs("div",{className:"docmgr-mm-option-name",children:[ge.name,_e&&x.jsx("span",{style:{marginLeft:6,color:"var(--accent)"},children:"✓"})]}),x.jsx("div",{className:"docmgr-mm-option-desc",children:ge.description})]},ge.id)})]})]})}return x.jsxs("div",{className:"docmgr-toolbar",children:[x.jsx("button",{className:"docmgr-btn primary",onClick:ne,children:"+ New local model"}),x.jsx("button",{className:"docmgr-btn",onClick:re,children:"Import Structurizr DSL…"}),x.jsx("span",{className:"docmgr-toolbar-hint",children:"Stored in your browser only — no file on disk."})]})}return x.jsxs("div",{className:"docmgr-toolbar",children:[x.jsx("button",{className:"docmgr-btn primary",onClick:Z,children:"Open file…"}),x.jsxs("span",{className:"docmgr-toolbar-hint",children:["Pick a ",x.jsx("code",{children:".json"})," model on disk to add to the library."]})]})},je=()=>G==="ls"?x.jsxs("div",{className:"docmgr-empty",children:[x.jsx("p",{style:{margin:"0 0 12px"},children:"No local models yet."}),x.jsx("button",{className:"docmgr-btn primary",onClick:ne,children:"Create one"})]}):x.jsxs("div",{className:"docmgr-empty",children:[x.jsx("p",{style:{margin:"0 0 12px"},children:"No file-backed models yet."}),x.jsx("button",{className:"docmgr-btn primary",onClick:Z,children:"Open a file…"})]});return kM.createPortal(x.jsx("div",{className:"docmgr-backdrop",onMouseDown:ae=>{if(ae.target!==ae.currentTarget)return;const ge=ae.currentTarget,_e=Be=>{window.removeEventListener("mouseup",_e,!0),Be.target===ge&&u()};window.addEventListener("mouseup",_e,!0)},children:x.jsxs("div",{className:"docmgr-modal",onMouseDown:ae=>ae.stopPropagation(),onClick:ae=>ae.stopPropagation(),role:"dialog","aria-label":"Models",children:[x.jsxs("div",{className:"docmgr-header",children:[x.jsx("h2",{children:"Models"}),x.jsx("button",{className:"docmgr-close",onClick:u,"aria-label":"Close",title:"Close (Esc)",children:"✕"})]}),x.jsx("div",{className:"docmgr-tabs",role:"tablist",children:T1n.map(ae=>{const ge=ae.key===G;return x.jsxs("button",{role:"tab","aria-selected":ge,className:`docmgr-tab${ge?" active":""}`,onClick:()=>z(ae.key),title:ae.hint,children:[x.jsx("span",{children:ae.label}),x.jsx("span",{className:"docmgr-tab-count",children:Q[ae.key]})]},ae.key)})}),Ke(),te.length===0?je():x.jsx("ul",{className:"docmgr-list",children:te.map(ae=>{const ge=ae.id===d,_e=g===ae.id;return x.jsxs("li",{className:`docmgr-item${ge?" active":""}`,children:[x.jsxs("div",{className:"docmgr-item-main",onClick:()=>de(ae.id),children:[x.jsx("span",{className:`docmgr-badge ${ae.source}`,children:ae.source==="fs"?"FILE":"LOCAL"}),_e?x.jsx("input",{className:"docmgr-rename-input",autoFocus:!0,value:w,onChange:Be=>S(Be.target.value),onBlur:se,onKeyDown:Be=>{Be.key==="Enter"?se():Be.key==="Escape"&&(m(null),S(""))},onClick:Be=>Be.stopPropagation()}):x.jsxs("div",{className:"docmgr-item-info",children:[x.jsxs("div",{className:"docmgr-name",children:[ae.name,ge&&x.jsx("span",{className:"docmgr-active-tag",children:" · active"})]}),x.jsxs("div",{className:"docmgr-sub",children:[ae.source==="fs"&&ae.filePath&&x.jsx("span",{className:"docmgr-path",title:ae.filePath,children:ae.filePath}),x.jsxs("span",{className:"docmgr-time",children:["modified ",M1n(ae.lastModified)]})]})]})]}),x.jsx("div",{className:"docmgr-item-actions",children:!_e&&x.jsxs(x.Fragment,{children:[x.jsx("button",{className:"docmgr-btn small",onClick:()=>U(ae),title:"Rename",children:"Rename"}),ae.source==="ls"&&x.jsx("button",{className:"docmgr-btn small",onClick:()=>ve(ae),title:"Save current model as a file (converts this entry to file-backed)",children:"Save as file…"}),x.jsx("button",{className:"docmgr-btn small danger",onClick:()=>we(ae),title:ae.source==="fs"?"Remove from library (file kept)":"Delete from local storage",children:"Delete"})]})})]},ae.id)})})]})}),document.body)}const S8t="radical-ai-settings",E5e=["ollama","openai","anthropic","gemini"];function P1n(s){return{apiKey:"",baseUrl:"",model:""}}function _Z(){const s={};for(const u of E5e)s[u]=P1n();return{enabled:!1,active:"openai",providers:s}}function _1n(s){var m;const u=_Z();if(!s||typeof s!="object")return u;const f=s,d=E5e.includes(f.active)?f.active:u.active,g={...u.providers};for(const w of E5e){const S=(m=f.providers)==null?void 0:m[w];S&&typeof S=="object"&&(g[w]={apiKey:typeof S.apiKey=="string"?S.apiKey:"",baseUrl:typeof S.baseUrl=="string"?S.baseUrl:"",model:typeof S.model=="string"?S.model:""})}return{enabled:typeof f.enabled=="boolean"?f.enabled:u.enabled,active:d,providers:g}}function E8t(){try{return globalThis.localStorage??null}catch{return null}}function xee(s){const u=E8t();if(!u)return _Z();try{const f=u.getItem(S8t);return f?_1n(JSON.parse(f)):_Z()}catch{return _Z()}}function O1n(s,u){const f=E8t();if(f)try{f.setItem(S8t,JSON.stringify(s))}catch{}}const I8t="https://api.anthropic.com/v1",L1n="2023-06-01";function D1n(s){const u=[],f=[];for(const d of s)d.role==="system"?u.push(d.content):f.push(d);return{system:u.join(` - -`),rest:f}}async function R1n(s,u){if(!u.apiKey)throw new Error("Anthropic: API key is required");const d=`${(u.baseUrl||I8t).replace(/\/+$/,"")}/messages`,{system:g,rest:m}=D1n(s.messages),w={model:s.model,max_tokens:s.maxTokens??2048,temperature:s.temperature??.2,messages:m.map(P=>({role:P.role,content:P.content}))};g&&(w.system=g);const S=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":u.apiKey,"anthropic-version":L1n,"anthropic-dangerous-direct-browser-access":"true"},body:JSON.stringify(w),signal:s.signal});if(!S.ok){const P=await S.text().catch(()=>"");throw new Error(`Anthropic HTTP ${S.status}: ${P||S.statusText}`)}const N=await S.json();return{content:((N==null?void 0:N.content)??[]).filter(P=>(P==null?void 0:P.type)==="text"&&typeof P.text=="string").map(P=>P.text).join(""),model:N==null?void 0:N.model}}const $1n={id:"anthropic",label:"Anthropic (Claude)",defaultModel:"claude-3-5-sonnet-20241022",defaultBaseUrl:I8t,chat:R1n},N8t="https://generativelanguage.googleapis.com/v1beta";function F1n(s){const u=[],f=[];for(const d of s)d.role==="system"?u.push(d.content):f.push({role:d.role==="assistant"?"model":"user",parts:[{text:d.content}]});return{system:u.length?{parts:[{text:u.join(` - -`)}]}:void 0,contents:f}}async function B1n(s,u){var O,I,C;if(!u.apiKey)throw new Error("Gemini: API key is required");const d=`${(u.baseUrl||N8t).replace(/\/+$/,"")}/models/${encodeURIComponent(s.model)}:generateContent?key=${encodeURIComponent(u.apiKey)}`,{system:g,contents:m}=F1n(s.messages),w={contents:m,generationConfig:{temperature:s.temperature??.2,maxOutputTokens:s.maxTokens??2048,responseMimeType:s.jsonMode?"application/json":void 0}};g&&(w.system_instruction=g);const S=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(w),signal:s.signal});if(!S.ok){const M=await S.text().catch(()=>"");throw new Error(`Gemini HTTP ${S.status}: ${M||S.statusText}`)}const N=await S.json();return{content:(((C=(I=(O=N==null?void 0:N.candidates)==null?void 0:O[0])==null?void 0:I.content)==null?void 0:C.parts)??[]).map(M=>(M==null?void 0:M.text)??"").join(""),model:N==null?void 0:N.modelVersion}}const H1n={id:"gemini",label:"Google Gemini",defaultModel:"gemini-1.5-flash",defaultBaseUrl:N8t,chat:B1n},C8t="http://localhost:11434";async function K1n(s,u){var S;const f=(u.baseUrl||C8t).replace(/\/+$/,""),d=`${f}/api/chat`,g={model:s.model,messages:s.messages.map(N=>({role:N.role,content:N.content})),stream:!1,format:s.jsonMode?"json":void 0,options:{temperature:s.temperature??.2,num_predict:s.maxTokens??2048}};let m;try{m=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(g),signal:s.signal})}catch(N){const T=typeof window<"u"?window.location.origin:"*";throw new Error(`Cannot reach Ollama at ${f}. If Ollama is running, this is almost certainly a CORS/preflight block — restart it with OLLAMA_ORIGINS allowing this page. macOS example: - launchctl setenv OLLAMA_ORIGINS "${T}" - # then restart the Ollama app -Underlying error: ${N.message}`)}if(!m.ok){const N=await m.text().catch(()=>"");throw new Error(`Ollama HTTP ${m.status}: ${N||m.statusText}`)}const w=await m.json();return{content:((S=w==null?void 0:w.message)==null?void 0:S.content)??"",model:w==null?void 0:w.model}}const q1n={id:"ollama",label:"Ollama (local)",defaultModel:"llama3.1",defaultBaseUrl:C8t,chat:K1n},M8t="https://api.openai.com/v1";async function z1n(s,u){var S,N,T;if(!u.apiKey)throw new Error("OpenAI: API key is required");const d=`${(u.baseUrl||M8t).replace(/\/+$/,"")}/chat/completions`,g={model:s.model,messages:s.messages.map(P=>({role:P.role,content:P.content})),temperature:s.temperature??.2,max_tokens:s.maxTokens??2048};s.jsonMode&&(g.response_format={type:"json_object"});const m=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${u.apiKey}`},body:JSON.stringify(g),signal:s.signal});if(!m.ok){const P=await m.text().catch(()=>"");throw new Error(`OpenAI HTTP ${m.status}: ${P||m.statusText}`)}const w=await m.json();return{content:((T=(N=(S=w==null?void 0:w.choices)==null?void 0:S[0])==null?void 0:N.message)==null?void 0:T.content)??"",model:w==null?void 0:w.model}}const V1n={id:"openai",label:"OpenAI (ChatGPT)",defaultModel:"gpt-4o-mini",defaultBaseUrl:M8t,chat:z1n},T8t={ollama:q1n,openai:V1n,anthropic:$1n,gemini:H1n};function kee(s){const u=T8t[s];if(!u)throw new Error(`Unknown AI provider: ${s}`);return u}function A8t(){return Object.values(T8t)}const U1n={ollama:"🦙",openai:"⚡",anthropic:"◆",gemini:"✦"},G1n={ollama:"Local — runs on your machine, no API key required.",openai:"GPT models. Get a key at platform.openai.com.",anthropic:"Claude models. Get a key at console.anthropic.com.",gemini:"Google Gemini. Get a key at aistudio.google.com."};function W1n({open:s,onClose:u}){const[f,d]=fe.useState(()=>xee()),[g,m]=fe.useState(f.active),[w,S]=fe.useState(!1),[N,T]=fe.useState({status:"idle"}),[P,O]=fe.useState(!1),I=fe.useRef(null);fe.useEffect(()=>{if(s){const te=xee();d(te),m(te.active),S(!1),T({status:"idle"})}},[s]),fe.useEffect(()=>{if(!s)return;const te=ne=>{ne.key==="Escape"&&u()};return window.addEventListener("keydown",te),()=>window.removeEventListener("keydown",te)},[s,u]),fe.useEffect(()=>{T({status:"idle"}),S(!1)},[g]);const C=fe.useCallback(te=>{d(te),O1n(te),window.dispatchEvent(new CustomEvent("radical:ai-settings-changed")),O(!0),I.current&&clearTimeout(I.current),I.current=setTimeout(()=>O(!1),1200)},[]),M=fe.useCallback(te=>{C({...f,active:te})},[C,f]),_=fe.useCallback((te,ne)=>{C({...f,providers:{...f.providers,[te]:{...f.providers[te],...ne}}})},[C,f]),F=fe.useCallback(async()=>{var Y;const te=kee(g),ne=f.providers[g];if(g!=="ollama"&&!ne.apiKey){T({status:"err",message:"API key required"});return}T({status:"busy"});try{const Z=((await te.chat({model:ne.model||te.defaultModel,messages:[{role:"user",content:"ping — reply with the single word: pong"}],maxTokens:8,temperature:0},ne)).content||"").trim().slice(0,60);T({status:"ok",message:Z?`OK · ${Z}`:"OK"})}catch(oe){T({status:"err",message:((Y=oe.message)==null?void 0:Y.slice(0,140))||"Request failed"})}},[g,f]);if(!s)return null;const R=kee(g),B=f.providers[g],G=f.active===g,z=g!=="ollama",Q=!z||!!B.apiKey;return kM.createPortal(x.jsx("div",{className:"milestone-modal-backdrop",onMouseDown:te=>{if(te.target!==te.currentTarget)return;const ne=te.currentTarget,Y=oe=>{window.removeEventListener("mouseup",Y,!0),oe.target===ne&&u()};window.addEventListener("mouseup",Y,!0)},children:x.jsxs("div",{className:"milestone-modal ai-settings-modal",onMouseDown:te=>te.stopPropagation(),onClick:te=>te.stopPropagation(),role:"dialog","aria-label":"AI provider settings",children:[x.jsx("button",{type:"button",className:"ai-settings-close",onClick:u,"aria-label":"Close",title:"Close (Esc)",children:"✕"}),x.jsx("h3",{className:"milestone-modal-title",children:"AI providers"}),x.jsx("p",{className:"milestone-modal-text",style:{marginBottom:4},children:"Configure connections to AI providers. Settings are stored in this browser's localStorage — do not use shared machines for sensitive keys."}),x.jsxs("div",{className:"ai-enable-row",children:[x.jsxs("label",{className:"ai-enable-toggle",title:"Show or hide all AI features in the UI",children:[x.jsx("input",{type:"checkbox",checked:f.enabled,onChange:te=>C({...f,enabled:te.target.checked})}),x.jsx("span",{className:"ai-enable-switch","aria-hidden":!0}),x.jsx("span",{className:"ai-enable-label",children:f.enabled?"AI features enabled":"AI features disabled"})]}),x.jsx("span",{className:"ai-enable-hint",children:f.enabled?"Quick Search shows the ✨ AI mode and ⌘+↵ shortcut.":"Turn on to surface AI in Quick Search and elsewhere."})]}),x.jsx("div",{className:"ai-settings-tabs",role:"tablist",children:A8t().map(te=>{const ne=f.active===te.id;return x.jsxs("button",{role:"tab","aria-selected":g===te.id,className:`ai-settings-tab${g===te.id?" editing":""}`,onClick:()=>m(te.id),title:ne?"Active provider":`Edit ${te.label}`,children:[x.jsx("span",{"aria-hidden":!0,children:U1n[te.id]}),x.jsx("span",{children:te.label}),ne&&x.jsx("span",{className:"ai-settings-tab-active-dot","aria-label":"active"})]},te.id)})}),x.jsxs("div",{className:"ai-settings-section",children:[x.jsx("div",{className:"ai-settings-help",style:{marginBottom:2},children:G1n[g]}),x.jsxs("div",{className:"ai-settings-row",children:[x.jsx("label",{htmlFor:"ai-model",children:"Model"}),x.jsx("div",{className:"ai-settings-input-wrap",children:x.jsx("input",{id:"ai-model",value:B.model||"",placeholder:R.defaultModel,onChange:te=>_(g,{model:te.target.value}),autoComplete:"off",spellCheck:!1})})]}),x.jsxs("div",{className:"ai-settings-row",children:[x.jsxs("label",{htmlFor:"ai-baseurl",children:["Base URL ",x.jsx("span",{style:{opacity:.6},children:"(optional)"})]}),x.jsx("div",{className:"ai-settings-input-wrap",children:x.jsx("input",{id:"ai-baseurl",value:B.baseUrl||"",placeholder:R.defaultBaseUrl,onChange:te=>_(g,{baseUrl:te.target.value}),autoComplete:"off",spellCheck:!1})})]}),z&&x.jsxs("div",{className:"ai-settings-row",children:[x.jsx("label",{htmlFor:"ai-key",children:"API key"}),x.jsxs("div",{className:"ai-settings-input-wrap",children:[x.jsx("input",{id:"ai-key",type:w?"text":"password",value:B.apiKey||"",onChange:te=>_(g,{apiKey:te.target.value}),autoComplete:"off",spellCheck:!1,placeholder:`Paste your ${R.label} API key…`}),x.jsx("button",{type:"button",className:"ai-settings-eye",onClick:()=>S(te=>!te),title:w?"Hide key":"Show key","aria-label":w?"Hide API key":"Show API key",children:w?"Hide":"Show"})]})]}),g==="ollama"&&x.jsxs("div",{className:"ai-settings-help",children:["The browser must be allowed to call Ollama cross-origin. Set",x.jsx("code",{children:"OLLAMA_ORIGINS"})," to include this page's origin (",x.jsx("code",{children:typeof window<"u"?window.location.origin:"*"}),"), then restart Ollama.",x.jsx("pre",{children:`# macOS (Ollama desktop app): -launchctl setenv OLLAMA_ORIGINS "${typeof window<"u"?window.location.origin:"*"}" -# then quit & relaunch Ollama.app - -# OR if you run \`ollama serve\` manually: -OLLAMA_ORIGINS='${typeof window<"u"?window.location.origin:"*"}' ollama serve`}),"Then pull a model, e.g. ",x.jsx("code",{children:"ollama pull llama3.1"}),"."]}),x.jsxs("div",{className:"ai-settings-actions",children:[x.jsx("button",{type:"button",className:"milestone-btn",onClick:F,disabled:!Q||N.status==="busy",title:Q?"Send a tiny ping to verify the connection":"Set an API key first",children:N.status==="busy"?"Testing…":"Test connection"}),N.status==="busy"&&x.jsx("span",{className:"ai-test-result busy",children:"connecting…"}),N.status==="ok"&&x.jsxs("span",{className:"ai-test-result ok",children:["✓ ",N.message]}),N.status==="err"&&x.jsxs("span",{className:"ai-test-result err",children:["✕ ",N.message]})]})]}),x.jsxs("div",{className:"ai-settings-footer",children:[x.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[G?x.jsx("span",{className:"ai-active-badge",title:"Currently used by the AI agent",children:"● Active"}):x.jsx("button",{type:"button",className:"ai-set-default-btn",onClick:()=>M(g),title:`Use ${R.label} as the active AI provider`,children:"Set as active"}),P&&x.jsx("span",{className:"ai-settings-saved",children:"saved"})]}),x.jsx("button",{className:"milestone-btn primary",onClick:u,children:"Done"})]})]})}),document.body)}function X1n(){window.dispatchEvent(new CustomEvent("radical:open-ai-settings"))}const J1n="https://hub.radical.tools/hub-data.json",Y1n="/hub-data.json",Q1n=5*60*1e3,U3t=G6e()((s,u)=>({concepts:[],loading:!1,error:null,lastFetched:null,activeCategory:null,searchQuery:"",activeTag:null,async fetchConcepts(){const{lastFetched:f,loading:d}=u();if(!d&&!(f&&Date.now()-f!(d&&S.category!==d||m&&!S.tags.includes(m)||w&&!`${S.name} ${S.description} ${S.tags.join(" ")}`.toLowerCase().includes(w)))},allTags(){const f=new Map;for(const d of u().concepts)for(const g of d.tags)f.set(g,(f.get(g)??0)+1);return[...f.entries()].map(([d,g])=>({tag:d,count:g})).sort((d,g)=>g.count-d.count)}})),F4e={pattern:"🏗️","fitness-function":"🎯",requirement:"📋",adr:"📄",blueprint:"🔷"},B4e={pattern:"Patterns","fitness-function":"Fitness Fns",requirement:"Requirements",adr:"ADRs",blueprint:"Blueprints"},Z1n=["pattern","fitness-function","requirement","adr","blueprint"],ns={backdrop:{position:"fixed",inset:0,background:"rgba(0,0,0,0.55)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9e3},modal:{position:"relative",background:"var(--bg-panel)",borderRadius:12,width:"96vw",maxWidth:"96vw",maxHeight:"88vh",display:"flex",flexDirection:"column",boxShadow:"var(--shadow-lg)",color:"var(--text-primary)",overflow:"hidden"},templateOverlay:{position:"absolute",inset:0,background:"var(--bg-panel)",display:"flex",flexDirection:"column",zIndex:10},templateHeader:{padding:"16px 20px 12px",borderBottom:"1px solid var(--border-color)",display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12},templateBody:{flex:1,overflowY:"auto",padding:"20px",display:"flex",flexDirection:"column",gap:16},templateField:{display:"flex",flexDirection:"column",gap:6},templateLabel:{fontSize:13,fontWeight:500,color:"var(--text-primary)"},templateHint:{fontSize:11,color:"var(--text-muted)",marginTop:2},templateInput:{padding:"8px 12px",borderRadius:6,border:"1px solid var(--border-color)",background:"var(--input-bg)",color:"var(--text-primary)",fontSize:14,outline:"none"},templateFooter:{display:"flex",gap:8,justifyContent:"flex-end",padding:"12px 20px 16px",borderTop:"1px solid var(--border-color)"},header:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 20px 12px",borderBottom:"1px solid var(--border-color)"},title:{margin:0,fontSize:18,fontWeight:600,color:"var(--text-primary)"},closeBtn:{background:"none",border:"none",color:"var(--text-muted)",fontSize:20,cursor:"pointer",padding:"2px 6px",borderRadius:4,lineHeight:1},filterBar:{display:"flex",gap:8,padding:"12px 20px",flexWrap:"wrap",alignItems:"center",borderBottom:"1px solid var(--border-color)"},pill:s=>({padding:"5px 12px",borderRadius:16,border:"none",cursor:"pointer",fontSize:13,fontWeight:s?600:400,background:s?"var(--accent)":"var(--input-bg)",color:s?"#fff":"var(--text-secondary)",transition:"background 0.15s, color 0.15s"}),searchInput:{flex:1,minWidth:160,padding:"6px 12px",borderRadius:8,border:"1px solid var(--border-color)",background:"var(--input-bg)",color:"var(--text-primary)",fontSize:13,outline:"none"},list:{flex:1,overflowY:"auto",padding:"12px 20px 20px",display:"flex",flexDirection:"column",gap:10},card:{background:"var(--hover-bg)",borderRadius:8,padding:"14px 16px",display:"flex",flexDirection:"column",gap:8},cardHeader:{display:"flex",alignItems:"center",gap:8,justifyContent:"space-between"},cardName:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:0},badge:s=>({fontSize:11,padding:"2px 8px",borderRadius:10,background:s,color:"#fff",fontWeight:500,whiteSpace:"nowrap"}),cardDesc:{fontSize:13,color:"var(--text-secondary)",margin:0,lineHeight:1.45},tagRow:{display:"flex",flexWrap:"wrap",gap:5,alignItems:"center"},tag:{fontSize:11,padding:"2px 8px",borderRadius:10,background:"var(--input-bg)",color:"var(--text-secondary)",cursor:"pointer"},importBtn:{alignSelf:"flex-end",padding:"6px 16px",borderRadius:6,border:"none",background:"var(--accent)",color:"#fff",fontSize:13,fontWeight:500,cursor:"pointer"},center:{display:"flex",alignItems:"center",justifyContent:"center",padding:40,color:"var(--text-muted)",fontSize:14},warning:{fontSize:11,padding:"2px 8px",borderRadius:10,background:"#92400e",color:"#fde68a",fontWeight:500,whiteSpace:"nowrap"}},G3t={pattern:"#6d28d9","fitness-function":"#5b21b6",requirement:"#0e7490",adr:"#92400e",blueprint:"#1e3a5f"};function e0n(s,u){return s.replace(/\{\{([A-Z0-9_]+)\}\}/g,(f,d)=>u[d]??`{{${d}}}`)}function t0n(s,u){var d;if(!((d=s.templateParams)!=null&&d.length))return s;const f=g=>{const m={};for(const[w,S]of Object.entries(g))m[w]=typeof S=="string"?e0n(S,u):S;return m};return{...s,nodes:s.nodes.map(f)}}function n0n({open:s,onClose:u,preselectedIds:f}){var ae;const{loading:d,error:g,activeCategory:m,searchQuery:w,activeTag:S,fetchConcepts:N,setCategory:T,setSearch:P,setTag:O,resetFilters:I,filteredConcepts:C}=U3t();fe.useEffect(()=>{s&&N()},[s,N]),fe.useEffect(()=>{if(!s)return;const ge=_e=>{_e.key==="Escape"&&u()};return window.addEventListener("keydown",ge),()=>window.removeEventListener("keydown",ge)},[s,u]),fe.useEffect(()=>{s&&I()},[s,I]);const M=fe.useMemo(()=>{if(!s)return[];const ge=C();if(!f||f.length===0)return ge;const _e=new Set(f);return ge.filter(Be=>_e.has(Be.id))},[s,d,C,m,w,S,f]),[_,F]=fe.useState(null),[R,B]=fe.useState({}),[G,z]=fe.useState(new Set);fe.useEffect(()=>{s&&z(new Set)},[s]);const[Q,te]=fe.useState(null),[ne,Y]=fe.useState(new Set),[oe,Z]=fe.useState(new Set),re=U3t(ge=>ge.concepts);fe.useEffect(()=>{if(!(_!=null&&_.templateParams))return;const ge={};for(const _e of _.templateParams)ge[_e.key]=_e.defaultValue??"";B(ge)},[_]);const de=xe(ge=>{var _e;return(_e=ge.metamodel)==null?void 0:_e.id}),U=xe(ge=>ge.metamodel),se=xe(ge=>ge.selectedNodeId),we=xe(ge=>ge.c4Nodes),ve=fe.useCallback(ge=>{if(!se)return null;const _e=we[se];return _e?ge.nodes.filter(xt=>!xt.parentId).map(xt=>xt.type??"component").every(xt=>Wh(U,xt,_e.type))?"ok":"incompatible":null},[se,we,U]),Ke=fe.useCallback((ge,_e)=>{var Vo;const Be=xe.getState(),ht=new Map,xt=Be.selectedNodeId??null,ze=xt?Be.c4Nodes[xt]??null:null,Fe=ze!==null&&ge.nodes.filter(ni=>!ni.parentId).every(ni=>Wh(Be.metamodel,ni.type??"component",ze.type)),Ue=window.__rfGetViewport,Vt=(Ue==null?void 0:Ue())??{x:0,y:0,zoom:1},Et=(-Vt.x+window.innerWidth/2)/Vt.zoom,un=(-Vt.y+window.innerHeight/2)/Vt.zoom;for(const ni of ge.nodes)ht.set(ni.id,crypto.randomUUID());const Bn=ge.nodes.filter(ni=>!ni.parentId);let vn=1/0,ft=1/0,zt=-1/0,vt=-1/0;for(const ni of Bn){const oi=ni.x??0,Hr=ni.y??0,Ro=ni.width??200,Fs=ni.height??120;oizt&&(zt=oi+Ro),Hr+Fs>vt&&(vt=Hr+Fs)}const pn=zt-vn,ln=vt-ft,Dt=isFinite(vn)?Et-vn-pn/2:Et,ji=isFinite(ft)?un-ft-ln/2:un,Hi={};for(const ni of ge.nodes){const oi=ni.id,Hr=ht.get(oi),Ro=ni.type??"component",Fs=Lr[Ro]??{width:200,height:120},oa=!!ni.parentId,Nu={...ni,id:Hr,type:Ro,label:ni.label??ge.name,description:ni.description??void 0,technology:ni.technology??void 0,collapsed:ni.collapsed??!1,templateParams:void 0,parentId:void 0,x:oa||Fe?ni.x??20:(ni.x??0)+Dt,y:oa||Fe?ni.y??20:(ni.y??0)+ji,width:ni.width??Fs.width,height:ni.height??Fs.height};ni.parentId&&ht.has(ni.parentId)?Nu.parentId=ht.get(ni.parentId):!ni.parentId&&Fe&&xt&&(Nu.parentId=xt),Hi[Hr]=Nu}const Wr={};if(ge.relations)for(const ni of ge.relations){const oi=ht.get(ni.sourceId),Hr=ht.get(ni.targetId);if(!oi||!Hr)continue;const Ro=crypto.randomUUID();Wr[Ro]={id:Ro,sourceId:oi,targetId:Hr,label:ni.label??void 0,technology:ni.technology??void 0,relationType:ni.relationType??void 0}}Be._pushUndo(),Be._markMilestoneEdit(),xe.setState(ni=>{Object.assign(ni.c4Nodes,Hi),Object.assign(ni.c4Relations,Wr),ni.activeViewId&&ni.views[ni.activeViewId]&&ni.views[ni.activeViewId].nodeIds.push(...Object.keys(Hi))});{const ni=xe.getState(),oi=ni.activeViewId?ni.views[ni.activeViewId]:void 0,Hr=oi?new Set(oi.nodeIds):void 0;ni._resizeParentsBottomUp(Hr)}if(Be._sync(),_e&&((Vo=ge.templateParams)!=null&&Vo.length)){const ni=crypto.randomUUID(),oi={},Hr={};for(const Fs of _e.originalConcept.nodes){const oa=ht.get(Fs.id);if(oa){oi[oa]=Fs;const Nu=Fs.templateParams;Nu!=null&&Nu.length&&(Hr[oa]=Nu)}}const Ro={conceptId:ge.id,conceptName:ge.name,templateParams:ge.templateParams,paramValues:{..._e.paramValues},nodeIds:Object.keys(Hi),originalNodes:oi,nodeParams:Object.keys(Hr).length?Hr:void 0};Be.upsertHubTemplate(ni,Ro)}Be.pushNotification(Fe?`Imported "${ge.name}" into "${ze.label}"`:`Imported "${ge.name}"`,"info"),f&&f.length>0?z(ni=>{const oi=new Set(ni);return oi.add(ge.id),oi}):u()},[u,f]),je=fe.useCallback(ge=>{var _e;ge.category==="blueprint"?(Y(new Set(ge.nodes.filter(Be=>Be.type!=="blueprint").map(Be=>Be.id))),Z(new Set(ge.hubRefs??[])),te(ge)):(_e=ge.templateParams)!=null&&_e.length?F(ge):Ke(ge)},[Ke]);return s?kM.createPortal(x.jsx("div",{style:ns.backdrop,onMouseDown:ge=>{if(ge.target!==ge.currentTarget)return;const _e=ge.currentTarget,Be=ht=>{window.removeEventListener("mouseup",Be,!0),ht.target===_e&&u()};window.addEventListener("mouseup",Be,!0)},children:x.jsxs("div",{style:ns.modal,onMouseDown:ge=>ge.stopPropagation(),onClick:ge=>ge.stopPropagation(),role:"dialog","aria-label":"Import from Hub",children:[x.jsxs("div",{style:ns.header,children:[x.jsx("h3",{style:ns.title,children:"Import from Hub"}),x.jsx("button",{type:"button",style:ns.closeBtn,onClick:u,"aria-label":"Close",title:"Close (Esc)",children:"✕"})]}),f&&f.length>0&&(()=>{const ge=M.length>0&&M.every(_e=>G.has(_e.id));return x.jsxs("div",{style:{padding:"8px 20px",background:ge?"rgba(5,150,105,.08)":"var(--accent-dim)",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8,fontSize:13,color:ge?"#059669":"var(--accent)"},children:[x.jsx("span",{children:ge?"✅":"🔗"}),x.jsx("span",{style:{flex:1},children:ge?x.jsx(x.Fragment,{children:x.jsxs("strong",{children:["All ",M.length," concept",M.length!==1?"s":""," imported!"]})}):x.jsxs(x.Fragment,{children:["Showing ",x.jsx("strong",{children:M.length})," concept",M.length!==1?"s":""," selected from Hub — ",x.jsxs("strong",{children:[G.size,"/",M.length]})," imported."]})}),ge&&x.jsx("button",{type:"button",onClick:u,style:{...ns.importBtn,padding:"4px 14px",fontSize:12},children:"Close"})]})})(),x.jsxs("div",{style:ns.filterBar,children:[x.jsx("button",{style:ns.pill(m===null),onClick:()=>T(null),children:"All"}),Z1n.map(ge=>x.jsxs("button",{style:ns.pill(m===ge),onClick:()=>T(ge),children:[F4e[ge]," ",B4e[ge]]},ge)),x.jsx("input",{style:ns.searchInput,type:"text",placeholder:"Search concepts…",value:w,onChange:ge=>P(ge.target.value),autoComplete:"off",spellCheck:!1})]}),S&&x.jsxs("div",{style:{padding:"6px 20px 0",display:"flex",alignItems:"center",gap:6,fontSize:13},children:[x.jsx("span",{style:{color:"var(--text-muted)"},children:"Tag:"}),x.jsx("span",{style:{...ns.tag,background:"var(--accent)",color:"#fff"},children:S}),x.jsx("button",{type:"button",style:{...ns.closeBtn,fontSize:14,padding:"0 4px"},onClick:()=>O(null),title:"Clear tag filter",children:"✕"})]}),x.jsxs("div",{style:ns.list,children:[d&&x.jsx("div",{style:ns.center,children:"Loading hub data…"}),g&&x.jsxs("div",{style:{...ns.center,color:"var(--danger)"},children:["⚠ ",g]}),!d&&!g&&M.length===0&&x.jsx("div",{style:ns.center,children:"No concepts match your filters."}),M.map(ge=>{var ze;const _e=ge.requiredMetamodel&&de&&ge.requiredMetamodel!==de,Be=ve(ge),ht=se?(ze=we[se])==null?void 0:ze.label:null,xt=G.has(ge.id);return x.jsxs("div",{style:{...ns.card,opacity:xt?.55:1},children:[x.jsxs("div",{style:ns.cardHeader,children:[x.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[x.jsxs("h4",{style:ns.cardName,children:[F4e[ge.category]," ",ge.name]}),x.jsx("span",{style:ns.badge(G3t[ge.category]??"#555"),children:B4e[ge.category]??ge.category}),_e&&x.jsx("span",{style:ns.warning,title:`Requires metamodel: ${ge.requiredMetamodel}`,children:"⚠ metamodel"}),Be==="ok"&&ht&&x.jsxs("span",{style:{...ns.badge("#065f46"),maxWidth:160,overflow:"hidden",textOverflow:"ellipsis"},title:`Will be added inside "${ht}"`,children:["↳ ",ht]})]}),xt?x.jsx("span",{style:{...ns.importBtn,background:"#059669",borderColor:"#059669",cursor:"default",opacity:.85},children:"✓ Imported"}):x.jsx("button",{type:"button",style:ns.importBtn,onClick:()=>je(ge),children:"Add to Model"})]}),x.jsx("p",{style:ns.cardDesc,children:ge.description}),ge.templateParams&&ge.templateParams.length>0&&x.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:5,alignItems:"center"},children:[x.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",marginRight:2},children:"params:"}),ge.templateParams.map(Fe=>x.jsx("span",{title:Fe.hint?`${Fe.label} (default: ${Fe.hint})`:Fe.label,style:{fontSize:11,padding:"2px 8px",borderRadius:10,background:"rgba(99,102,241,0.15)",color:"var(--accent)",fontFamily:"monospace",whiteSpace:"nowrap"},children:Fe.key},Fe.key))]}),ge.tags.length>0&&x.jsx("div",{style:ns.tagRow,children:ge.tags.map(Fe=>x.jsx("span",{style:{...ns.tag,...S===Fe?{background:"var(--accent)",color:"#fff"}:{}},onClick:()=>O(S===Fe?null:Fe),role:"button",tabIndex:0,title:`Filter by tag "${Fe}"`,children:Fe},Fe))})]},ge.id)})]}),Q&&x.jsxs("div",{style:ns.templateOverlay,children:[x.jsxs("div",{style:ns.templateHeader,children:[x.jsxs("div",{children:[x.jsxs("h3",{style:ns.title,children:["🔷 ",Q.name]}),x.jsx("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--text-muted)"},children:"Select which elements to import into your model."})]}),x.jsx("button",{type:"button",style:ns.closeBtn,onClick:()=>te(null),"aria-label":"Cancel",children:"✕"})]}),x.jsxs("div",{style:ns.templateBody,children:[(()=>{const ge={};for(const Be of Q.nodes){const ht=Be.type??"component";ge[ht]||(ge[ht]=[]),ge[ht].push(Be)}const _e={blueprint:"Blueprint root",system:"Systems",container:"Containers",component:"Components",database:"Databases",webapp:"Web Apps",queue:"Queues",domain:"Domains",group:"Groups",adr:"ADRs","fitness-fn":"Fitness Functions",requirement:"Requirements"};return Object.entries(ge).filter(([Be])=>Be!=="blueprint").map(([Be,ht])=>x.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[x.jsxs("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.06em",color:"var(--text-muted)",marginBottom:2},children:[_e[Be]??Be," (",ht.length,")"]}),ht.map(xt=>{const ze=xt.id,Fe=ne.has(ze);return x.jsxs("label",{style:{display:"flex",alignItems:"flex-start",gap:8,cursor:"pointer",padding:"4px 6px",borderRadius:4,background:Fe?"rgba(59,124,201,0.12)":"transparent"},children:[x.jsx("input",{type:"checkbox",checked:Fe,style:{marginTop:2,accentColor:"var(--accent)",flexShrink:0},onChange:()=>{Y(Ue=>{const Vt=new Set(Ue);return Vt.has(ze)?Vt.delete(ze):Vt.add(ze),Vt})}}),x.jsxs("div",{style:{minWidth:0},children:[x.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:xt.label||ze}),typeof xt.description=="string"&&xt.description&&x.jsx("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:xt.description})]})]},ze)})]},Be))})(),Q.hubRefs&&Q.hubRefs.length>0&&(()=>{const ge=Q.hubRefs.map(_e=>re.find(Be=>Be.id===_e)).filter(_e=>!!_e);return ge.length===0?null:x.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4,paddingTop:8,borderTop:"1px solid var(--border-color)",marginTop:4},children:[x.jsxs("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.06em",color:"var(--text-muted)",marginBottom:2},children:["Referenced Hub Concepts (",ge.length,")"]}),x.jsx("div",{style:{fontSize:11,color:"var(--text-muted)",marginBottom:6},children:"Standalone hub items recommended by this blueprint. Each will be imported as a separate concept."}),ge.map(_e=>{const Be=oe.has(_e.id);return x.jsxs("label",{style:{display:"flex",alignItems:"flex-start",gap:8,cursor:"pointer",padding:"4px 6px",borderRadius:4,background:Be?"rgba(59,124,201,0.12)":"transparent"},children:[x.jsx("input",{type:"checkbox",checked:Be,style:{marginTop:2,accentColor:"var(--accent)",flexShrink:0},onChange:()=>{Z(ht=>{const xt=new Set(ht);return xt.has(_e.id)?xt.delete(_e.id):xt.add(_e.id),xt})}}),x.jsxs("div",{style:{minWidth:0},children:[x.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[x.jsx("span",{style:{fontSize:12},children:F4e[_e.category]??"📦"}),x.jsx("span",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:_e.name}),x.jsx("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:8,background:G3t[_e.category]??"#555",color:"#fff",flexShrink:0},children:B4e[_e.category]??_e.category})]}),x.jsx("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:_e.description})]})]},_e.id)})]})})()]}),x.jsxs("div",{style:ns.templateFooter,children:[x.jsx("button",{type:"button",style:{...ns.importBtn,background:"none",border:"1px solid var(--border-color)",color:"var(--text-secondary)"},onClick:()=>{const ge=new Set(Q.nodes.map(ht=>ht.id)),_e=new Set(Q.hubRefs??[]);ne.size===ge.size&&oe.size===_e.size?(Y(new Set),Z(new Set)):(Y(ge),Z(_e))},children:ne.size===Q.nodes.length&&oe.size===(((ae=Q.hubRefs)==null?void 0:ae.length)??0)?"Deselect all":"Select all"}),x.jsx("button",{type:"button",style:{...ns.importBtn,background:"var(--input-bg)",color:"var(--text-secondary)"},onClick:()=>te(null),children:"Cancel"}),x.jsxs("button",{type:"button",style:{...ns.importBtn,opacity:ne.size===0&&oe.size===0?.5:1},disabled:ne.size===0&&oe.size===0,onClick:()=>{var Be;const ge=Q,_e=oe;if(te(null),ne.size>0){const ht=ge.nodes.filter(Vt=>ne.has(Vt.id)),xt=(ge.relations??[]).filter(Vt=>ne.has(Vt.sourceId)&&ne.has(Vt.targetId)),ze=new Set,Fe=[];for(const Vt of ht){const Et=Vt.templateParams;if(Et)for(const un of Et)ze.has(un.key)||(ze.add(un.key),Fe.push(un))}const Ue={...ge,nodes:ht,relations:xt,templateParams:Fe.length?Fe:void 0};(Be=Ue.templateParams)!=null&&Be.length?F(Ue):Ke(Ue)}for(const ht of _e){const xt=re.find(ze=>ze.id===ht);xt&&Ke(xt)}},children:["Import (",ne.size," inline",oe.size>0?` + ${oe.size} refs`:"",")"]})]})]}),_&&x.jsxs("div",{style:ns.templateOverlay,children:[x.jsxs("div",{style:ns.templateHeader,children:[x.jsxs("div",{children:[x.jsxs("h3",{style:ns.title,children:["Configure: ",_.name]}),x.jsx("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--text-muted)"},children:"Fill in the template parameters before importing."})]}),x.jsx("button",{type:"button",style:ns.closeBtn,onClick:()=>F(null),"aria-label":"Cancel template",children:"✕"})]}),x.jsx("div",{style:ns.templateBody,children:(_.templateParams??[]).map(ge=>x.jsxs("div",{style:ns.templateField,children:[x.jsx("label",{style:ns.templateLabel,children:ge.label}),x.jsx("input",{style:ns.templateInput,type:ge.type==="number"?"number":"text",placeholder:ge.hint??"",value:R[ge.key]??"",onChange:_e=>B(Be=>({...Be,[ge.key]:_e.target.value})),autoComplete:"off",spellCheck:!1}),ge.hint&&x.jsxs("span",{style:ns.templateHint,children:["e.g. ",ge.hint]})]},ge.key))}),x.jsxs("div",{style:ns.templateFooter,children:[x.jsx("button",{type:"button",style:{...ns.importBtn,background:"var(--input-bg)",color:"var(--text-secondary)"},onClick:()=>F(null),children:"Cancel"}),x.jsx("button",{type:"button",style:ns.importBtn,onClick:()=>{const ge=_,_e=t0n(_,R);F(null),Ke(_e,{originalConcept:ge,paramValues:{...R}})},children:"Import"})]})]})]})}),document.body):null}function fF(s,u,f){fe.useEffect(()=>{if(!u||typeof document>"u"&&typeof window>"u")return;const d=T=>{const P=T.target;if(P){for(const O of s){const I=O.current;if(I&&I.contains(P))return}typeof P.closest=="function"&&P.closest('[role="dialog"]')||f()}};let g=0,m=!1;const w={capture:!0},S=typeof document<"u"?document:window,N=()=>{m=!0,S.addEventListener("pointerdown",d,w),S.addEventListener("mousedown",d,w)};return typeof requestAnimationFrame=="function"?g=requestAnimationFrame(N):N(),()=>{g&&cancelAnimationFrame(g),m&&(S.removeEventListener("pointerdown",d,w),S.removeEventListener("mousedown",d,w))}},[u,f,...s])}function i0n(s,u){if(s.match(/^[a-z]+:\/\//i))return s;if(s.match(/^\/\//))return window.location.protocol+s;if(s.match(/^[a-z]+:/i))return s;const f=document.implementation.createHTMLDocument(),d=f.createElement("base"),g=f.createElement("a");return f.head.appendChild(d),f.body.appendChild(g),u&&(d.href=u),g.href=s,g.href}const r0n=(()=>{let s=0;const u=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(s+=1,`u${u()}${s}`)})();function n6(s){const u=[];for(let f=0,d=s.length;fhg||s.height>hg)&&(s.width>hg&&s.height>hg?s.width>s.height?(s.height*=hg/s.width,s.width=hg):(s.width*=hg/s.height,s.height=hg):s.width>hg?(s.height*=hg/s.width,s.width=hg):(s.width*=hg/s.height,s.height=hg))}function See(s){return new Promise((u,f)=>{const d=new Image;d.onload=()=>{d.decode().then(()=>{requestAnimationFrame(()=>u(d))})},d.onerror=f,d.crossOrigin="anonymous",d.decoding="async",d.src=s})}async function l0n(s){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(s)).then(encodeURIComponent).then(u=>`data:image/svg+xml;charset=utf-8,${u}`)}async function a0n(s,u,f){const d="http://www.w3.org/2000/svg",g=document.createElementNS(d,"svg"),m=document.createElementNS(d,"foreignObject");return g.setAttribute("width",`${u}`),g.setAttribute("height",`${f}`),g.setAttribute("viewBox",`0 0 ${u} ${f}`),m.setAttribute("width","100%"),m.setAttribute("height","100%"),m.setAttribute("x","0"),m.setAttribute("y","0"),m.setAttribute("externalResourcesRequired","true"),g.appendChild(m),m.appendChild(s),l0n(g)}const Y0=(s,u)=>{if(s instanceof u)return!0;const f=Object.getPrototypeOf(s);return f===null?!1:f.constructor.name===u.name||Y0(f,u)};function f0n(s){const u=s.getPropertyValue("content");return`${s.cssText} content: '${u.replace(/'|"/g,"")}';`}function h0n(s,u){return P8t(u).map(f=>{const d=s.getPropertyValue(f),g=s.getPropertyPriority(f);return`${f}: ${d}${g?" !important":""};`}).join(" ")}function d0n(s,u,f,d){const g=`.${s}:${u}`,m=f.cssText?f0n(f):h0n(f,d);return document.createTextNode(`${g}{${m}}`)}function W3t(s,u,f,d){const g=window.getComputedStyle(s,f),m=g.getPropertyValue("content");if(m===""||m==="none")return;const w=r0n();try{u.className=`${u.className} ${w}`}catch{return}const S=document.createElement("style");S.appendChild(d0n(w,f,g,d)),u.appendChild(S)}function p0n(s,u,f){W3t(s,u,":before",f),W3t(s,u,":after",f)}const X3t="application/font-woff",J3t="image/jpeg",g0n={woff:X3t,woff2:X3t,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:J3t,jpeg:J3t,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function w0n(s){const u=/\.([^./]*?)$/g.exec(s);return u?u[1]:""}function o8e(s){const u=w0n(s).toLowerCase();return g0n[u]||""}function b0n(s){return s.split(/,/)[1]}function I5e(s){return s.search(/^(data:)/)!==-1}function m0n(s,u){return`data:${u};base64,${s}`}async function O8t(s,u,f){const d=await fetch(s,u);if(d.status===404)throw new Error(`Resource "${d.url}" not found`);const g=await d.blob();return new Promise((m,w)=>{const S=new FileReader;S.onerror=w,S.onloadend=()=>{try{m(f({res:d,result:S.result}))}catch(N){w(N)}},S.readAsDataURL(g)})}const H4e={};function v0n(s,u,f){let d=s.replace(/\?.*/,"");return f&&(d=s),/ttf|otf|eot|woff2?/i.test(d)&&(d=d.replace(/.*\//,"")),u?`[${u}]${d}`:d}async function c8e(s,u,f){const d=v0n(s,u,f.includeQueryParams);if(H4e[d]!=null)return H4e[d];f.cacheBust&&(s+=(/\?/.test(s)?"&":"?")+new Date().getTime());let g;try{const m=await O8t(s,f.fetchRequestInit,({res:w,result:S})=>(u||(u=w.headers.get("Content-Type")||""),b0n(S)));g=m0n(m,u)}catch(m){g=f.imagePlaceholder||"";let w=`Failed to fetch resource: ${s}`;m&&(w=typeof m=="string"?m:m.message),w&&console.warn(w)}return H4e[d]=g,g}async function y0n(s){const u=s.toDataURL();return u==="data:,"?s.cloneNode(!1):See(u)}async function x0n(s,u){if(s.currentSrc){const m=document.createElement("canvas"),w=m.getContext("2d");m.width=s.clientWidth,m.height=s.clientHeight,w==null||w.drawImage(s,0,0,m.width,m.height);const S=m.toDataURL();return See(S)}const f=s.poster,d=o8e(f),g=await c8e(f,d,u);return See(g)}async function k0n(s,u){var f;try{if(!((f=s==null?void 0:s.contentDocument)===null||f===void 0)&&f.body)return await ote(s.contentDocument.body,u,!0)}catch{}return s.cloneNode(!1)}async function j0n(s,u){return Y0(s,HTMLCanvasElement)?y0n(s):Y0(s,HTMLVideoElement)?x0n(s,u):Y0(s,HTMLIFrameElement)?k0n(s,u):s.cloneNode(L8t(s))}const S0n=s=>s.tagName!=null&&s.tagName.toUpperCase()==="SLOT",L8t=s=>s.tagName!=null&&s.tagName.toUpperCase()==="SVG";async function E0n(s,u,f){var d,g;if(L8t(u))return u;let m=[];return S0n(s)&&s.assignedNodes?m=n6(s.assignedNodes()):Y0(s,HTMLIFrameElement)&&(!((d=s.contentDocument)===null||d===void 0)&&d.body)?m=n6(s.contentDocument.body.childNodes):m=n6(((g=s.shadowRoot)!==null&&g!==void 0?g:s).childNodes),m.length===0||Y0(s,HTMLVideoElement)||await m.reduce((w,S)=>w.then(()=>ote(S,f)).then(N=>{N&&u.appendChild(N)}),Promise.resolve()),u}function I0n(s,u,f){const d=u.style;if(!d)return;const g=window.getComputedStyle(s);g.cssText?(d.cssText=g.cssText,d.transformOrigin=g.transformOrigin):P8t(f).forEach(m=>{let w=g.getPropertyValue(m);m==="font-size"&&w.endsWith("px")&&(w=`${Math.floor(parseFloat(w.substring(0,w.length-2)))-.1}px`),Y0(s,HTMLIFrameElement)&&m==="display"&&w==="inline"&&(w="block"),m==="d"&&u.getAttribute("d")&&(w=`path(${u.getAttribute("d")})`),d.setProperty(m,w,g.getPropertyPriority(m))})}function N0n(s,u){Y0(s,HTMLTextAreaElement)&&(u.innerHTML=s.value),Y0(s,HTMLInputElement)&&u.setAttribute("value",s.value)}function C0n(s,u){if(Y0(s,HTMLSelectElement)){const f=u,d=Array.from(f.children).find(g=>s.value===g.getAttribute("value"));d&&d.setAttribute("selected","")}}function M0n(s,u,f){return Y0(u,Element)&&(I0n(s,u,f),p0n(s,u,f),N0n(s,u),C0n(s,u)),u}async function T0n(s,u){const f=s.querySelectorAll?s.querySelectorAll("use"):[];if(f.length===0)return s;const d={};for(let m=0;mj0n(d,u)).then(d=>E0n(s,d,u)).then(d=>M0n(s,d,u)).then(d=>T0n(d,u))}const D8t=/url\((['"]?)([^'"]+?)\1\)/g,A0n=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,P0n=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function _0n(s){const u=s.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${u})(['"]?\\))`,"g")}function O0n(s){const u=[];return s.replace(D8t,(f,d,g)=>(u.push(g),f)),u.filter(f=>!I5e(f))}async function L0n(s,u,f,d,g){try{const m=f?i0n(u,f):u,w=o8e(u);let S;return g||(S=await c8e(m,w,d)),s.replace(_0n(u),`$1${S}$3`)}catch{}return s}function D0n(s,{preferredFontFormat:u}){return u?s.replace(P0n,f=>{for(;;){const[d,,g]=A0n.exec(f)||[];if(!g)return"";if(g===u)return`src: ${d};`}}):s}function R8t(s){return s.search(D8t)!==-1}async function $8t(s,u,f){if(!R8t(s))return s;const d=D0n(s,f);return O0n(d).reduce((m,w)=>m.then(S=>L0n(S,w,u,f)),Promise.resolve(d))}async function IC(s,u,f){var d;const g=(d=u.style)===null||d===void 0?void 0:d.getPropertyValue(s);if(g){const m=await $8t(g,null,f);return u.style.setProperty(s,m,u.style.getPropertyPriority(s)),!0}return!1}async function R0n(s,u){await IC("background",s,u)||await IC("background-image",s,u),await IC("mask",s,u)||await IC("-webkit-mask",s,u)||await IC("mask-image",s,u)||await IC("-webkit-mask-image",s,u)}async function $0n(s,u){const f=Y0(s,HTMLImageElement);if(!(f&&!I5e(s.src))&&!(Y0(s,SVGImageElement)&&!I5e(s.href.baseVal)))return;const d=f?s.src:s.href.baseVal,g=await c8e(d,o8e(d),u);await new Promise((m,w)=>{s.onload=m,s.onerror=u.onImageErrorHandler?(...N)=>{try{m(u.onImageErrorHandler(...N))}catch(T){w(T)}}:w;const S=s;S.decode&&(S.decode=m),S.loading==="lazy"&&(S.loading="eager"),f?(s.srcset="",s.src=g):s.href.baseVal=g})}async function F0n(s,u){const d=n6(s.childNodes).map(g=>F8t(g,u));await Promise.all(d).then(()=>s)}async function F8t(s,u){Y0(s,Element)&&(await R0n(s,u),await $0n(s,u),await F0n(s,u))}function B0n(s,u){const{style:f}=s;u.backgroundColor&&(f.backgroundColor=u.backgroundColor),u.width&&(f.width=`${u.width}px`),u.height&&(f.height=`${u.height}px`);const d=u.style;return d!=null&&Object.keys(d).forEach(g=>{f[g]=d[g]}),s}const Y3t={};async function Q3t(s){let u=Y3t[s];if(u!=null)return u;const d=await(await fetch(s)).text();return u={url:s,cssText:d},Y3t[s]=u,u}async function Z3t(s,u){let f=s.cssText;const d=/url\(["']?([^"')]+)["']?\)/g,m=(f.match(/url\([^)]+\)/g)||[]).map(async w=>{let S=w.replace(d,"$1");return S.startsWith("https://")||(S=new URL(S,s.url).href),O8t(S,u.fetchRequestInit,({result:N})=>(f=f.replace(w,`url(${N})`),[w,N]))});return Promise.all(m).then(()=>f)}function ext(s){if(s==null)return[];const u=[],f=/(\/\*[\s\S]*?\*\/)/gi;let d=s.replace(f,"");const g=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const N=g.exec(d);if(N===null)break;u.push(N[0])}d=d.replace(g,"");const m=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,w="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",S=new RegExp(w,"gi");for(;;){let N=m.exec(d);if(N===null){if(N=S.exec(d),N===null)break;m.lastIndex=S.lastIndex}else S.lastIndex=m.lastIndex;u.push(N[0])}return u}async function H0n(s,u){const f=[],d=[];return s.forEach(g=>{if("cssRules"in g)try{n6(g.cssRules||[]).forEach((m,w)=>{if(m.type===CSSRule.IMPORT_RULE){let S=w+1;const N=m.href,T=Q3t(N).then(P=>Z3t(P,u)).then(P=>ext(P).forEach(O=>{try{g.insertRule(O,O.startsWith("@import")?S+=1:g.cssRules.length)}catch(I){console.error("Error inserting rule from remote css",{rule:O,error:I})}})).catch(P=>{console.error("Error loading remote css",P.toString())});d.push(T)}})}catch(m){const w=s.find(S=>S.href==null)||document.styleSheets[0];g.href!=null&&d.push(Q3t(g.href).then(S=>Z3t(S,u)).then(S=>ext(S).forEach(N=>{w.insertRule(N,w.cssRules.length)})).catch(S=>{console.error("Error loading remote stylesheet",S)})),console.error("Error inlining remote css file",m)}}),Promise.all(d).then(()=>(s.forEach(g=>{if("cssRules"in g)try{n6(g.cssRules||[]).forEach(m=>{f.push(m)})}catch(m){console.error(`Error while reading CSS rules from ${g.href}`,m)}}),f))}function K0n(s){return s.filter(u=>u.type===CSSRule.FONT_FACE_RULE).filter(u=>R8t(u.style.getPropertyValue("src")))}async function q0n(s,u){if(s.ownerDocument==null)throw new Error("Provided element is not within a Document");const f=n6(s.ownerDocument.styleSheets),d=await H0n(f,u);return K0n(d)}function B8t(s){return s.trim().replace(/["']/g,"")}function z0n(s){const u=new Set;function f(d){(d.style.fontFamily||getComputedStyle(d).fontFamily).split(",").forEach(m=>{u.add(B8t(m))}),Array.from(d.children).forEach(m=>{m instanceof HTMLElement&&f(m)})}return f(s),u}async function V0n(s,u){const f=await q0n(s,u),d=z0n(s);return(await Promise.all(f.filter(m=>d.has(B8t(m.style.fontFamily))).map(m=>{const w=m.parentStyleSheet?m.parentStyleSheet.href:null;return $8t(m.cssText,w,u)}))).join(` -`)}async function U0n(s,u){const f=u.fontEmbedCSS!=null?u.fontEmbedCSS:u.skipFonts?null:await V0n(s,u);if(f){const d=document.createElement("style"),g=document.createTextNode(f);d.appendChild(g),s.firstChild?s.insertBefore(d,s.firstChild):s.appendChild(d)}}async function H8t(s,u={}){const{width:f,height:d}=_8t(s,u),g=await ote(s,u,!0);return await U0n(g,u),await F8t(g,u),B0n(g,u),await a0n(g,f,d)}async function G0n(s,u={}){const{width:f,height:d}=_8t(s,u),g=await H8t(s,u),m=await See(g),w=document.createElement("canvas"),S=w.getContext("2d"),N=u.pixelRatio||c0n(),T=u.canvasWidth||f,P=u.canvasHeight||d;return w.width=T*N,w.height=P*N,u.skipAutoScale||u0n(w),w.style.width=`${T}`,w.style.height=`${P}`,u.backgroundColor&&(S.fillStyle=u.backgroundColor,S.fillRect(0,0,w.width,w.height)),S.drawImage(m,0,0,w.width,w.height),w}async function txt(s,u={}){return(await G0n(s,u)).toDataURL()}function W0n(s){return s.replace(/[^a-z0-9_\-. ]/gi,"_").trim()||"diagram"}function nxt(s,u){const f=URL.createObjectURL(s),d=document.createElement("a");d.href=f,d.download=u,d.click(),URL.revokeObjectURL(f)}function X0n(){const[s,u]=fe.useState(!1),f=xe(I=>I.activeViewId),d=xe(I=>I.views),g=xe(I=>I.snapshots),m=xe(I=>I.activeSnapshotId),w=Tx(I=>I.docs),S=Tx(I=>I.activeId),N=S?w.find(I=>I.id===S)??null:null,T=fe.useCallback(()=>{var F,R;const I=(N==null?void 0:N.name)??"model",C=f?((F=d[f])==null?void 0:F.name)??"view":"view",M=m?((R=g.find(B=>B.id===m))==null?void 0:R.name)??null:null,_=[I,C];return M&&_.push(M),W0n(_.join("-"))},[N,f,d,m,g]),P=fe.useCallback(I=>{const C=document.querySelector(".canvas-area");if(!C)return;u(!0);const M=T(),_={cacheBust:!0,backgroundColor:getComputedStyle(C).backgroundColor||"#1e1e2e",pixelRatio:window.devicePixelRatio||2,filter:R=>{if(!(R instanceof Element))return!0;const B=R.getAttribute("class")??"";return!(B.includes("react-flow__background")||B.includes("toolbar")||B.includes("left-panel")||B.includes("right-panel")||B.includes("sel-bar")||B.includes("edge-action")||B.includes("quick-search"))}};(I==="png"?txt(C,_).then(R=>fetch(R).then(B=>B.blob()).then(B=>nxt(B,`${M}.png`))):H8t(C,_).then(R=>fetch(R).then(B=>B.blob()).then(B=>nxt(B,`${M}.svg`)))).catch(R=>console.error("[Export]",R)).finally(()=>u(!1))},[T]),O=fe.useCallback(()=>{const I=document.querySelector(".canvas-area");if(!I)return;u(!0);const C={cacheBust:!0,backgroundColor:getComputedStyle(I).backgroundColor||"#1e1e2e",pixelRatio:window.devicePixelRatio||2,filter:M=>{if(!(M instanceof Element))return!0;const _=M.getAttribute("class")??"";return!(_.includes("react-flow__background")||_.includes("toolbar")||_.includes("left-panel")||_.includes("right-panel")||_.includes("sel-bar")||_.includes("edge-action")||_.includes("quick-search"))}};txt(I,C).then(M=>fetch(M).then(_=>_.blob())).then(M=>{const _=new ClipboardItem({"image/png":M});return navigator.clipboard.write([_])}).catch(M=>console.error("[Export] clipboard",M)).finally(()=>u(!1))},[]);return{exportBusy:s,exportAs:P,copyToClipboard:O}}const J0n=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M3 12V4a1 1 0 011-1h3l2 2h3a1 1 0 011 1v6a1 1 0 01-1 1H4a1 1 0 01-1-1z"}),x.jsx("path",{d:"M8 7v5M6 10l2 2 2-2"})]}),Y0n=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M2 5V2h3M11 2h3v3M14 11v3h-3M5 14H2v-3"}),x.jsx("rect",{x:"5",y:"5",width:"6",height:"6",rx:"1"})]}),Q0n=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("circle",{cx:"7",cy:"7",r:"5"}),x.jsx("path",{d:"M7 5v4M5 7h4M12 12l2 2"})]}),Z0n=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("circle",{cx:"7",cy:"7",r:"5"}),x.jsx("path",{d:"M5 7h4M12 12l2 2"})]}),epn=()=>x.jsxs("svg",{className:"toolbar-btn-accent-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M8 2v2M8 12v2M2 8h2M12 8h2M3.5 3.5l1.4 1.4M11.1 11.1l1.4 1.4M3.5 12.5l1.4-1.4M11.1 4.9l1.4-1.4"}),x.jsx("circle",{cx:"8",cy:"8",r:"2"})]}),tpn=()=>x.jsxs("svg",{className:"toolbar-btn-accent-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("circle",{cx:"8",cy:"2.5",r:"1.2"}),x.jsx("circle",{cx:"4",cy:"8",r:"1.2"}),x.jsx("circle",{cx:"12",cy:"8",r:"1.2"}),x.jsx("circle",{cx:"2.5",cy:"13.5",r:"1"}),x.jsx("circle",{cx:"5.5",cy:"13.5",r:"1"}),x.jsx("circle",{cx:"10.5",cy:"13.5",r:"1"}),x.jsx("circle",{cx:"13.5",cy:"13.5",r:"1"}),x.jsx("path",{d:"M8 3.7v1.5M8 5.2L4 6.8M8 5.2l4 1.6M4 9.2v1.5M4 10.7l-1.5 1.8M4 10.7l1.5 1.8M12 9.2v1.5M12 10.7l-1.5 1.8M12 10.7l1.5 1.8"})]}),npn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("circle",{cx:"8",cy:"8",r:"3"}),x.jsx("path",{d:"M8 1v2M8 13v2M1 8h2M13 8h2M3.05 3.05l1.41 1.41M11.54 11.54l1.41 1.41M3.05 12.95l1.41-1.41M11.54 4.46l1.41-1.41"})]}),ipn=()=>x.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:x.jsx("path",{d:"M13.5 8.5a5.5 5.5 0 01-7-7 5.5 5.5 0 107 7z"})}),rpn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M2 5V2h3M11 2h3v3M14 11v3h-3M5 14H2v-3"}),x.jsx("path",{d:"M8 6l1 2 2 .4-1.5 1.4.4 2L8 10.8 6.1 11.8l.4-2L5 8.4 7 8z",fill:"currentColor",stroke:"none"})]}),spn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M3 7h7a3 3 0 110 6H8"}),x.jsx("path",{d:"M6 4L3 7l3 3"})]}),opn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M13 7H6a3 3 0 100 6h2"}),x.jsx("path",{d:"M10 4l3 3-3 3"})]}),cpn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("rect",{x:"2",y:"2",width:"5",height:"5",rx:"1"}),x.jsx("rect",{x:"9",y:"9",width:"5",height:"5",rx:"1"}),x.jsx("rect",{x:"2",y:"9",width:"5",height:"5",rx:"1"}),x.jsx("path",{d:"M9 4.5h2a1 1 0 011 1v2.5",strokeLinecap:"round"})]}),upn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("rect",{x:"1",y:"2",width:"14",height:"10",rx:"1.5"}),x.jsx("path",{d:"M5 14h6M8 12v2",strokeLinecap:"round"}),x.jsx("path",{d:"M6 6.5L10 8.5 6 10.5V6.5z",fill:"currentColor",stroke:"none"})]}),lpn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M1 8s2.5-5 7-5 7 5 7 5-2.5 5-7 5-7-5-7-5z",strokeLinejoin:"round"}),x.jsx("circle",{cx:"8",cy:"8",r:"2"})]}),apn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.4,children:[x.jsx("rect",{x:"1.5",y:"2",width:"5",height:"4",rx:"0.6"}),x.jsx("rect",{x:"9.5",y:"2",width:"5",height:"4",rx:"0.6"}),x.jsx("rect",{x:"5.5",y:"10",width:"5",height:"4",rx:"0.6"}),x.jsx("path",{d:"M4 6v2h8V6M8 8v2",strokeLinecap:"round"})]}),fpn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.4,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M5 2.5l.7 1.6L7.3 4.8l-1.6.7L5 7.1l-.7-1.6L2.7 4.8l1.6-.7z",fill:"currentColor",stroke:"none"}),x.jsx("path",{d:"M11.5 7l.6 1.4 1.4.6-1.4.6L11.5 11l-.6-1.4L9.5 9l1.4-.6z",fill:"currentColor",stroke:"none"}),x.jsx("path",{d:"M8 9.5L8.6 11l1.4.5-1.4.5L8 13.5l-.6-1.5L6 11.5l1.4-.5z",fill:"currentColor",stroke:"none"})]}),hpn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.4,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("rect",{x:"2",y:"2",width:"5",height:"5",rx:"1"}),x.jsx("rect",{x:"9",y:"2",width:"5",height:"5",rx:"1"}),x.jsx("rect",{x:"2",y:"9",width:"5",height:"5",rx:"1"}),x.jsx("path",{d:"M11.5 10v4M9.5 12h4"})]}),dpn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.4,strokeLinecap:"round",children:[x.jsx("rect",{x:"1",y:"3",width:"14",height:"10",rx:"1.5"}),x.jsx("path",{d:"M3.5 9.5V6.5h1c.6 0 1 .4 1 1s-.4 1-1 1H3.5"}),x.jsx("path",{d:"M7.5 9.5V6.5l1.5 2 1.5-2v3"}),x.jsx("path",{d:"M12.5 6.5H11v3h1.5"}),x.jsx("path",{d:"M11 8h1.2"})]}),ppn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.4,strokeLinecap:"round",children:[x.jsx("rect",{x:"1",y:"3",width:"14",height:"10",rx:"1.5"}),x.jsx("path",{d:"M4.5 9.5c-.5 0-1-.3-1-1s.5-1 1-1h1c.5 0 1-.3 1-1s-.5-1-1-1"}),x.jsx("path",{d:"M9 6.5l1 3 1-3"}),x.jsx("path",{d:"M13 6.5h-1.5c-.3 0-.5.2-.5.5v.5c0 .3.2.5.5.5h1c.3 0 .5.2.5.5v.5c0 .3-.2.5-.5.5H11"})]}),gpn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.4,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("rect",{x:"5",y:"1",width:"6",height:"3",rx:"1"}),x.jsx("path",{d:"M5 2H3a1 1 0 00-1 1v11a1 1 0 001 1h10a1 1 0 001-1V3a1 1 0 00-1-1h-2"}),x.jsx("path",{d:"M5 8h6M5 11h4"})]});function wpn({onManage:s,activeDocLabel:u,activeDocSource:f,connectionModifier:d,setConnectionModifier:g,theme:m,onToggleTheme:w,smartFitActive:S,onToggleSmartFit:N,metamodelActive:T,onToggleMetamodel:P,onOpenAISettings:O,onOpenHub:I,onExportPNG:C,onExportSVG:M,onCopyToClipboard:_,exportBusy:F}){var te;const[R,B]=fe.useState(!1),G=fe.useRef(null),z=typeof navigator<"u"&&((te=navigator.platform)==null?void 0:te.includes("Mac"));fF([G],R,fe.useCallback(()=>B(!1),[])),fe.useEffect(()=>{if(!R)return;const ne=Y=>{Y.key==="Escape"&&B(!1)};return window.addEventListener("keydown",ne),()=>{window.removeEventListener("keydown",ne)}},[R]);const Q=ne=>()=>{B(!1),ne()};return x.jsxs("div",{className:"app-menu-wrap",ref:G,children:[x.jsxs("button",{className:`app-brand${R?" open":""}`,onClick:()=>B(ne=>!ne),title:"Menu","aria-haspopup":"true","aria-expanded":R,children:[x.jsx("span",{className:"app-brand-logo","aria-hidden":!0,children:x.jsxs("svg",{viewBox:"0 0 20 20",width:"18",height:"18",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinejoin:"round",strokeLinecap:"round",children:[x.jsx("path",{d:"M10 1.8 L17.5 6 V14 L10 18.2 L2.5 14 V6 Z",fill:"rgba(var(--accent-rgb),0.18)"}),x.jsx("circle",{cx:"10",cy:"10",r:"2.4",fill:"currentColor",stroke:"none"})]})}),x.jsx("span",{className:"app-brand-name",children:"Radical"}),x.jsx("span",{className:`app-brand-caret${R?" open":""}`,"aria-hidden":!0,children:x.jsx("svg",{viewBox:"0 0 16 16",width:"10",height:"10",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M4 6 L8 10 L12 6"})})})]}),R&&x.jsxs("div",{className:"app-menu-popover",role:"menu",children:[x.jsxs("div",{className:"app-menu-section",children:[x.jsx("div",{className:"app-menu-label",children:"Models"}),x.jsxs("button",{className:"app-menu-item",role:"menuitem",onClick:Q(s),children:[x.jsx("span",{className:"app-menu-icon",children:x.jsx(J0n,{})}),x.jsxs("span",{className:"app-menu-text",children:["Manage models…",u&&x.jsxs("span",{className:"app-menu-current-doc-inline",children:[x.jsx("span",{className:`toolbar-doc-badge ${f}`,children:f==="fs"?"FILE":"LOCAL"}),x.jsx("span",{className:"app-menu-current-doc-name",children:u})]})]})]}),x.jsxs("button",{className:"app-menu-item",role:"menuitem",onClick:Q(I),children:[x.jsx("span",{className:"app-menu-icon",children:x.jsx(hpn,{})}),x.jsx("span",{className:"app-menu-text",children:"Import from Hub…"})]})]}),x.jsx("div",{className:"app-menu-divider"}),x.jsxs("div",{className:"app-menu-section",children:[x.jsx("div",{className:"app-menu-label",children:"Schema"}),x.jsxs("button",{className:`app-menu-item${T?" active":""}`,role:"menuitemcheckbox","aria-checked":T,onClick:Q(P),title:"Define object types, relations and constraints",children:[x.jsx("span",{className:"app-menu-icon",children:x.jsx(apn,{})}),x.jsx("span",{className:"app-menu-text",children:T?"Close metamodel editor":"Metamodel editor…"})]})]}),x.jsx("div",{className:"app-menu-divider"}),x.jsxs("div",{className:"app-menu-section",children:[x.jsx("div",{className:"app-menu-label",children:"View"}),x.jsxs("button",{className:"app-menu-item",role:"menuitem",onClick:Q(w),children:[x.jsx("span",{className:"app-menu-icon",children:m==="dark"?x.jsx(npn,{}):x.jsx(ipn,{})}),x.jsx("span",{className:"app-menu-text",children:m==="dark"?"Light mode":"Dark mode"})]}),x.jsxs("button",{className:`app-menu-item${S?" active":""}`,role:"menuitemcheckbox","aria-checked":S,onClick:Q(N),children:[x.jsx("span",{className:"app-menu-icon",children:x.jsx(rpn,{})}),x.jsxs("span",{className:"app-menu-text",children:["Smart fit ",S?"(on)":"(off)"]})]})]}),x.jsx("div",{className:"app-menu-divider"}),x.jsxs("div",{className:"app-menu-section",children:[x.jsx("div",{className:"app-menu-label",children:"Editing"}),x.jsxs("div",{className:"app-menu-row",children:[x.jsx("span",{className:"app-menu-row-label",children:"Connect key"}),x.jsxs("select",{className:"app-menu-select",value:d,onChange:ne=>g(ne.target.value),children:[x.jsx("option",{value:"alt",children:z?"⌥ Option":"Alt"}),x.jsx("option",{value:"shift",children:"⇧ Shift"}),x.jsx("option",{value:"ctrl",children:"Ctrl"}),x.jsx("option",{value:"meta",children:z?"⌘ Cmd":"⊞ Win"})]})]})]}),x.jsx("div",{className:"app-menu-divider"}),x.jsxs("div",{className:"app-menu-section",children:[x.jsx("div",{className:"app-menu-label",children:"AI"}),x.jsxs("button",{className:"app-menu-item",role:"menuitem",onClick:Q(O),title:"Configure AI providers (Ollama, OpenAI, Claude, Gemini)",children:[x.jsx("span",{className:"app-menu-icon",children:x.jsx(fpn,{})}),x.jsx("span",{className:"app-menu-text",children:"AI providers…"})]})]}),x.jsx("div",{className:"app-menu-divider"}),x.jsxs("div",{className:"app-menu-section",children:[x.jsx("div",{className:"app-menu-label",children:"Export"}),x.jsxs("button",{className:"app-menu-item",role:"menuitem",onClick:Q(C),disabled:F,children:[x.jsx("span",{className:"app-menu-icon",children:x.jsx(dpn,{})}),x.jsx("span",{className:"app-menu-text",children:"Export as PNG…"})]}),x.jsxs("button",{className:"app-menu-item",role:"menuitem",onClick:Q(M),disabled:F,children:[x.jsx("span",{className:"app-menu-icon",children:x.jsx(ppn,{})}),x.jsx("span",{className:"app-menu-text",children:"Export as SVG…"})]}),x.jsxs("button",{className:"app-menu-item",role:"menuitem",onClick:Q(_),disabled:F,children:[x.jsx("span",{className:"app-menu-icon",children:x.jsx(gpn,{})}),x.jsx("span",{className:"app-menu-text",children:"Copy to clipboard"})]})]})]})]})}function bpn(){const s=xe(Fe=>Fe.appMode),u=xe(Fe=>Fe.setAppMode),f=xe(Fe=>Fe.autoFitActive),d=xe(Fe=>Fe.toggleAutoFit),g=xe(Fe=>Fe.fitAll),m=xe(Fe=>Fe.zoomIn),w=xe(Fe=>Fe.zoomOut),S=xe(Fe=>Fe.runSmartLayout),N=xe(Fe=>Fe.isLayoutRunning),T=xe(Fe=>{var Ue;return Fe.activeViewId?((Ue=Fe.views[Fe.activeViewId])==null?void 0:Ue.layoutMode)??"auto":"auto"}),P=xe(Fe=>{var Ue;return Fe.activeViewId?((Ue=Fe.views[Fe.activeViewId])==null?void 0:Ue.kind)??"static":"static"}),O=xe(Fe=>Fe.connectionModifier),I=xe(Fe=>Fe.setConnectionModifier),C=xe(Fe=>Fe.undo),M=xe(Fe=>Fe.redo),_=xe(Fe=>Fe.canUndo),F=xe(Fe=>Fe.canRedo),R=Tx(Fe=>Fe.docs),B=Tx(Fe=>Fe.activeId),G=B?R.find(Fe=>Fe.id===B)??null:null,[z,Q]=fe.useState(!1),te=!!window.electronAPI,[ne,Y]=fe.useState(()=>te?document.body.classList.contains("vscode-light")?"light":"dark":localStorage.getItem("radical-theme")||"dark");fe.useEffect(()=>{document.documentElement.setAttribute("data-theme",ne),te||localStorage.setItem("radical-theme",ne)},[ne,te]),fe.useEffect(()=>{if(!te)return;const Fe=new MutationObserver(()=>{Y(document.body.classList.contains("vscode-light")?"light":"dark")});return Fe.observe(document.body,{attributes:!0,attributeFilter:["class","data-vscode-theme-kind"]}),()=>Fe.disconnect()},[te]);const oe=fe.useCallback(()=>{Y(Fe=>Fe==="dark"?"light":"dark")},[]);fe.useEffect(()=>{const Fe=Ue=>{if(Ue.key==="F5"){Ue.preventDefault();const Et=xe.getState();Et.presentationActive?Et.stopPresentation():Et.startPresentation();return}(Ue.metaKey||Ue.ctrlKey)&&(Ue.key==="z"&&!Ue.shiftKey?(Ue.preventDefault(),xe.getState().undo()):(Ue.key==="z"&&Ue.shiftKey||Ue.key==="y")&&(Ue.preventDefault(),xe.getState().redo()))};return window.addEventListener("keydown",Fe),()=>window.removeEventListener("keydown",Fe)},[]);const Z=fe.useCallback(()=>{Q(!0)},[]),[re,de]=fe.useState(!1),U=fe.useCallback(()=>{de(!0)},[]),se=fe.useCallback(()=>{de(!1)},[]),[we,ve]=fe.useState(!1),[Ke,je]=fe.useState(void 0),ae=fe.useCallback(()=>{je(void 0),ve(!0)},[]),ge=fe.useCallback(()=>{ve(!1),je(void 0)},[]);fe.useEffect(()=>{const Ue=new URLSearchParams(window.location.search).get("hub");if(Ue){const Vt=Ue.split(",").map(Et=>Et.trim()).filter(Boolean);if(Vt.length>0){je(Vt),ve(!0);const Et=window.location.pathname+window.location.hash;window.history.replaceState(null,"",Et)}}},[]);const{exportBusy:_e,exportAs:Be,copyToClipboard:ht}=X0n(),xt=fe.useCallback(()=>Be("png"),[Be]),ze=fe.useCallback(()=>Be("svg"),[Be]);return fe.useEffect(()=>{const Fe=()=>de(!0);return window.addEventListener("radical:open-ai-settings",Fe),()=>window.removeEventListener("radical:open-ai-settings",Fe)},[]),x.jsxs("div",{className:"toolbar",children:[x.jsx(W1n,{open:re,onClose:se}),x.jsx(n0n,{open:we,onClose:ge,preselectedIds:Ke}),x.jsx(wpn,{onManage:Z,activeDocLabel:(G==null?void 0:G.name)??null,activeDocSource:(G==null?void 0:G.source)??null,connectionModifier:O,setConnectionModifier:I,theme:ne,onToggleTheme:oe,smartFitActive:f,onToggleSmartFit:d,metamodelActive:s==="metamodel",onToggleMetamodel:()=>u(s==="metamodel"?"designer":"metamodel"),onOpenAISettings:U,onOpenHub:ae,onExportPNG:xt,onExportSVG:ze,onCopyToClipboard:ht,exportBusy:_e}),x.jsx("div",{className:"toolbar-sep"}),x.jsxs("button",{className:"toolbar-btn",onClick:g,title:"Fit all visible nodes to viewport",children:[x.jsx(Y0n,{})," Fit All"]}),x.jsx("button",{className:"toolbar-btn",onClick:w,title:"Zoom out (⌘−)",children:x.jsx(Z0n,{})}),x.jsx("button",{className:"toolbar-btn",onClick:m,title:"Zoom in (⌘+)",children:x.jsx(Q0n,{})}),P!=="treemap"&&P!=="dynamic"&&P!=="table"&&P!=="matrix"&&x.jsx("button",{className:"toolbar-btn toolbar-btn-accent",onClick:()=>{S()},disabled:N||s==="metamodel",title:T==="tree"?"Tree Layout — hierarchical nested-tree arrangement (configured for the active view).":"Smart Layout — ensemble of layered + semantic algorithms with edge-crossing minimisation, picks the cleanest result.",children:T==="tree"?x.jsxs(x.Fragment,{children:[x.jsx(tpn,{})," Tree Layout"]}):x.jsxs(x.Fragment,{children:[x.jsx(epn,{})," Smart Layout"]})}),x.jsx("div",{className:"toolbar-sep"}),x.jsxs("button",{className:"toolbar-btn",onClick:C,disabled:!_,title:"Undo (⌘Z)",children:[x.jsx(spn,{})," Undo"]}),x.jsxs("button",{className:"toolbar-btn",onClick:M,disabled:!F,title:"Redo (⌘⇧Z)",children:[x.jsx(opn,{})," Redo"]}),x.jsx("div",{style:{flex:1}}),x.jsxs("div",{className:"toolbar-mode-switch",children:[x.jsxs("button",{className:`toolbar-mode-btn${s==="designer"?" active":""}`,onClick:()=>u("designer"),title:"Designer perspective — edit the model",children:[x.jsx(cpn,{})," Designer"]}),x.jsxs("button",{className:`toolbar-mode-btn${s==="viewer"?" active":""}`,onClick:()=>u("viewer"),title:"Viewer perspective — explore the model",children:[x.jsx(lpn,{})," Viewer"]}),x.jsxs("button",{className:`toolbar-mode-btn${s==="presenter"?" active":""}`,onClick:()=>u("presenter"),title:"Presenter perspective — build and play presentations",children:[x.jsx(upn,{})," Presenter"]})]}),x.jsx(A1n,{open:z,onClose:()=>Q(!1)})]})}function Sg({c4id:s}){const u=xe(m=>m.showDiff?m.diffHighlight[s]:void 0);if(!u)return null;const f=u==="new"?"var(--success)":u==="removed"?"var(--danger)":"var(--warning, #d97706)",d=u==="new"?"NEW":u==="removed"?"REMOVED":"CHANGED",g=u==="removed";return x.jsx("div",{style:{position:"absolute",inset:0,borderRadius:"inherit",border:`3px ${g?"dashed":"solid"} ${f}`,boxShadow:`inset 0 0 14px ${f}44`,pointerEvents:"none",zIndex:10},children:x.jsx("div",{style:{position:"absolute",top:4,right:4,background:f,color:u==="new"?"#000":"#fff",fontSize:9,fontWeight:800,letterSpacing:"0.08em",padding:"1px 5px",borderRadius:3,pointerEvents:"none"},children:d})})}const mpn=Qh.person,K8t="#6b6b6b";function Eg(){return x.jsxs(x.Fragment,{children:[x.jsx(ub,{type:"target",position:Xn.Top,id:"top-target"}),x.jsx(ub,{type:"source",position:Xn.Top,id:"top-source"}),x.jsx(ub,{type:"target",position:Xn.Bottom,id:"bottom-target"}),x.jsx(ub,{type:"source",position:Xn.Bottom,id:"bottom-source"}),x.jsx(ub,{type:"target",position:Xn.Left,id:"left-target"}),x.jsx(ub,{type:"source",position:Xn.Left,id:"left-source"}),x.jsx(ub,{type:"target",position:Xn.Right,id:"right-target"}),x.jsx(ub,{type:"source",position:Xn.Right,id:"right-source"})]})}function vpn({color:s}){return x.jsxs("svg",{width:"44",height:"44",viewBox:"0 0 44 44",fill:"none",style:{marginTop:4,flexShrink:0},children:[x.jsx("circle",{cx:"22",cy:"11",r:"10",fill:s,stroke:"rgba(255,255,255,0.5)",strokeWidth:"1.5"}),x.jsx("rect",{x:"2",y:"25",width:"40",height:"18",rx:"10",fill:s,stroke:"rgba(255,255,255,0.5)",strokeWidth:"1.5"})]})}const q8t=fe.memo(({data:s,selected:u})=>{const f=s.external?K8t:mpn;return x.jsxs("div",{className:"c4-node c4-person-node",style:{position:"relative",width:s.width,height:s.height,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsx(vpn,{color:f}),x.jsxs("div",{className:"c4-person-body",style:{background:f,border:`2px solid ${u?"var(--accent)":"rgba(0,0,0,0.25)"}`,borderRadius:8,flex:1,width:"100%",display:"flex",flexDirection:"column",alignItems:"center",overflow:"hidden"},children:[x.jsx("div",{className:"c4-node-label",style:{textAlign:"center",paddingTop:6},children:s.label}),x.jsx("div",{className:"c4-node-tech",style:{textTransform:"uppercase",letterSpacing:"0.08em",fontStyle:"normal",fontWeight:700},children:s.external?"External Person":"Person"}),s.description&&x.jsx("div",{className:"c4-node-desc",style:{textAlign:"center"},children:s.description})]})]})});q8t.displayName="PersonNode";const z8t=fe.memo(({data:s,selected:u})=>{const f=xe(N=>N.toggleCollapse),d=xe(N=>N.appMode!=="metamodel"&&!N.presentationActive),g=fe.useCallback(N=>{N.stopPropagation(),f(s.c4id)},[s.c4id,f]),m=s.external?K8t:Qh.system,w=s.hasChildren&&!s.collapsed,S=u?"var(--accent)":w?m:"rgba(0,0,0,0.2)";return x.jsxs("div",{className:`c4-node${w?" c4-node-expanded":""}`,style:{position:"relative",width:"100%",height:"100%",background:w?"transparent":m,border:`2px ${w?"dashed":"solid"} ${S}`,borderRadius:8,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{className:"c4-node-header",style:{background:w?"transparent":"rgba(0,0,0,0.2)"},children:[x.jsx("span",{style:w?{color:m}:void 0,children:s.external?"External System":"Software System"}),s.hasChildren&&d&&x.jsx("button",{className:"c4-node-collapse-btn",onClick:g,title:s.collapsed?"Expand":"Collapse",children:s.collapsed?"+":"−"})]}),x.jsx("div",{className:"c4-node-label",style:w?{color:m}:void 0,children:s.label}),!w&&s.technology&&x.jsxs("div",{className:"c4-node-tech",children:["[",s.technology,"]"]}),!w&&s.description&&x.jsx("div",{className:"c4-node-desc",children:s.description})]})});z8t.displayName="SystemNode";const V8t=fe.memo(({data:s,selected:u})=>{const f=xe(N=>N.toggleCollapse),d=xe(N=>N.appMode!=="metamodel"&&!N.presentationActive),g=fe.useCallback(N=>{N.stopPropagation(),f(s.c4id)},[s.c4id,f]),m=s.hasChildren&&!s.collapsed,w=Qh.container,S=u?"var(--accent)":m?w:"rgba(0,0,0,0.2)";return x.jsxs("div",{className:`c4-node${m?" c4-node-expanded":""}`,style:{position:"relative",width:"100%",height:"100%",background:m?"transparent":w,border:`2px ${m?"dashed":"solid"} ${S}`,borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{className:"c4-node-header",style:{background:m?"transparent":"rgba(0,0,0,0.18)"},children:[x.jsx("span",{style:m?{color:w}:void 0,children:"Container"}),s.hasChildren&&d&&x.jsx("button",{className:"c4-node-collapse-btn",onClick:g,title:s.collapsed?"Expand":"Collapse",children:s.collapsed?"+":"−"})]}),x.jsx("div",{className:"c4-node-label",style:{fontSize:12,...m?{color:w}:{}},children:s.label}),!m&&s.technology&&x.jsxs("div",{className:"c4-node-tech",children:["[",s.technology,"]"]}),!m&&s.description&&x.jsx("div",{className:"c4-node-desc",style:{fontSize:10},children:s.description})]})});V8t.displayName="ContainerNode";const U8t=fe.memo(({data:s,selected:u})=>x.jsxs("div",{className:"c4-node",style:{position:"relative",width:s.width,height:s.height,background:Qh.component,border:`2px solid ${u?"var(--accent)":"rgba(0,0,0,0.15)"}`,borderRadius:5,display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsx("div",{className:"c4-node-header",style:{background:"rgba(0,0,0,0.1)",color:"rgba(0,0,0,0.6)"},children:x.jsx("span",{children:"Component"})}),x.jsx("div",{className:"c4-node-label",style:{fontSize:12,color:"#111"},children:s.label}),s.technology&&x.jsxs("div",{className:"c4-node-tech",style:{color:"rgba(0,0,0,0.6)"},children:["[",s.technology,"]"]}),s.description&&x.jsx("div",{className:"c4-node-desc",style:{color:"rgba(0,0,0,0.75)",fontSize:10},children:s.description})]}));U8t.displayName="ComponentNode";const G8t=fe.memo(({data:s,selected:u})=>{const f=s.width??200,d=s.height??120,g=Qh.database,m=14,w=u?"var(--accent)":"rgba(0,0,0,0.25)";return x.jsxs("div",{className:"c4-node c4-database-node",style:{width:f,height:d,position:"relative"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("svg",{viewBox:`0 0 ${f} ${d}`,width:f,height:d,style:{position:"absolute",inset:0},children:[x.jsx("path",{d:`M0,${m} V${d-m} A${f/2},${m} 0 0,0 ${f},${d-m} V${m}`,fill:g,stroke:w,strokeWidth:"2"}),x.jsx("ellipse",{cx:f/2,cy:d-m,rx:f/2,ry:m,fill:g,stroke:w,strokeWidth:"2"}),x.jsx("ellipse",{cx:f/2,cy:m,rx:f/2,ry:m,fill:g,stroke:w,strokeWidth:"2"}),x.jsx("ellipse",{cx:f/2,cy:m,rx:f/2-2,ry:m-2,fill:"rgba(255,255,255,0.08)",stroke:"none"})]}),x.jsxs("div",{style:{position:"relative",zIndex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",paddingTop:m+4,paddingBottom:m-4},children:[x.jsx("div",{className:"c4-node-label",style:{textAlign:"center"},children:s.label}),x.jsx("div",{className:"c4-node-tech",style:{textTransform:"uppercase",letterSpacing:"0.08em",fontStyle:"normal",fontWeight:700},children:"Database"}),s.technology&&x.jsxs("div",{className:"c4-node-tech",children:["[",s.technology,"]"]}),s.description&&x.jsx("div",{className:"c4-node-desc",style:{textAlign:"center"},children:s.description})]})]})});G8t.displayName="DatabaseNode";const W8t=fe.memo(({data:s,selected:u})=>{const f=s.width??220,d=s.height??140,g=Qh.webapp,m=u?"var(--accent)":"rgba(0,0,0,0.25)";return x.jsxs("div",{className:"c4-node c4-webapp-node",style:{width:f,height:d,position:"relative",background:g,border:`2px solid ${m}`,borderRadius:8,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{style:{height:18,background:"rgba(0,0,0,0.25)",display:"flex",alignItems:"center",gap:4,padding:"0 6px",flexShrink:0},children:[x.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#ff5f57"}}),x.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#febc2e"}}),x.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#28c840"}})]}),x.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"6px 8px",textAlign:"center"},children:[x.jsx("div",{className:"c4-node-label",children:s.label}),x.jsx("div",{className:"c4-node-tech",style:{textTransform:"uppercase",letterSpacing:"0.08em",fontWeight:700},children:"Web App"}),s.technology&&x.jsxs("div",{className:"c4-node-tech",children:["[",s.technology,"]"]}),s.description&&x.jsx("div",{className:"c4-node-desc",children:s.description})]})]})});W8t.displayName="WebAppNode";const X8t=fe.memo(({data:s,selected:u})=>{const f=s.width??240,d=s.height??90,g=Qh.queue,m=u?"var(--accent)":"rgba(0,0,0,0.25)",w=16;return x.jsxs("div",{className:"c4-node c4-queue-node",style:{width:f,height:d,position:"relative"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("svg",{viewBox:`0 0 ${f} ${d}`,width:f,height:d,style:{position:"absolute",inset:0},children:[x.jsx("path",{d:`M${w},0 H${f-w} A${w},${d/2} 0 0,1 ${f-w},${d} H${w}`,fill:g,stroke:m,strokeWidth:"2"}),x.jsx("ellipse",{cx:f-w,cy:d/2,rx:w,ry:d/2,fill:g,stroke:m,strokeWidth:"2"}),x.jsx("ellipse",{cx:w,cy:d/2,rx:w,ry:d/2,fill:g,stroke:m,strokeWidth:"2"}),x.jsx("ellipse",{cx:w,cy:d/2,rx:w-2,ry:d/2-2,fill:"rgba(255,255,255,0.08)",stroke:"none"})]}),x.jsxs("div",{style:{position:"relative",zIndex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",paddingLeft:w+4,paddingRight:w+4,textAlign:"center"},children:[x.jsx("div",{className:"c4-node-label",children:s.label}),x.jsx("div",{className:"c4-node-tech",style:{textTransform:"uppercase",letterSpacing:"0.08em",fontWeight:700},children:"Queue"}),s.technology&&x.jsxs("div",{className:"c4-node-tech",children:["[",s.technology,"]"]}),s.description&&x.jsx("div",{className:"c4-node-desc",children:s.description})]})]})});X8t.displayName="QueueNode";const J8t=fe.memo(({data:s,selected:u})=>{const f=xe(N=>N.toggleCollapse),d=xe(N=>N.appMode!=="metamodel"&&!N.presentationActive),g=fe.useCallback(N=>{N.stopPropagation(),f(s.c4id)},[s.c4id,f]),m=Qh.domain,w=s.hasChildren&&!s.collapsed,S=u?"var(--accent)":m;return x.jsxs("div",{className:`c4-node${w?" c4-node-expanded":""}`,style:{position:"relative",width:"100%",height:"100%",background:w?"rgba(76,29,149,0.05)":m,border:`2px ${w?"dashed":"solid"} ${S}`,borderRadius:12,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{className:"c4-node-header",style:{background:w?"transparent":"rgba(0,0,0,0.2)"},children:[x.jsx("span",{style:w?{color:m}:void 0,children:"Domain"}),s.hasChildren&&d&&x.jsx("button",{className:"c4-node-collapse-btn",onClick:g,title:s.collapsed?"Expand":"Collapse",children:s.collapsed?"+":"−"})]}),x.jsx("div",{className:"c4-node-label",style:w?{color:m}:void 0,children:s.label}),!w&&s.description&&x.jsx("div",{className:"c4-node-desc",children:s.description})]})});J8t.displayName="DomainNode";const Y8t=fe.memo(({data:s,selected:u})=>{const f=xe(N=>N.toggleCollapse),d=xe(N=>N.appMode!=="metamodel"&&!N.presentationActive),g=fe.useCallback(N=>{N.stopPropagation(),f(s.c4id)},[s.c4id,f]),m=Qh.group,w=s.hasChildren&&!s.collapsed,S=u?"var(--accent)":m;return x.jsxs("div",{className:`c4-node${w?" c4-node-expanded":""}`,style:{position:"relative",width:"100%",height:"100%",background:w?"rgba(100,116,139,0.05)":m,border:`2px ${w?"dashed":"solid"} ${S}`,borderRadius:12,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{className:"c4-node-header",style:{background:w?"transparent":"rgba(0,0,0,0.2)"},children:[x.jsx("span",{style:w?{color:m}:void 0,children:"Group"}),s.hasChildren&&d&&x.jsx("button",{className:"c4-node-collapse-btn",onClick:g,title:s.collapsed?"Expand":"Collapse",children:s.collapsed?"+":"−"})]}),x.jsx("div",{className:"c4-node-label",style:w?{color:m}:void 0,children:s.label}),!w&&s.description&&x.jsx("div",{className:"c4-node-desc",children:s.description})]})});Y8t.displayName="GroupNode";const ypn="#92400e",Q8t=fe.memo(({data:s,selected:u})=>{const f=xe(w=>w.c4Nodes[s.c4id]),d=(f==null?void 0:f.status)??"proposed",m={proposed:"#fbbf24",accepted:"#34d399",deprecated:"#9ca3af",superseded:"#f87171"}[d]??"#9ca3af";return x.jsxs("div",{className:"c4-node",style:{position:"relative",width:s.width,height:s.height,background:ypn,border:`2px solid ${u?"var(--accent)":"rgba(0,0,0,0.25)"}`,borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"3px 7px",background:"rgba(0,0,0,0.25)"},children:[x.jsx("span",{style:{fontSize:8,fontWeight:700,letterSpacing:"0.07em",textTransform:"uppercase",color:"rgba(255,255,255,0.7)"},children:"ADR"}),x.jsx("span",{style:{fontSize:8,fontWeight:700,letterSpacing:"0.05em",textTransform:"uppercase",background:m,color:"#000",padding:"1px 4px",borderRadius:2},children:d})]}),x.jsx("div",{style:{flex:1,display:"flex",alignItems:"center",padding:"0 7px",overflow:"hidden"},children:x.jsx("span",{style:{fontSize:11,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",width:"100%"},children:s.label})})]})});Q8t.displayName="AdrNode";const xpn="#5b21b6",Z8t=fe.memo(({data:s,selected:u})=>{const f=xe(N=>N.c4Nodes[s.c4id]),d=f,g=!!(f!=null&&f.automated),m=(d==null?void 0:d.status)??"proposed",S={proposed:"#fbbf24",active:"#34d399",deprecated:"#9ca3af"}[m]??"#9ca3af";return x.jsxs("div",{className:"c4-node",style:{position:"relative",width:s.width,height:s.height,background:xpn,border:`2px solid ${u?"var(--accent)":"rgba(0,0,0,0.25)"}`,borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"3px 7px",background:"rgba(0,0,0,0.25)"},children:[x.jsxs("span",{style:{fontSize:8,fontWeight:700,letterSpacing:"0.07em",textTransform:"uppercase",color:"rgba(255,255,255,0.7)"},children:["FF",g&&x.jsx("span",{style:{marginLeft:4,background:"rgba(52,211,153,0.4)",color:"#d1fae5",padding:"0 3px",borderRadius:2},children:"auto"})]}),x.jsx("span",{style:{fontSize:8,fontWeight:700,letterSpacing:"0.05em",textTransform:"uppercase",background:S,color:"#000",padding:"1px 4px",borderRadius:2},children:m})]}),x.jsx("div",{style:{flex:1,display:"flex",alignItems:"center",padding:"0 7px",overflow:"hidden"},children:x.jsx("span",{style:{fontSize:11,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",width:"100%"},children:s.label})})]})});Z8t.displayName="FitnessFnNode";const kpn="#0e7490",ejt=fe.memo(({data:s,selected:u})=>{const f=xe(M=>M.c4Nodes[s.c4id]),d=f,g=(d==null?void 0:d.status)??"draft",m=(d==null?void 0:d.priority)??"must",S={draft:"#fbbf24",approved:"#60a5fa",implemented:"#34d399",verified:"#a78bfa",deprecated:"#9ca3af"}[g]??"#9ca3af",N={must:"M",should:"S",could:"C","won't":"W"},T=xe(M=>M.c4Relations),P=xe(M=>M.c4Nodes),O=ete(s.c4id,T,P),{sentence:I,complete:C}=b6t(f??{},O);return x.jsxs("div",{className:"c4-node",style:{position:"relative",width:s.width,height:s.height,background:kpn,border:`2px solid ${u?"var(--accent)":"rgba(0,0,0,0.25)"}`,borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"3px 7px",background:"rgba(0,0,0,0.25)"},children:[x.jsxs("span",{style:{fontSize:8,fontWeight:700,letterSpacing:"0.07em",textTransform:"uppercase",color:"rgba(255,255,255,0.7)"},children:["REQ",x.jsx("span",{style:{marginLeft:4,background:"rgba(6,182,212,0.4)",color:"#cffafe",padding:"0 3px",borderRadius:2},children:N[m]??"M"})]}),x.jsx("span",{style:{fontSize:8,fontWeight:700,letterSpacing:"0.05em",textTransform:"uppercase",background:S,color:"#000",padding:"1px 4px",borderRadius:2},children:g})]}),x.jsx("div",{style:{padding:"2px 7px 0",overflow:"hidden"},children:x.jsx("span",{style:{fontSize:11,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"block"},children:s.label})}),x.jsx("div",{style:{flex:1,padding:"2px 7px 4px",overflow:"hidden"},children:x.jsx("span",{style:{fontSize:9,color:C?"rgba(255,255,255,0.85)":"rgba(255,255,255,0.5)",fontStyle:"italic",lineHeight:"1.3",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:I})})]})});ejt.displayName="RequirementNode";const ixt="#1e3a5f",jpn="#3b7cc9",tjt=fe.memo(({data:s,selected:u})=>{const f=s.hasChildren&&!s.collapsed;return x.jsxs("div",{className:`c4-node${f?" c4-node-expanded":""}`,style:{position:"relative",width:"100%",height:"100%",background:f?"transparent":ixt,border:`2px ${f?"dashed":"solid"} ${u?"var(--accent)":f?jpn:"rgba(0,0,0,0.25)"}`,borderRadius:8,overflow:"hidden",display:"flex",flexDirection:"column"},children:[x.jsx(Eg,{}),x.jsx(Sg,{c4id:s.c4id}),x.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 10px",background:f?`${ixt}cc`:"rgba(0,0,0,0.25)",flexShrink:0},children:[x.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:f?"#7ab8f0":"rgba(255,255,255,0.6)",style:{flexShrink:0},children:x.jsx("path",{d:pb.blueprint})}),x.jsx("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.07em",textTransform:"uppercase",color:f?"#7ab8f0":"rgba(255,255,255,0.6)"},children:"Blueprint"})]}),!f&&x.jsx("div",{style:{flex:1,padding:"6px 10px",overflow:"hidden",display:"flex",alignItems:"center"},children:x.jsx("span",{style:{fontSize:13,fontWeight:700,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",whiteSpace:"normal",wordBreak:"break-word"},children:s.label})}),f&&x.jsx("div",{style:{padding:"2px 10px 0"},children:x.jsx("span",{style:{fontSize:14,fontWeight:700,color:"#7ab8f0"},children:s.label})})]})});tjt.displayName="BlueprintNode";const sb=15,dg=20,K4e=20,Spn=2;function mM(s,u,f,d){switch(f){case Xn.Top:return{x:s,y:u-d};case Xn.Bottom:return{x:s,y:u+d};case Xn.Left:return{x:s-d,y:u};case Xn.Right:return{x:s+d,y:u}}}function O5(s,u,f){return sf?f:s}function Epn(s){return s===Xn.Top||s===Xn.Bottom}function Ipn(s,u,f,d,g,m,w){const S=g*m,N=(ne,Y)=>Y*g+ne,T=N(s,u),P=N(f,d),O=new Float32Array(S).fill(1/0),I=new Int32Array(S).fill(-1),C=new Uint8Array(S),M=new Int8Array(S).fill(-1);O[T]=0;const _=[],F=[];function R(ne,Y){let oe=_.length;for(_.push(ne),F.push(Y);oe>0;){const Z=oe-1>>1;if(_[oe]<_[Z])[_[oe],_[Z]]=[_[Z],_[oe]],[F[oe],F[Z]]=[F[Z],F[oe]],oe=Z;else break}}function B(){const ne=F[0],Y=_.length-1;if(Y>0){_[0]=_[Y],F[0]=F[Y],_.length=Y,F.length=Y;let oe=0;for(;;){let Z=oe;const re=2*oe+1,de=2*oe+2;if(reMath.abs(f-ne)+Math.abs(d-Y);R(G(s,u),T);const z=[[1,0,0],[-1,0,1],[0,1,2],[0,-1,3]];for(;_.length>0;){const ne=B();if(ne===P)break;if(C[ne])continue;C[ne]=1;const Y=ne%g,oe=(ne-Y)/g,Z=O[ne],re=M[ne];for(const[de,U,se]of z){const we=Y+de,ve=oe+U;if(we<0||we>=g||ve<0||ve>=m)continue;const Ke=N(we,ve);if(C[Ke]||w[Ke]&&Ke!==P)continue;const je=re>=0&&re!==se?Spn:0,ae=Z+1+je;ae0){const m=f/g;return{x:s[d-1].x+m*(s[d].x-s[d-1].x),y:s[d-1].y+m*(s[d].y-s[d-1].y)}}f-=g}return s[s.length-1]}function Tpn(s,u,f,d,g,m,w,S,N){const T=1-N,P=T*T,O=P*T,I=N*N,C=I*N;return{x:O*s+3*P*N*f+3*T*I*g+C*w,y:O*u+3*P*N*d+3*T*I*m+C*S}}function Apn(s,u,f,d,g,m,w=16){if(g.length===0)return!1;for(let S=1;S=O.x-m&&T.x<=O.x+O.w+m&&T.y>=O.y-m&&T.y<=O.y+O.h+m)return!0}}return!1}function Ppn(s,u,f,d,g){const m=dg*2+K4e*2;let w=Math.min(s.x,f.x),S=Math.min(s.y,f.y),N=Math.max(s.x,f.x),T=Math.max(s.y,f.y);for(const ne of g)ne.x-dgN&&(N=ne.x+ne.w+dg),ne.y+ne.h+dg>T&&(T=ne.y+ne.h+dg);w-=m,S-=m,N+=m,T+=m;const P=Math.max(4,Math.ceil((N-w)/sb)),O=Math.max(4,Math.ceil((T-S)/sb));if(P*O>6e4)return null;const I=new Uint8Array(P*O);for(const ne of g){const Y=O5(Math.floor((ne.x-dg-w)/sb),0,P-1),oe=O5(Math.ceil((ne.x+ne.w+dg-w)/sb),0,P-1),Z=O5(Math.floor((ne.y-dg-S)/sb),0,O-1),re=O5(Math.ceil((ne.y+ne.h+dg-S)/sb),0,O-1);for(let de=Z;de<=re;de++)for(let U=Y;U<=oe;U++)I[de*P+U]=1}const C=mM(s.x,s.y,u,K4e),M=mM(f.x,f.y,d,K4e),_=O5(Math.round((C.x-w)/sb),0,P-1),F=O5(Math.round((C.y-S)/sb),0,O-1),R=O5(Math.round((M.x-w)/sb),0,P-1),B=O5(Math.round((M.y-S)/sb),0,O-1);I[F*P+_]=0,I[B*P+R]=0;const G=Ipn(_,F,R,B,P,O,I);if(!G)return null;const z=G.map(([ne,Y])=>({x:w+ne*sb,y:S+Y*sb})),Q=rxt(s,z[0],u),te=rxt(f,z[z.length-1],d).reverse();return Npn([s,...Q,...z,...te,f])}function _pn(s,u,f,d,g,m,w){const S={x:s,y:u},N={x:d,y:g},T=Math.hypot(d-s,g-u),P=Math.min(180,Math.max(40,T*.5)),O=mM(s,u,f,P),I=mM(d,g,m,P);if(!Apn(S,O,I,N,w,4)){const B=sxt(S,f,N,m),G=.125*s+.375*O.x+.375*I.x+.125*d,z=.125*u+.375*O.y+.375*I.y+.125*g;return{path:B,labelX:G,labelY:z}}const _=Ppn(S,f,N,m,w);if(!_||_.length<2){const B=sxt(S,f,N,m),G=.125*s+.375*O.x+.375*I.x+.125*d,z=.125*u+.375*O.y+.375*I.y+.125*g;return{path:B,labelX:G,labelY:z}}const F=Cpn(_),R=Mpn(_);return{path:F,labelX:R.x,labelY:R.y}}function oxt(s){var u,f;return{x:(((u=s.positionAbsolute)==null?void 0:u.x)??0)+(s.width??0)/2,y:(((f=s.positionAbsolute)==null?void 0:f.y)??0)+(s.height??0)/2}}function cxt(s,u,f){return Math.abs(s)>=Math.abs(u)*1.15?s>0!==f?Xn.Right:Xn.Left:u>0!==f?Xn.Bottom:Xn.Top}function uxt(s,u,f){var S,N;const d=((S=s.positionAbsolute)==null?void 0:S.x)??0,g=((N=s.positionAbsolute)==null?void 0:N.y)??0,m=s.width??0,w=s.height??0;switch(u){case Xn.Left:return{x:d,y:g+w/2};case Xn.Right:return{x:d+m,y:g+w/2};case Xn.Top:return{x:d+m/2,y:g};case Xn.Bottom:return{x:d+m/2,y:g+w}}}function Opn({x:s,y:u,side:f,color:d,size:g}){const m=g/2;let w;switch(f){case Xn.Top:w=`M${s-m},${u-g}L${s},${u}L${s+m},${u-g}`;break;case Xn.Bottom:w=`M${s-m},${u+g}L${s},${u}L${s+m},${u+g}`;break;case Xn.Left:w=`M${s-g},${u-m}L${s},${u}L${s-g},${u+m}`;break;case Xn.Right:w=`M${s+g},${u-m}L${s},${u}L${s+g},${u+m}`;break}return x.jsx("path",{d:w,fill:d,stroke:"none"})}function lxt({x:s,y:u,edgeId:f,end:d,otherNodeId:g}){const m=xe(I=>I.updateRelation),[w,S]=fe.useState(!1),[N,T]=fe.useState(null);fe.useRef(null);const P=fe.useCallback(I=>{I.stopPropagation(),I.preventDefault(),S(!0),T({x:I.clientX,y:I.clientY})},[]);fe.useEffect(()=>{if(!w)return;const I=M=>{T({x:M.clientX,y:M.clientY})},C=M=>{var B;S(!1),T(null);const _=document.elementFromPoint(M.clientX,M.clientY),F=(B=_==null?void 0:_.closest)==null?void 0:B.call(_,".react-flow__node"),R=F==null?void 0:F.getAttribute("data-id");R&&R!==g&&!f.startsWith("virtual-")&&m(f,d==="source"?{sourceId:R}:{targetId:R})};return window.addEventListener("mousemove",I),window.addEventListener("mouseup",C),()=>{window.removeEventListener("mousemove",I),window.removeEventListener("mouseup",C)}},[w,f,d,g,m]);const O=fe.useMemo(()=>{var F;if(!w||!N)return null;const I=(F=document.querySelector(".react-flow__edges"))==null?void 0:F.closest("svg");if(!I)return null;const C=I.createSVGPoint();C.x=N.x,C.y=N.y;const M=I.getScreenCTM();if(!M)return null;const _=C.matrixTransform(M.inverse());return{x:_.x,y:_.y}},[w,N]);return x.jsxs(x.Fragment,{children:[x.jsx("circle",{cx:s,cy:u,r:10,fill:"var(--accent)",stroke:"#fff",strokeWidth:2.5,style:{cursor:"grab",pointerEvents:"all"},className:"nodrag nopan",onMouseDown:P}),w&&O&&x.jsxs(x.Fragment,{children:[x.jsx("line",{x1:s,y1:u,x2:O.x,y2:O.y,stroke:"var(--accent)",strokeWidth:2,strokeDasharray:"6 4",opacity:.6}),x.jsx("circle",{cx:O.x,cy:O.y,r:4,fill:"var(--accent)",opacity:.6})]})]})}const njt=fe.memo(({id:s,source:u,target:f,data:d,markerEnd:g,style:m,selected:w})=>{var ae,ge,_e,Be,ht,xt;const S=fe.useCallback(ze=>ze.nodeInternals.get(u),[u]),N=fe.useCallback(ze=>ze.nodeInternals.get(f),[f]),T=Iu(S),P=Iu(N),O=xe(ze=>ze.showDiff?ze.diffHighlight[s]:void 0),I=wh();if(!T||!P)return null;const C=oxt(T),M=oxt(P),_=I.getState(),R=Rdn(_.nodeInternals,_.edges).get(s);let B,G,z,Q;if(R)B=R.sourceSide,G=R.targetSide,z=R.sourcePoint,Q=R.targetPoint;else{const ze=M.x-C.x,Fe=M.y-C.y,Ue=((ae=T.positionAbsolute)==null?void 0:ae.x)??0,Vt=((ge=T.positionAbsolute)==null?void 0:ge.y)??0,Et=T.width??0,un=T.height??0,Bn=((_e=P.positionAbsolute)==null?void 0:_e.x)??0,vn=((Be=P.positionAbsolute)==null?void 0:Be.y)??0,ft=P.width??0,zt=P.height??0,vt=Math.max(Bn,Math.min(Bn+ft,C.x)),pn=Math.max(vn,Math.min(vn+zt,C.y));let ln=vt-C.x,Dt=pn-C.y;ln===0&&Dt===0&&(ln=ze,Dt=Fe);const ji=Math.max(Ue,Math.min(Ue+Et,M.x)),Hi=Math.max(Vt,Math.min(Vt+un,M.y));let Wr=M.x-ji,Vo=M.y-Hi;Wr===0&&Vo===0&&(Wr=ze,Vo=Fe),B=cxt(ln,Dt,!1),G=cxt(Wr,Vo,!0),z=uxt(T,B),Q=uxt(P,G)}const te=_.nodeInternals,ne=Array.from(te.values()),Y=new Set([u,f]);let oe=T;for(;oe!=null&&oe.parentNode;)Y.add(oe.parentNode),oe=te.get(oe.parentNode);for(oe=P;oe!=null&&oe.parentNode;)Y.add(oe.parentNode),oe=te.get(oe.parentNode);const Z=[];for(const ze of ne){if(Y.has(ze.id)||ze.hidden||!ze.width||!ze.height)continue;let Fe=!1,Ue=ze;for(;Ue!=null&&Ue.parentNode;){if(Ue.parentNode===u||Ue.parentNode===f){Fe=!0;break}Ue=te.get(Ue.parentNode)}Fe||Z.push({x:((ht=ze.positionAbsolute)==null?void 0:ht.x)??0,y:((xt=ze.positionAbsolute)==null?void 0:xt.y)??0,w:ze.width,h:ze.height})}const{path:re,labelX:de,labelY:U}=_pn(z.x,z.y,B,Q.x,Q.y,G,Z),se=w?"var(--accent)":d!=null&&d.isVirtual?"#6b7280":"#94a3b8",we=d!=null&&d.isVirtual?"6 3":void 0,ve=O==="new"?"var(--success)":O==="removed"?"var(--danger)":O==="changed"?"var(--warning, #d97706)":null,Ke=O==="removed"?"6 4":void 0,je=O==="removed"?.55:1;return x.jsxs(x.Fragment,{children:[x.jsx(jM,{id:s,path:re,style:{...m,stroke:ve??se,strokeWidth:ve?3:w?2:1.5,strokeDasharray:Ke??we,strokeLinejoin:"round",strokeLinecap:"round",opacity:je,filter:ve?`drop-shadow(0 0 4px ${ve})`:void 0}}),x.jsx(Opn,{x:Q.x,y:Q.y,side:G,color:ve??se,size:w?10:8}),w&&!(d!=null&&d.isVirtual)&&x.jsxs(x.Fragment,{children:[x.jsx(lxt,{x:z.x,y:z.y,edgeId:s,end:"source",otherNodeId:f}),x.jsx(lxt,{x:Q.x,y:Q.y,edgeId:s,end:"target",otherNodeId:u})]}),((d==null?void 0:d.label)||(d==null?void 0:d.technology)||(d==null?void 0:d.relationType))&&x.jsx(r3t,{children:x.jsxs("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${de}px,${U}px)`,background:"var(--edge-label-bg)",border:"1px solid var(--edge-label-border)",borderRadius:4,padding:"3px 8px",fontSize:17,color:"var(--text-primary)",pointerEvents:"none",maxWidth:200,textAlign:"center",lineHeight:1.4,backdropFilter:"blur(4px)",zIndex:1e3},className:"nodrag nopan",children:[d.label?x.jsx("div",{children:d.label}):d.relationType&&x.jsx("div",{style:{opacity:.85,fontStyle:"italic"},children:d.relationType}),d.technology&&x.jsxs("div",{style:{fontStyle:"italic",opacity:.85,fontSize:14},children:["[",d.technology,"]"]})]})}),(d==null?void 0:d.sequenceStep)!==void 0&&d.sequenceStep.length>0&&x.jsx(r3t,{children:x.jsx("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${z.x+(Q.x-z.x)*.18}px,${z.y+(Q.y-z.y)*.18}px)`,background:"var(--accent)",color:"#fff",borderRadius:d.sequenceStep.length===1?"50%":8,minWidth:20,height:20,padding:d.sequenceStep.length===1?0:"0 5px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:10,fontWeight:700,pointerEvents:"none",zIndex:1001,boxShadow:"0 1px 4px rgba(0,0,0,0.4)",lineHeight:1,whiteSpace:"nowrap"},className:"nodrag nopan",children:d.sequenceStep.join(",")})})]})});njt.displayName="RelationEdge";function Lpn(){const s=xe(O=>O.pendingDelete),u=xe(O=>O.activeViewId),f=xe(O=>O.c4Nodes),d=xe(O=>O.c4Relations),g=xe(O=>O.resolvePendingDelete);if(fe.useEffect(()=>{if(!s)return;const O=I=>{I.key==="Escape"&&(I.preventDefault(),g("cancel"))};return window.addEventListener("keydown",O),()=>window.removeEventListener("keydown",O)},[s,g]),!s)return null;const m=s.nodeIds.length,w=s.edgeIds.length;if(m+w===0)return null;const S=s.nodeIds[0]?f[s.nodeIds[0]]:null,N=s.edgeIds[0]?d[s.edgeIds[0]]:null,T=m+w===1?S?`"${S.label}"`:N?`relation "${N.label||"(unnamed)"}"`:"1 element":`${m} node(s)${w?` + ${w} relation(s)`:""}`,P=!!u&&m>0;return x.jsx("div",{className:"milestone-modal-backdrop",onClick:()=>g("cancel"),children:x.jsxs("div",{className:"milestone-modal",onClick:O=>O.stopPropagation(),children:[x.jsxs("h3",{className:"milestone-modal-title",children:["Delete ",T,"?"]}),x.jsx("p",{className:"milestone-modal-text",children:"Choose how to handle this delete request."}),x.jsxs("div",{className:"milestone-modal-options",children:[x.jsxs("button",{className:"milestone-option",onClick:()=>g("model"),children:[x.jsx("div",{className:"milestone-option-title",children:"Remove from model"}),x.jsx("div",{className:"milestone-option-desc",children:"Permanently delete from the model (and from every view that references it). Children of nodes are removed as well."})]}),x.jsxs("button",{className:"milestone-option",disabled:!P,onClick:()=>P&&g("view"),style:P?void 0:{opacity:.45,cursor:"not-allowed"},children:[x.jsxs("div",{className:"milestone-option-title",children:["Hide from current view",u?"":" (no active view)"]}),x.jsx("div",{className:"milestone-option-desc",children:P?"Keep the element in the model — just remove it from the active view.":"Activate a view to be able to hide elements from it without deleting them."})]}),x.jsxs("button",{className:"milestone-option ghost",onClick:()=>g("cancel"),children:[x.jsx("div",{className:"milestone-option-title",children:"Cancel"}),x.jsx("div",{className:"milestone-option-desc",children:"Keep everything as it is."})]})]})]})})}const Dpn={person:q8t,system:z8t,container:V8t,component:U8t,database:G8t,webapp:W8t,queue:X8t,domain:J8t,group:Y8t,adr:Q8t,"fitness-fn":Z8t,requirement:ejt,blueprint:tjt},Rpn={c4relation:njt};function $pn({containerRef:s,sourceId:u,mouseX:f,mouseY:d}){const g=s.current;if(!g)return null;const m=g.querySelector(`.react-flow__node[data-id="${CSS.escape(u)}"]`);if(!m)return null;const w=g.getBoundingClientRect(),S=m.getBoundingClientRect(),N=S.left+S.width/2-w.left,T=S.top+S.height/2-w.top,P=f-w.left,O=d-w.top;return x.jsxs("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:99},children:[x.jsx("line",{x1:N,y1:T,x2:P,y2:O,stroke:"var(--accent)",strokeWidth:2,strokeDasharray:"6 4",opacity:.7}),x.jsx("circle",{cx:P,cy:O,r:4,fill:"var(--accent)",opacity:.7})]})}function Fpn(){var Nu,Z0;const s=fe.useRef(null),f=xe(Rt=>Rt.appMode)!=="designer",d=xe(Rt=>Rt.presentationActive),g=xe(Rt=>Rt.autoFitActive),m=xe(Rt=>Rt.rfNodes),w=xe(Rt=>Rt.rfEdges),S=xe(Rt=>Rt.onNodesChange),N=xe(Rt=>Rt.onEdgesChange),T=xe(Rt=>Rt.selectNode),P=xe(Rt=>Rt.selectEdge),O=xe(Rt=>Rt.addNode),I=xe(Rt=>Rt.liveGrab),C=xe(Rt=>Rt.liveDrag),M=xe(Rt=>Rt.liveRelease),_=xe(Rt=>Rt.connectSource),F=xe(Rt=>Rt.connectionModifier),R=xe(Rt=>Rt.cancelConnection),B=xe(Rt=>Rt.activeSequenceId),G=xe(Rt=>{var hi;return Rt.activeSequenceId?(hi=Rt.sequences[Rt.activeSequenceId])==null?void 0:hi.name:void 0}),z=xe(Rt=>Rt.setActiveSequence),Q=xe(Rt=>Rt.activeSnapshotId),te=xe(Rt=>{var hi;return Rt.activeSnapshotId?(hi=Rt.snapshots.find(Ki=>Ki.id===Rt.activeSnapshotId))==null?void 0:hi.name:void 0}),ne=xe(Rt=>Rt.milestoneDirty),Y=xe(Rt=>Rt.commitMilestoneChanges),oe=xe(Rt=>Rt.discardMilestoneChanges),[Z,re]=fe.useState(null),de=xe(Rt=>Rt.diffHighlight),U=xe(Rt=>Rt.showDiff),se=xe(Rt=>Rt.toggleShowDiff),we=fe.useMemo(()=>{let Rt=0,hi=0,Ki=0;for(const pr of Object.values(de))pr==="new"?Rt++:pr==="changed"?hi++:pr==="removed"&&Ki++;return{added:Rt,changed:hi,removed:Ki}},[de]),ve=xe(Rt=>{var hi;return Rt.activeViewId?(hi=Rt.views[Rt.activeViewId])==null?void 0:hi.name:"All elements"}),Ke=fe.useRef(!1),[je,ae]=fe.useState(!1);fe.useEffect(()=>{const Rt=ds=>{switch(F){case"shift":return ds.shiftKey;case"ctrl":return ds.ctrlKey;case"alt":return ds.altKey;case"meta":return ds.metaKey}},hi=ds=>{Rt(ds)&&!Ke.current&&(Ke.current=!0,ae(!0))},Ki=ds=>{!Rt(ds)&&Ke.current&&(Ke.current=!1,ae(!1))},pr=()=>{Ke.current=!1,ae(!1)};return window.addEventListener("keydown",hi),window.addEventListener("keyup",Ki),window.addEventListener("blur",pr),()=>{window.removeEventListener("keydown",hi),window.removeEventListener("keyup",Ki),window.removeEventListener("blur",pr)}},[F]);const ge=xe(Rt=>Rt.setFitViewFn),_e=xe(Rt=>Rt.setViewportFns),Be=Cfn();fe.useEffect(()=>{window.__rfCurrentViewport={x:Be.x,y:Be.y,zoom:Be.zoom}},[Be.x,Be.y,Be.zoom]);const ht=fe.useRef(null),xt=fe.useRef(null),ze=fe.useRef(!1),Fe=fe.useRef(new Set),Ue=fe.useRef(0),Vt=fe.useRef(new Set),Et=fe.useRef(null),un=fe.useCallback(()=>{const Rt=s.current,hi=Et.current;if(!Rt||!hi)return null;const Ki=Rt.getNodes();if(Ki.length===0)return null;const pr=Ki.filter(Hs=>!Hs.hidden);if(pr.length===0)return null;const ds=hi.getBoundingClientRect();if(ds.width===0||ds.height===0)return null;const Bs=eM(pr),yr=140,Er={x:Bs.x-yr,y:Bs.y-yr,width:Bs.width+yr*2,height:Bs.height+yr*2};return v$(Er,ds.width,ds.height,.05,4,.18)},[]),Bn=fe.useCallback(()=>{const Rt=s.current,hi=Et.current;if(!Rt||!hi)return null;const Ki=hi.getBoundingClientRect();if(Ki.width===0||Ki.height===0)return null;const ds=Rt.getNodes().filter(Cc=>!Cc.hidden);if(ds.length===0)return Fe.current=new Set,null;const Bs=new Set(ds.map(Cc=>Cc.id)),yr=Fe.current;if(yr.size===0){Fe.current=Bs;const Cc=eM(ds),ed=140,vb={x:Cc.x-ed,y:Cc.y-ed,width:Cc.width+ed*2,height:Cc.height+ed*2};return v$(vb,Ki.width,Ki.height,.05,4,.18)}const Er=ds.filter(Cc=>!yr.has(Cc.id)),Hs=[...yr].filter(Cc=>!Bs.has(Cc)).length;Fe.current=Bs;const eu=1500,Cu=performance.now();if((Er.length>0||Hs>0)&&(Ue.current=Cu+eu,Er.length>0&&(Vt.current=new Set(Er.map(Cc=>Cc.id)))),Cu>Ue.current)return null;const tu=eM(ds),Da=140,Dl={x:tu.x-Da,y:tu.y-Da,width:tu.width+Da*2,height:tu.height+Da*2};return v$(Dl,Ki.width,Ki.height,.05,4,.18)},[]),vn=fe.useCallback((Rt=260,hi=!1)=>{if(!hi){const Bs=window.__radicalAutoFitSuppressUntil??0;if(performance.now(){const yr=s.current,Er=xt.current;if(!yr||!Er){ht.current=null;return}const Hs=yr.getViewport(),eu=ze.current?140:280,Cu=1-Math.exp(-16.6/eu),bh=Hs.x+(Er.x-Hs.x)*Cu,tu=Hs.y+(Er.y-Hs.y)*Cu,Da=Hs.zoom+(Er.zoom-Hs.zoom)*Cu,Dl=Math.abs(Er.x-bh),Cc=Math.abs(Er.y-tu),ed=Math.abs(Er.zoom-Da);if(Dl<.2&&Cc<.2&&ed<5e-4){yr.setViewport(Er),ht.current=null;return}yr.setViewport({x:bh,y:tu,zoom:Da}),ht.current=requestAnimationFrame(Bs)};ht.current=requestAnimationFrame(Bs)}},[un,Bn]);fe.useEffect(()=>()=>{ht.current!=null&&(cancelAnimationFrame(ht.current),ht.current=null)},[]);const ft=fe.useCallback(Rt=>(s.current=Rt,ge(()=>vn(600,!0),()=>vn(550,!1)),_e(()=>Rt.getViewport(),(hi,Ki)=>Rt.setViewport(hi,Ki)),window.__rfFocusNode=(hi,Ki)=>{var eu,Cu;const pr=Rt.getNode(hi);if(!pr)return;const ds=pr.width??200,Bs=pr.height??120,yr=(((eu=pr.positionAbsolute)==null?void 0:eu.x)??pr.position.x)+ds/2,Er=(((Cu=pr.positionAbsolute)==null?void 0:Cu.y)??pr.position.y)+Bs/2,Hs=(Ki==null?void 0:Ki.duration)??600;window.__radicalAutoFitSuppressUntil=performance.now()+Hs+2500,ht.current!=null&&(cancelAnimationFrame(ht.current),ht.current=null),Rt.setCenter(yr,Er,{zoom:(Ki==null?void 0:Ki.zoom)??1.1,duration:Hs})},setTimeout(()=>{var pr;const hi=xe.getState(),Ki=hi.activeViewId?((pr=hi.views[hi.activeViewId])==null?void 0:pr.viewport)??null:hi.defaultViewport;Ki?Rt.setViewport(Ki,{duration:0}):Rt.fitView({padding:.12})},100),window.__radicalZoomIn=()=>Rt.zoomIn({duration:300}),window.__radicalZoomOut=()=>Rt.zoomOut({duration:300}),()=>{delete window.__radicalZoomIn,delete window.__radicalZoomOut}),[ge,_e,vn]),zt=fe.useCallback(Rt=>{if(!s.current||!Rt.target.classList.contains("react-flow__pane"))return;const{x:Ki,y:pr}=s.current.screenToFlowPosition({x:Rt.clientX,y:Rt.clientY});O({type:"system",label:"New System",description:"",collapsed:!1,external:!1,x:Ki-Lr.system.width/2,y:pr-Lr.system.height/2,...Lr.system})},[O]),vt=fe.useCallback((Rt,hi)=>{Ke.current||xe.getState().connectSource||(R(),Rt.shiftKey||Rt.metaKey||Rt.ctrlKey)||T(hi.id)},[R,T]),pn=fe.useRef(!1),[ln,Dt]=fe.useState(null);fe.useEffect(()=>{const Rt=Et.current;if(!Rt)return;const hi=yr=>{const Er=yr.closest(".react-flow__node");return(Er==null?void 0:Er.getAttribute("data-id"))??null},Ki=yr=>{const Er=xe.getState().connectionModifier;return Er==="shift"?yr.shiftKey:Er==="ctrl"?yr.ctrlKey:Er==="alt"?yr.altKey:yr.metaKey},pr=yr=>{if(!Ki(yr))return;const Er=hi(yr.target);if(!Er)return;yr.stopPropagation(),yr.preventDefault(),xe.getState().startConnection(Er),pn.current=!0,Dt({x:yr.clientX,y:yr.clientY})},ds=yr=>{pn.current&&Dt({x:yr.clientX,y:yr.clientY})},Bs=yr=>{var Cu,bh,tu,Da;if(!pn.current)return;pn.current=!1,Dt(null);const Er=xe.getState(),Hs=Er.connectSource;if(!Hs)return;const eu=hi(yr.target);if(eu&&eu!==Hs){const Dl=Er.c4Nodes[Hs],Cc=Er.c4Nodes[eu];if(Dl&&Cc)if($9(Er.metamodel,Dl.type,Cc.type))Er.addRelation({sourceId:Hs,targetId:eu});else{const ed=((bh=(Cu=Er.metamodel)==null?void 0:Cu.nodeTypes[Dl.type])==null?void 0:bh.label)??Dl.type,vb=((Da=(tu=Er.metamodel)==null?void 0:tu.nodeTypes[Cc.type])==null?void 0:Da.label)??Cc.type;Er.pushNotification(`Relation not allowed: ${ed} → ${vb}. The metamodel does not permit this connection.`,"error")}}Er.cancelConnection()};return Rt.addEventListener("mousedown",pr,!0),window.addEventListener("mousemove",ds),window.addEventListener("mouseup",Bs),()=>{Rt.removeEventListener("mousedown",pr,!0),window.removeEventListener("mousemove",ds),window.removeEventListener("mouseup",Bs)}},[]);const ji=fe.useCallback(()=>{R(),T(null),P(null)},[R,T,P]),Hi=fe.useCallback(Rt=>{if(!Rt.source||!Rt.target||Rt.source===Rt.target)return!1;const hi=xe.getState(),Ki=hi.c4Nodes[Rt.source],pr=hi.c4Nodes[Rt.target];return!Ki||!pr?!1:$9(hi.metamodel,Ki.type,pr.type)},[]),Wr=fe.useCallback((Rt,hi)=>{const Ki=xe.getState();if(Ki.activeSequenceId&&!hi.id.startsWith("virtual-")){Ki.toggleRelationInSequence(Ki.activeSequenceId,hi.id);return}P(hi.id)},[P]),Vo=fe.useCallback(Rt=>{var Da,Dl,Cc,ed,vb;Rt.preventDefault();const hi=Rt.dataTransfer.getData("application/c4-type");if(!hi||!s.current)return;const Ki=s.current.screenToFlowPosition({x:Rt.clientX,y:Rt.clientY}),pr=xe.getState().metamodel,ds=pr==null?void 0:pr.nodeTypes[hi],Bs=(ds==null?void 0:ds.allowedParents)??[],yr=(ds==null?void 0:ds.label)??hi,Er=s.current.getNodes();let Hs=null;for(const Ra of Er){if(Ra.hidden)continue;const $1=((Da=Ra.positionAbsolute)==null?void 0:Da.x)??Ra.position.x,F1=((Dl=Ra.positionAbsolute)==null?void 0:Dl.y)??Ra.position.y,wy=Ra.width??0,by=Ra.height??0;Ki.x>=$1&&Ki.x<=$1+wy&&Ki.y>=F1&&Ki.y<=F1+by&&(!Hs||(Ra.zIndex??0)>=(Hs.zIndex??0))&&(Hs=Ra)}let eu,Cu=Ki.x,bh=Ki.y;if(Hs){const Ra=Hs.type??"";if(Bs.includes(Ra)){eu=Hs.id;const $1=((Cc=Hs.positionAbsolute)==null?void 0:Cc.x)??Hs.position.x,F1=((ed=Hs.positionAbsolute)==null?void 0:ed.y)??Hs.position.y;Cu=Ki.x-$1,bh=Ki.y-F1}else{const $1=((vb=pr==null?void 0:pr.nodeTypes[Ra])==null?void 0:vb.label)??Ra,F1=Bs.length?Bs.map(wy=>{var by;return((by=pr==null?void 0:pr.nodeTypes[wy])==null?void 0:by.label)??wy}).join(", "):"the canvas root";xe.getState().pushNotification(`Cannot place ${yr} inside ${$1}. Allowed parents: ${F1}.`,"error");return}}else if(!Wh(pr,hi,void 0)){const Ra=Bs.length?Bs.map($1=>{var F1;return((F1=pr==null?void 0:pr.nodeTypes[$1])==null?void 0:F1.label)??$1}).join(", "):"a parent";xe.getState().pushNotification(`${yr} must be placed inside ${Ra}.`,"error");return}const tu=Lr[hi];O({type:hi,label:hi[0].toUpperCase()+hi.slice(1),description:"",technology:"",collapsed:!1,external:!1,parentId:eu,x:Cu-tu.width/2,y:bh-tu.height/2,...tu})},[O]),ni=fe.useCallback(Rt=>{Rt.preventDefault(),Rt.dataTransfer.dropEffect="copy"},[]);fe.useEffect(()=>{const Rt=hi=>{hi.key==="Escape"&&_&&R()};return window.addEventListener("keydown",Rt),()=>window.removeEventListener("keydown",Rt)},[_,R]),fe.useRef(null);const oi=fe.useCallback((Rt,hi)=>{I(hi.id,hi.position.x,hi.position.y)},[I]),Hr=fe.useCallback((Rt,hi)=>{C(hi.id,hi.position.x,hi.position.y)},[C]),Ro=fe.useCallback((Rt,hi)=>{M(hi.id)},[M]),Fs=["canvas-area"];_&&Fs.push("connecting"),je&&Fs.push("connect-ready"),g&&Fs.push("autofit-active");const oa=_?m.map(Rt=>Rt.id===_?{...Rt,className:(Rt.className??"")+" connecting-source"}:Rt):m;return x.jsxs("div",{ref:Et,className:Fs.join(" "),onDrop:f?void 0:Vo,onDragOver:f?void 0:ni,onDoubleClick:f?void 0:zt,children:[B&&x.jsxs("div",{style:{position:"absolute",top:8,left:"50%",transform:"translateX(-50%)",zIndex:100,background:"var(--accent)",color:"#fff",fontSize:11,fontWeight:600,padding:"5px 12px",borderRadius:20,boxShadow:"0 2px 8px rgba(0,0,0,0.25)",display:"flex",alignItems:"center",gap:8,pointerEvents:"all",userSelect:"none"},children:["Editing: ",G??B," — click relations to add steps (remove via step list)",x.jsx("button",{onClick:()=>z(null),style:{background:"none",border:"none",color:"#fff",cursor:"pointer",padding:"0 2px",fontSize:13,lineHeight:1,opacity:.85},title:"Stop editing",children:"✕"})]}),Q&&te&&x.jsxs("div",{className:"nodrag nopan",style:{position:"absolute",top:8,left:12,fontSize:11,color:"var(--text-muted)",background:"var(--bg-panel)",border:`1px solid ${ne?"var(--accent)":"var(--border-color)"}`,padding:"4px 8px",borderRadius:4,pointerEvents:"all",zIndex:10,display:"flex",gap:6,alignItems:"center"},children:[x.jsx("span",{style:{color:"var(--accent)",fontSize:10},children:"●"}),x.jsxs("span",{children:["Milestone: ",x.jsx("strong",{style:{color:"var(--text-primary)"},children:te}),ne&&x.jsx("span",{style:{color:"var(--accent)",marginLeft:4},children:"· unsaved"})]}),x.jsx("button",{title:U?"Hide diff":"Show changes vs. previous milestone",onClick:se,style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:U?"var(--accent)":"var(--bg-surface)",color:U?"#fff":"var(--text-muted)",border:"1px solid var(--border-color)",borderRadius:3},children:U?"⊙ diff on":"⊙ diff"}),U&&we.added+we.changed+we.removed>0&&x.jsxs("span",{style:{marginLeft:2,opacity:.9},children:[x.jsxs("span",{style:{color:"#4ade80"},children:["+",we.added]})," ",x.jsxs("span",{style:{color:"#fb923c"},children:["~",we.changed]})," ",x.jsxs("span",{style:{color:"#f87171"},children:["−",we.removed]})]}),ne&&x.jsxs(x.Fragment,{children:[x.jsx("span",{style:{width:1,alignSelf:"stretch",background:"var(--border-color)",margin:"0 2px"}}),x.jsx("button",{title:"Apply changes to this and all later milestones",onClick:()=>Y("propagate"),style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:"var(--accent)",color:"#fff",border:"none",borderRadius:3},children:"Propagate"}),Z!==null?x.jsxs(x.Fragment,{children:[x.jsx("input",{autoFocus:!0,value:Z,onChange:Rt=>re(Rt.target.value),onKeyDown:Rt=>{Rt.key==="Enter"&&(Y("new",Z),re(null)),Rt.key==="Escape"&&re(null)},placeholder:"New milestone name…",style:{fontSize:11,padding:"2px 6px",borderRadius:3,border:"1px solid var(--border-color)",background:"var(--bg-input, var(--bg-surface))",color:"var(--text-primary)",width:160}}),x.jsx("button",{onClick:()=>{Y("new",Z),re(null)},style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:"var(--bg-surface)",border:"1px solid var(--border-color)",borderRadius:3,color:"var(--text-primary)"},children:"Save"})]}):x.jsx("button",{title:"Save as new milestone",onClick:()=>re(`${te} (edited)`),style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:"var(--bg-surface)",border:"1px solid var(--border-color)",borderRadius:3,color:"var(--text-primary)"},children:"New milestone"}),x.jsx("button",{title:"Discard changes and return to live",onClick:oe,style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:"none",border:"1px solid var(--border-color)",borderRadius:3,color:"var(--text-muted)"},children:"Discard"})]})]}),x.jsx(Lpn,{}),x.jsx(c6t,{nodes:oa,edges:w,onNodesChange:S,onEdgesChange:N,onNodeClick:vt,onNodeDragStart:oi,onNodeDrag:Hr,onNodeDragStop:Ro,onEdgeClick:Wr,onPaneClick:ji,onInit:ft,nodeTypes:Dpn,edgeTypes:Rpn,nodesDraggable:!d,nodesConnectable:!f&&!d,elementsSelectable:!0,connectOnClick:!1,isValidConnection:Hi,minZoom:.05,maxZoom:3,deleteKeyCode:"Delete",multiSelectionKeyCode:F==="shift"?"Meta":"Shift",selectNodesOnDrag:!1,elevateEdgesOnSelect:!0,elevateNodesOnSelect:!0,proOptions:{hideAttribution:!0},children:x.jsx(Ofn,{variant:wb.Dots,gap:24,size:1,color:"var(--canvas-dots)"})}),_&&ln&&x.jsx($pn,{containerRef:Et,sourceId:_,mouseX:ln.x,mouseY:ln.y}),_&&x.jsxs("div",{style:{position:"absolute",top:12,left:"50%",transform:"translateX(-50%)",background:"var(--accent)",color:"#fff",borderRadius:5,padding:"4px 12px",fontSize:12,fontWeight:600,pointerEvents:"none",zIndex:100},children:['Connecting from "',((Z0=(Nu=m.find(Rt=>Rt.id===_))==null?void 0:Nu.data)==null?void 0:Z0.label)??_,'" — release on target']}),ve&&!Q&&x.jsxs("div",{style:{position:"absolute",top:8,left:12,fontSize:11,color:"var(--text-muted)",background:"var(--bg-panel)",border:"1px solid var(--border-color)",padding:"4px 8px",borderRadius:4,pointerEvents:"none",zIndex:10},children:["Structure: ",x.jsx("strong",{style:{color:"var(--text-primary)"},children:ve})]})]})}function Bpn(){return x.jsx(Fpn,{})}const Hpn={domain:["#b8d4f0","#5a9ad8","#1a3a5c"],system:["#bedad8","#5aa8e0","#1a3d5c"],container:["#cae0f8","#7ab4ec","#1a4060"],component:["#d4eefa","#8cc4f4","#1a4560"],database:["#ddd0f8","#9c7cdc","#2e1060"],webapp:["#b8e8d0","#54c490","#0e3d22"],queue:["#f8e4a8","#e0b040","#5a3c00"],person:["#f8d0cc","#e07868","#5c1a14"]},Kpn={domain:["#0a1e38","#1a4a7a","#90bcdf"],system:["#0d3a6e","#1168bd","#b0d4f5"],container:["#154f88","#3880c4","#c5e2f8"],component:["#1e5f9e","#5e9fd8","#daeefb"],database:["#321060","#7e3dbf","#c9a8f0"],webapp:["#0a3a1e","#20924f","#9de2b8"],queue:["#4a2000","#c47a10","#f0c88a"],person:["#4a0a10","#b83020","#f0a8a8"]},qpn=["#d4d4ec","#9090c0","#1a1a3a"],zpn=["#181830","#36366a","#9090b8"];function Vpn(){const[s,u]=fe.useState(()=>document.documentElement.getAttribute("data-theme")!=="light");return fe.useEffect(()=>{const f=new MutationObserver(()=>{u(document.documentElement.getAttribute("data-theme")!=="light")});return f.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>f.disconnect()},[]),s}function N5e(s,u,f,d,g,m,w,S,N){const T=[];for(const P of Object.values(s)){if(P.parentId!==d||f&&!f.has(P.id))continue;const O=N||S.has(P.id),I=!O&&g+1>=w,C=I?[]:N5e(s,u,f,P.id,g+1,m,w,S,O);let M=C.length>0,_=!1;if(!M&&I){for(const G of Object.values(s))if(G.parentId===P.id&&!(f&&!f.has(G.id))){M=!0,_=!0;break}}const F=u[P.id]??0,R=C.length===0?1:C.reduce((G,z)=>G+z.descendants,0);let B;m==="uniform"?(B=C.length===0?1:C.reduce((G,z)=>G+z.value,0),C.length===0&&(B=1)):m==="relations"?B=C.length===0?Math.max(1,F+1):C.reduce((G,z)=>G+z.value,0):B=R,T.push({id:P.id,label:P.label,type:P.type,depth:g,relCount:F,descendants:R,children:C,hasKids:M,cutAtDepth:_,isExpanded:S.has(P.id),value:B})}return T}function axt(s,u){if(!s.length)return 1/0;const f=s.reduce((m,w)=>m+w,0),d=Math.max(...s),g=Math.min(...s);return Math.max(u*u*d/(f*f),f*f/(u*u*g))}function ijt(s,u,f){if(!s.length||f.w<1||f.h<1)return;const{x:d,y:g,w:m,h:w}=f,S=m>=w,N=S?w:m;let T=[],P=0;for(;Paxt(T,N))break;T=M,P++}T.length||(T=[u[0]],P=1);const O=T.reduce((M,_)=>M+_,0),I=O/N;let C=0;for(let M=0;MN.value-S.value);const d=s.reduce((S,N)=>S+N.value,0);if(!d)return;ijt(s,s.map(S=>S.value/d*u.w*u.h),u);const g=Gpn[Math.min(f,3)];for(const S of s)S.rect&&(S.rect={x:S.rect.x+g,y:S.rect.y+g,w:Math.max(0,S.rect.w-g*2),h:Math.max(0,S.rect.h-g*2)});const m=rjt[Math.min(f,3)],w=Upn[Math.min(f,3)];for(const S of s){if(!S.rect||!S.children.length)continue;const N={x:S.rect.x+w,y:S.rect.y+m+w,w:Math.max(0,S.rect.w-w*2),h:Math.max(0,S.rect.h-m-w*2)};N.w>4&&N.h>4&&C5e(S.children,N,f+1)}}function M5e(s,u=[]){for(const f of s)u.push(f),M5e(f.children,u);return u}function Wpn(){const s=Vpn(),u=s?Kpn:Hpn,f=s?zpn:qpn,d=xe(Et=>Et.c4Nodes),g=xe(Et=>Et.c4Relations),m=xe(Et=>Et.metamodel),w=xe(Et=>Et.activeViewId),S=xe(Et=>Et.views),N=xe(Et=>Et.selectNode),T=xe(Et=>Et.selectedNodeId),P=xe(Et=>Et.setTreemapFocus),O=xe(Et=>Et.setTreemapSizeBy),I=xe(Et=>Et.setTreemapMaxDepth),C=xe(Et=>Et.toggleTreemapExpand),M=w?S[w]:null,_=(M==null?void 0:M.treemapFocusId)??null,F=(M==null?void 0:M.treemapSizeBy)??"leaves",R=M==null?void 0:M.treemapMaxDepth,B=R===null?1/0:typeof R=="number"&&R>0?R:2,G=fe.useMemo(()=>new Set((M==null?void 0:M.treemapExpandedIds)??[]),[M]),z=fe.useRef(null),[Q,te]=fe.useState({w:800,h:600}),[ne,Y]=fe.useState(null),[oe,Z]=fe.useState({x:0,y:0}),[re,de]=fe.useState(_),[U,se]=fe.useState(null),we=fe.useRef(_),ve=fe.useRef(null),Ke=fe.useRef(null),je=fe.useRef(null),ae=fe.useRef(null);fe.useEffect(()=>()=>{Ke.current!==null&&cancelAnimationFrame(Ke.current),je.current!==null&&cancelAnimationFrame(je.current),ae.current!==null&&window.clearTimeout(ae.current)},[]),fe.useEffect(()=>{const Et=z.current;if(!Et)return;const un=new ResizeObserver(([Bn])=>{te({w:Math.max(1,Bn.contentRect.width),h:Math.max(1,Bn.contentRect.height)})});return un.observe(Et),()=>un.disconnect()},[]);const ge=fe.useCallback(Et=>{w&&P(w,Et)},[w,P]),_e=fe.useMemo(()=>{if(!M||!M.nodeIds||M.nodeIds.length===0)return;const Et=new Set;for(const un of M.nodeIds){let Bn=un;for(;Bn&&d[Bn];)Et.add(Bn),Bn=d[Bn].parentId}return Et},[M,d]),Be=fe.useMemo(()=>{const Et={};for(const un of Object.values(g))Et[un.sourceId]=(Et[un.sourceId]??0)+1,Et[un.targetId]=(Et[un.targetId]??0)+1;return Et},[g]),ht=fe.useMemo(()=>{const Et=[{id:null,label:"All"}];if(_&&d[_]){const un=[];let Bn=_;for(;Bn&&d[Bn];)un.unshift(d[Bn]),Bn=d[Bn].parentId;for(const vn of un)Et.push({id:vn.id,label:vn.label})}return Et},[_,d]);fe.useEffect(()=>{_&&!d[_]&&ge(null)},[_,d,ge]);const xt=fe.useMemo(()=>{const un=N5e(d,Be,_e,re??void 0,0,F,B,G,!1);return C5e(un,{x:16,y:16,w:Q.w-16*2,h:Q.h-16*2},0),M5e(un)},[d,Be,_e,re,Q,F,B,G]);fe.useLayoutEffect(()=>{var pn;const Et=we.current;if(Et===_)return;we.current=_;const un=Q.w,Bn=Q.h,vn=16;Ke.current!==null&&cancelAnimationFrame(Ke.current),je.current!==null&&cancelAnimationFrame(je.current),ae.current!==null&&window.clearTimeout(ae.current);const ft=xt,zt=ve.current;if(ve.current=null,de(_),un<1||Bn<1){se(null);return}let vt=null;if(zt&&_!==null){const ln=un/Math.max(1,zt.w),Dt=Bn/Math.max(1,zt.h);vt=`translate(${-zt.x*ln}px, ${-zt.y*Dt}px) scale(${ln}, ${Dt})`}else if(Et!==null){const ln=N5e(d,Be,_e,_??void 0,0,F,B,G,!1);C5e(ln,{x:vn,y:vn,w:un-vn*2,h:Bn-vn*2},0);const Dt=(pn=M5e(ln).find(ji=>ji.id===Et))==null?void 0:pn.rect;if(Dt){const ji=Dt.w/un,Hi=Dt.h/Bn;vt=`translate(${Dt.x}px, ${Dt.y}px) scale(${ji}, ${Hi})`}}if(!vt||ft.length===0){se(null);return}se({flat:ft,transform:"translate(0px, 0px) scale(1, 1)",opacity:1,transition:"none"}),Ke.current=requestAnimationFrame(()=>{je.current=requestAnimationFrame(()=>{se({flat:ft,transform:vt,opacity:0,transition:"transform 360ms cubic-bezier(0.4, 0, 0.2, 1), opacity 140ms ease-in 240ms"})})}),ae.current=window.setTimeout(()=>{se(null)},420)},[_,Q.w,Q.h,d,Be,_e,F,B,G]);const ze=xt.length===0,Fe=fe.useCallback(()=>{var Et;_&&ge(((Et=d[_])==null?void 0:Et.parentId)??null)},[_,d,ge]);fe.useEffect(()=>{const Et=un=>{if(_===null)return;const Bn=un.target;Bn&&(Bn.tagName==="INPUT"||Bn.tagName==="TEXTAREA"||Bn.isContentEditable)||(un.key==="Escape"||un.key==="Backspace")&&(un.preventDefault(),Fe())};return window.addEventListener("keydown",Et),()=>window.removeEventListener("keydown",Et)},[_,Fe]);const Ue=fe.useCallback(Et=>{Z({x:Et.clientX,y:Et.clientY})},[]),Vt=(Et,un,Bn)=>x.jsxs(x.Fragment,{children:[x.jsx("defs",{children:Et.map(vn=>vn.rect&&x.jsx("clipPath",{id:`${Bn}cp-${vn.id}`,children:x.jsx("rect",{x:vn.rect.x+1,y:vn.rect.y+1,width:Math.max(0,vn.rect.w-2),height:Math.max(0,vn.rect.h-2)})},`${Bn}cp-${vn.id}`))}),Et.map(vn=>{if(!vn.rect)return null;const{x:ft,y:zt,w:vt,h:pn}=vn.rect;if(vt<2||pn<2)return null;const[ln,Dt,ji]=u[vn.type]??f,Hi=m==null?void 0:m.nodeTypes[vn.type],Wr=(Hi==null?void 0:Hi.iconPath)??pb[vn.type]??"",Vo=un&&(ne==null?void 0:ne.id)===vn.id,ni=un&&T===vn.id,oi=rjt[Math.min(vn.depth,3)],Hr=Math.max(0,6-vn.depth*2),Ro=Math.min(12,Math.max(9,Math.min(vt/9,oi-7))),Fs=vn.hasKids&&pn>oi+4,oa=vn.cutAtDepth||vn.isExpanded&&vn.depth+1>=B,Nu=vn.isExpanded?"−":"+",Z0=un?Dl=>{Dl.stopPropagation(),vn.hasKids?(ve.current={x:ft,y:zt,w:vt,h:pn},ge(vn.id)):N(vn.id)}:void 0,Rt=un?Dl=>{Dl.stopPropagation(),vn.hasKids?(ve.current={x:ft,y:zt,w:vt,h:pn},ge(vn.id)):N(vn.id)}:void 0,hi=un?Dl=>{Dl.stopPropagation(),w&&C(w,vn.id)}:void 0,Ki=ni?"#ffd84d":Vo?"rgba(255,255,255,0.9)":Dt,pr=ni?2:Vo?1.5:.6,ds=Fs&&oa&&vt>40?22:6,Bs=Fs?Math.max(12,Math.min(15,oi-8)):Math.max(11,Math.min(14,pn-8)),yr=Fs?3:2,Er=Bs+yr*2,Hs=!!Wr&&vt>(Fs?66:44)&&pn>(Fs?oi-2:16),eu=ft+ds,Cu=Fs?zt+(oi-Er)/2:zt+(pn-Er)/2,bh=eu+(Hs?Er+5:0),tu=ji,Da=Bs/16;return x.jsxs("g",{onMouseEnter:un?()=>Y(vn):void 0,children:[x.jsx("rect",{x:ft,y:zt,width:vt,height:pn,fill:ln,stroke:Ki,strokeWidth:pr,rx:Hr,style:un?{cursor:"pointer"}:void 0,onClick:Z0,pointerEvents:un?void 0:"none"}),Fs&&x.jsxs(x.Fragment,{children:[x.jsx("rect",{x:ft,y:zt,width:vt,height:oi,fill:Dt,fillOpacity:Vo?.75:.55,rx:Hr,style:un?{cursor:"pointer"}:void 0,onClick:Rt,pointerEvents:un?void 0:"none"}),oa&&vt>40&&x.jsxs("g",{style:un?{cursor:"pointer"}:void 0,onClick:hi,pointerEvents:un?void 0:"none",children:[x.jsx("rect",{x:ft+3,y:zt+(oi-16)/2,width:16,height:16,rx:3,fill:"rgba(0,0,0,0.25)"}),x.jsx("text",{x:ft+11,y:zt+oi/2+1,dominantBaseline:"middle",textAnchor:"middle",fill:ji,fontSize:13,fontWeight:700,fontFamily:"system-ui, sans-serif",pointerEvents:"none",children:Nu})]}),vn.hasKids&&vt>24&&x.jsx("text",{x:ft+vt-6,y:zt+oi/2+1,dominantBaseline:"middle",textAnchor:"end",fill:ji,fontSize:10,opacity:.85,fontFamily:"system-ui, sans-serif",pointerEvents:"none",children:"⤢"})]}),Hs&&x.jsxs("g",{clipPath:`url(#${Bn}cp-${vn.id})`,pointerEvents:"none",children:[x.jsx("rect",{x:eu,y:Cu,width:Er,height:Er,rx:3,fill:Fs?"rgba(0,0,0,0.22)":"rgba(255,255,255,0.12)"}),x.jsx("path",{d:Wr,fill:tu,transform:`translate(${eu+yr}, ${Cu+yr}) scale(${Da})`})]}),vt>28&&(Fs?!0:pn>12)&&x.jsx("text",{x:bh,y:Fs?zt+oi-8:zt+pn/2,dominantBaseline:Fs?"auto":"middle",fill:ji,fontSize:Ro,fontWeight:vn.depth<=1?600:400,fontFamily:"system-ui, -apple-system, sans-serif",clipPath:`url(#${Bn}cp-${vn.id})`,pointerEvents:"none",children:vn.label})]},`${Bn}${vn.id}`)})]});return x.jsxs("div",{className:"treemap-wrap-outer",children:[x.jsxs("div",{className:"treemap-breadcrumb",children:[ht.map((Et,un)=>{const Bn=un===ht.length-1;return x.jsxs(In.Fragment,{children:[un>0&&x.jsx("span",{className:"tm-bc-sep",children:"›"}),x.jsx("button",{className:`tm-bc-item ${Bn?"active":""}`,onClick:()=>ge(Et.id),disabled:Bn,title:Bn?"Current root":`Zoom out to ${Et.label}`,children:Et.label})]},Et.id??"__root")}),x.jsx("div",{className:"tm-bc-spacer"}),x.jsxs("label",{className:"tm-bc-sizeby",title:"How to size rectangles",children:["Size:",x.jsxs("select",{value:F,onChange:Et=>w&&O(w,Et.target.value),children:[x.jsx("option",{value:"leaves",children:"leaves (hierarchy)"}),x.jsx("option",{value:"uniform",children:"uniform"}),x.jsx("option",{value:"relations",children:"relations"})]})]}),x.jsxs("label",{className:"tm-bc-sizeby",title:"How many descendant levels to render below the current focus",children:["Levels:",x.jsxs("select",{value:B===1/0?"all":String(B),onChange:Et=>{if(!w)return;const un=Et.target.value;I(w,un==="all"?null:parseInt(un,10))},children:[x.jsx("option",{value:"1",children:"1"}),x.jsx("option",{value:"2",children:"2"}),x.jsx("option",{value:"3",children:"3"}),x.jsx("option",{value:"4",children:"4"}),x.jsx("option",{value:"all",children:"all"})]})]}),_!==null&&x.jsx("button",{className:"tm-bc-back",onClick:Fe,title:"Zoom out one level (Esc)",children:"↑ Up"})]}),x.jsxs("div",{ref:z,className:"treemap-wrap",onMouseMove:Ue,onMouseLeave:()=>Y(null),children:[ze?x.jsx("div",{className:"treemap-empty",children:_?"No child elements. Zoom out to navigate.":"No elements to display."}):x.jsxs("svg",{width:Q.w,height:Q.h,style:{display:"block",userSelect:"none"},children:[x.jsx("g",{children:Vt(xt,!0,"")}),U&&x.jsx("g",{style:{transform:U.transform,transformBox:"fill-box",transformOrigin:"0 0",transition:U.transition,opacity:U.opacity,pointerEvents:"none",willChange:"transform, opacity"},children:Vt(U.flat,!1,"ov-")})]}),ne&&ne.rect&&x.jsxs("div",{className:"treemap-tooltip",style:{left:oe.x+14,top:oe.y-10},children:[x.jsx("span",{className:"tm-tt-type",children:ne.type}),x.jsx("span",{className:"tm-tt-label",children:ne.label}),x.jsxs("span",{className:"tm-tt-meta",children:["depth ",ne.depth,ne.children.length>0&&` · ${ne.children.length} children`,ne.hasKids&&` · ${ne.descendants} leaves`]}),ne.relCount>0&&x.jsxs("span",{className:"tm-tt-meta tm-tt-dim",children:[ne.relCount," relation",ne.relCount!==1?"s":""]}),x.jsx("span",{className:"tm-tt-hint",children:ne.hasKids?"click tile → zoom in":"click → select"})]})]})]})}const Xpn={domain:["#0a1e38","#1a4a7a","#90bcdf"],system:["#0d3a6e","#1168bd","#b0d4f5"],container:["#154f88","#3880c4","#c5e2f8"],component:["#1e5f9e","#5e9fd8","#daeefb"],database:["#321060","#7e3dbf","#c9a8f0"],webapp:["#0a3a1e","#20924f","#9de2b8"],queue:["#4a2000","#c47a10","#f0c88a"],person:["#4a0a10","#b83020","#f0a8a8"]},Jpn=["#181830","#36366a","#9090b8"],NC=160,CC=44,fxt=56,oZ=24,Ypn=28,q4e=56,hxt=32,MC=11,z4e=70;function Qpn(){xe(ze=>ze.activeViewId);const s=xe(ze=>ze.activeViewId?ze.views[ze.activeViewId]:void 0),u=xe(ze=>ze.sequences),f=xe(ze=>ze.c4Nodes),d=xe(ze=>ze.c4Relations),g=xe(ze=>ze.diffHighlight),m=xe(ze=>ze.diffGhostNodes),w=xe(ze=>ze.diffGhostRelations),S=xe(ze=>ze.selectedNodeId),N=xe(ze=>ze.selectedEdgeId),T=xe(ze=>ze.selectNode),P=xe(ze=>ze.selectEdge),O=xe(ze=>ze.activeSnapshotId),I=xe(ze=>{var Fe;return ze.activeSnapshotId?(Fe=ze.snapshots.find(Ue=>Ue.id===ze.activeSnapshotId))==null?void 0:Fe.name:void 0}),C=xe(ze=>ze.snapshots),M=xe(ze=>ze.diffBaseSnapshotId),_=xe(ze=>ze.milestoneDirty),F=xe(ze=>ze.commitMilestoneChanges),R=xe(ze=>ze.discardMilestoneChanges),B=xe(ze=>ze.showDiff),G=xe(ze=>ze.toggleShowDiff),[z,Q]=fe.useState(null),te=s!=null&&s.sequenceId?u[s.sequenceId]:void 0,{participants:ne,steps:Y}=fe.useMemo(()=>{var vn;const ze={participants:[],steps:[]};if(!te)return ze;const Fe=new Map,Ue=[],Vt=B?m:{},Et=B?w:{},un=B?g:{},Bn=B?M:null;if(te.relationIds.forEach((ft,zt)=>{var Dt;const vt=d[ft]??Et[ft];if(!vt)return;const pn=f[vt.sourceId]??Vt[vt.sourceId],ln=f[vt.targetId]??Vt[vt.targetId];!pn||!ln||(Fe.has(pn.id)||Fe.set(pn.id,pn),Fe.has(ln.id)||Fe.set(ln.id,ln),Ue.push({relationId:ft,sourceId:pn.id,targetId:ln.id,label:vt.label||vt.technology||"",description:((Dt=te.stepDescriptions)==null?void 0:Dt[zt])||void 0,index:zt+1}))}),Bn&&(s!=null&&s.sequenceId)){const ft=C.find(vt=>vt.id===Bn),zt=(vn=ft==null?void 0:ft.sequences)==null?void 0:vn[s.sequenceId];if(zt){const vt=new Set(te.relationIds);zt.relationIds.forEach((pn,ln)=>{var Wr,Vo,ni,oi;if(vt.has(pn)||un[pn]!=="removed")return;const Dt=d[pn]??Et[pn]??((Wr=ft==null?void 0:ft.relations)==null?void 0:Wr[pn]);if(!Dt)return;const ji=f[Dt.sourceId]??Vt[Dt.sourceId]??((Vo=ft==null?void 0:ft.nodes)==null?void 0:Vo[Dt.sourceId]),Hi=f[Dt.targetId]??Vt[Dt.targetId]??((ni=ft==null?void 0:ft.nodes)==null?void 0:ni[Dt.targetId]);!ji||!Hi||(Fe.has(ji.id)||Fe.set(ji.id,ji),Fe.has(Hi.id)||Fe.set(Hi.id,Hi),Ue.push({relationId:pn,sourceId:ji.id,targetId:Hi.id,label:Dt.label||Dt.technology||"",description:((oi=zt.stepDescriptions)==null?void 0:oi[ln])||void 0,index:ln+1,ghost:!0}))})}}return ze.participants=Array.from(Fe.values()),ze.steps=Ue,ze},[te,d,f,w,m,g,M,C,s,B]),oe=fe.useCallback(ze=>{const Fe=ne.findIndex(Ue=>Ue.id===ze);return Fe<0?0:hxt+Fe*(NC+fxt)+NC/2},[ne]),Z=Math.max(600,hxt*2+ne.length*NC+Math.max(0,ne.length-1)*fxt),re=oZ+CC+Ypn,de=re+Math.max(1,Y.length)*q4e,U=de+32+CC+oZ,[se,we]=fe.useState(null),ve=.25,Ke=4,[je,ae]=fe.useState(1),ge=fe.useRef(null),_e=fe.useCallback(ze=>Math.max(ve,Math.min(Ke,ze)),[]),Be=fe.useCallback(ze=>{ze.preventDefault();const Fe=ze.deltaY<0?1.1:1/1.1;ae(Ue=>_e(Ue*Fe))},[_e]),ht=fe.useRef(()=>{ae(1)});if(ht.current=()=>{const ze=ge.current;if(!ze){ae(1);return}const Fe=_e(Math.min(ze.clientWidth/Z,ze.clientHeight/U)*.92);ae(Fe),ze.scrollTo({top:0,left:0})},fe.useEffect(()=>(window.__radicalSeqFitFn=()=>ht.current(),window.__radicalZoomIn=()=>ae(ze=>_e(ze*1.2)),window.__radicalZoomOut=()=>ae(ze=>_e(ze/1.2)),()=>{delete window.__radicalSeqFitFn,delete window.__radicalZoomIn,delete window.__radicalZoomOut}),[_e]),fe.useEffect(()=>{const ze=ge.current;if(!ze)return;ze.addEventListener("wheel",Be,{passive:!1});const Fe=Ue=>{(Ue.ctrlKey||Ue.metaKey)&&(Ue.key==="+"||Ue.key==="="?(Ue.preventDefault(),ae(Vt=>_e(Vt*1.2))):Ue.key==="-"||Ue.key==="_"?(Ue.preventDefault(),ae(Vt=>_e(Vt/1.2))):Ue.key==="0"&&(Ue.preventDefault(),ht.current()))};return ze.addEventListener("keydown",Fe),()=>{ze.removeEventListener("wheel",Be),ze.removeEventListener("keydown",Fe)}},[_e,Be]),!s)return x.jsx("main",{className:"canvas-area sequence-area",style:U4e,children:x.jsx("div",{style:G4e,children:"No active view."})});if(!te)return x.jsx("main",{className:"canvas-area sequence-area",style:U4e,children:x.jsxs("div",{style:G4e,children:[x.jsx("strong",{children:"No sequence linked."}),x.jsxs("div",{style:{marginTop:8,fontSize:12,opacity:.75,maxWidth:420,textAlign:"center"},children:["This view is set to ",x.jsx("em",{children:"Flow"}),". Open the right panel and link a sequence (or create one) to render its steps as a UML sequence diagram."]})]})});if(Y.length===0)return x.jsx("main",{className:"canvas-area sequence-area",style:U4e,children:x.jsxs("div",{style:G4e,children:[x.jsx("strong",{children:"Sequence is empty."}),x.jsxs("div",{style:{marginTop:8,fontSize:12,opacity:.75,maxWidth:420,textAlign:"center"},children:["Switch this view to ",x.jsx("em",{children:"Structure"}),", set ",x.jsx("code",{children:te.name})," as the active sequence in the right panel, then click edges in order to add steps."]})]})});const xt=ze=>ne.map(Fe=>{const Ue=oe(Fe.id),[Vt,Et,un]=Xpn[Fe.type]??Jpn,Bn=Fe.id===S,vn=B?g[Fe.id]:void 0,ft=vn==="new"?"#4ade80":vn==="removed"?"#f87171":vn==="changed"?"#fb923c":null,zt=vn==="new"?"NEW":vn==="removed"?"REMOVED":vn==="changed"?"CHANGED":null;return x.jsxs("g",{style:{cursor:"pointer",opacity:vn==="removed"?.65:1},onClick:vt=>{vt.stopPropagation(),T(Fe.id)},children:[x.jsx("rect",{x:Ue-NC/2,y:ze,width:NC,height:CC,rx:6,fill:Vt,stroke:Bn?"#ffd84d":ft??Et,strokeWidth:Bn?2:ft?2.5:1,strokeDasharray:vn==="removed"?"6 3":void 0}),x.jsx("text",{x:Ue,y:ze+CC/2-4,fill:un,fontSize:13,fontWeight:600,textAnchor:"middle",dominantBaseline:"middle",fontFamily:"system-ui, -apple-system, sans-serif",pointerEvents:"none",children:V4e(Fe.label,22)}),x.jsxs("text",{x:Ue,y:ze+CC/2+11,fill:un,fontSize:9,opacity:.75,textAnchor:"middle",dominantBaseline:"middle",fontFamily:"system-ui, -apple-system, sans-serif",pointerEvents:"none",children:["«",Fe.type,"»"]}),zt&&x.jsx("text",{x:Ue+NC/2-5,y:ze+9,fill:ft,fontSize:8,fontWeight:800,textAnchor:"end",dominantBaseline:"middle",fontFamily:"system-ui, -apple-system, sans-serif",pointerEvents:"none",children:zt})]},`hd-${ze}-${Fe.id}`)});return x.jsxs("main",{ref:ge,className:"canvas-area sequence-area",tabIndex:0,style:{overflow:"auto",background:"var(--bg-canvas)",color:"var(--text-primary)",position:"relative",outline:"none"},onClick:()=>{T(null),P(null)},children:[x.jsxs("svg",{width:Z*je,height:U*je,viewBox:`0 0 ${Z} ${U}`,style:{display:"block",margin:"0 auto",color:"var(--text-primary)"},children:[x.jsxs("defs",{children:[x.jsx("marker",{id:"seq-arrow",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:x.jsx("path",{d:"M0,0 L10,5 L0,10 z",fill:"currentColor"})}),x.jsx("marker",{id:"seq-arrow-hl",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"9",markerHeight:"9",orient:"auto-start-reverse",children:x.jsx("path",{d:"M0,0 L10,5 L0,10 z",fill:"#ffd84d"})}),x.jsx("marker",{id:"seq-arrow-new",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"9",markerHeight:"9",orient:"auto-start-reverse",children:x.jsx("path",{d:"M0,0 L10,5 L0,10 z",fill:"#4ade80"})}),x.jsx("marker",{id:"seq-arrow-removed",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"9",markerHeight:"9",orient:"auto-start-reverse",children:x.jsx("path",{d:"M0,0 L10,5 L0,10 z",fill:"#f87171"})}),x.jsx("marker",{id:"seq-arrow-changed",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"9",markerHeight:"9",orient:"auto-start-reverse",children:x.jsx("path",{d:"M0,0 L10,5 L0,10 z",fill:"#fb923c"})})]}),ne.map(ze=>{const Fe=oe(ze.id);return x.jsx("line",{x1:Fe,x2:Fe,y1:oZ+CC,y2:de+12,stroke:"var(--border-color-strong)",strokeWidth:1,strokeDasharray:"4 4"},`ll-${ze.id}`)}),xt(oZ),xt(de+18),Y.map((ze,Fe)=>{const Ue=re+Fe*q4e+q4e/2,Vt=ze.sourceId===ze.targetId,Et=oe(ze.sourceId),un=oe(ze.targetId),Bn=ze.relationId===N,vn=se===Fe,ft=g[ze.relationId],zt=B?ft:void 0,vt=zt==="new"?"#4ade80":zt==="removed"?"#f87171":zt==="changed"?"#fb923c":null,pn=Bn?"#ffd84d":vt??(vn?"var(--accent)":"currentColor"),ln=Bn||vt?2:vn?1.6:1.2,Dt=zt==="removed"?"6 4":void 0,ji=zt==="removed"?.65:1,Hi=Bn?"url(#seq-arrow-hl)":zt==="new"?"url(#seq-arrow-new)":zt==="removed"?"url(#seq-arrow-removed)":zt==="changed"?"url(#seq-arrow-changed)":"url(#seq-arrow)",Wr=(Et+un)/2,Vo=Ue-6,ni=ze.description??ze.label;return x.jsxs("g",{style:{cursor:"pointer",opacity:ji},onMouseEnter:()=>we(Fe),onMouseLeave:()=>we(oi=>oi===Fe?null:oi),onClick:oi=>{oi.stopPropagation(),P(ze.relationId)},children:[Vt?x.jsxs(x.Fragment,{children:[x.jsx("path",{d:`M ${Et+2} ${Ue-8} - L ${Et+z4e} ${Ue-8} - L ${Et+z4e} ${Ue+8} - L ${Et+2} ${Ue+8}`,fill:"none",stroke:pn,strokeWidth:ln,strokeDasharray:Dt,markerEnd:Hi}),ni&&x.jsx("text",{x:Et+z4e+8,y:Ue,fill:pn,fontSize:11,dominantBaseline:"middle",fontFamily:"system-ui, -apple-system, sans-serif",pointerEvents:"none",children:V4e(ni,40)})]}):x.jsxs(x.Fragment,{children:[x.jsx("line",{x1:Et+(un>Et?MC+2:-13),x2:un+(un>Et?-2:2),y1:Ue,y2:Ue,stroke:pn,strokeWidth:ln,strokeDasharray:Dt,markerEnd:Hi}),ni&&x.jsx("text",{x:Wr,y:Vo,fill:pn,fontSize:11,textAnchor:"middle",fontFamily:"system-ui, -apple-system, sans-serif",pointerEvents:"none",children:V4e(ni,Math.max(8,Math.floor(Math.abs(un-Et)/8)))})]}),x.jsx("circle",{cx:Et+(Vt?0:un>Et?MC:-MC),cy:Ue,r:MC,fill:Bn?"#ffd84d":vt??"var(--accent)",stroke:"var(--border-color-strong)",strokeWidth:.8}),x.jsx("text",{x:Et+(Vt?0:un>Et?MC:-MC),y:Ue+.5,fill:Bn?"#000":"#fff",fontSize:11,fontWeight:700,textAnchor:"middle",dominantBaseline:"middle",fontFamily:"system-ui, -apple-system, sans-serif",pointerEvents:"none",children:ze.index})]},`step-${ze.relationId}-${Fe}`)})]}),x.jsx("div",{style:{position:"absolute",top:8,left:12,fontSize:11,color:"var(--text-muted)",background:"var(--bg-panel)",border:`1px solid ${O&&_?"var(--accent)":"var(--border-color)"}`,padding:"4px 8px",borderRadius:4,pointerEvents:O?"all":"none",display:"flex",alignItems:"center",gap:6,zIndex:10},children:O&&I?x.jsxs(x.Fragment,{children:[x.jsx("span",{style:{color:"var(--accent)",fontSize:10},children:"●"}),x.jsxs("span",{children:["Milestone: ",x.jsx("strong",{style:{color:"var(--text-primary)"},children:I}),_&&x.jsx("span",{style:{color:"var(--accent)",marginLeft:4},children:"· unsaved"})]}),x.jsx("button",{title:B?"Hide diff":"Show changes vs. previous milestone",onClick:G,style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:B?"var(--accent)":"var(--bg-surface)",color:B?"#fff":"var(--text-muted)",border:"1px solid var(--border-color)",borderRadius:3},children:B?"⊙ diff on":"⊙ diff"}),_&&x.jsxs(x.Fragment,{children:[x.jsx("span",{style:{width:1,alignSelf:"stretch",background:"var(--border-color)",margin:"0 2px"}}),x.jsx("button",{title:"Apply changes to this and all later milestones",onClick:()=>F("propagate"),style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:"var(--accent)",color:"#fff",border:"none",borderRadius:3},children:"Propagate"}),z!==null?x.jsxs(x.Fragment,{children:[x.jsx("input",{autoFocus:!0,value:z,onChange:ze=>Q(ze.target.value),onKeyDown:ze=>{ze.key==="Enter"&&(F("new",z),Q(null)),ze.key==="Escape"&&Q(null)},placeholder:"New milestone name…",style:{fontSize:11,padding:"2px 6px",borderRadius:3,border:"1px solid var(--border-color)",background:"var(--bg-input, var(--bg-surface))",color:"var(--text-primary)",width:160}}),x.jsx("button",{onClick:()=>{F("new",z),Q(null)},style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:"var(--bg-surface)",border:"1px solid var(--border-color)",borderRadius:3,color:"var(--text-primary)"},children:"Save"})]}):x.jsx("button",{title:"Save as new milestone",onClick:()=>Q(`${I} (edited)`),style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:"var(--bg-surface)",border:"1px solid var(--border-color)",borderRadius:3,color:"var(--text-primary)"},children:"New milestone"}),x.jsx("button",{title:"Discard changes and return to live",onClick:R,style:{fontSize:11,padding:"2px 6px",cursor:"pointer",background:"none",border:"1px solid var(--border-color)",borderRadius:3,color:"var(--text-muted)"},children:"Discard"})]})]}):x.jsxs(x.Fragment,{children:["Flow: ",x.jsx("strong",{style:{color:"var(--text-primary)"},children:te.name}),x.jsxs("span",{style:{marginLeft:8,opacity:.7},children:[Y.length," step",Y.length===1?"":"s"," · ",ne.length," participant",ne.length===1?"":"s"]})]})}),x.jsxs("div",{style:{position:"absolute",bottom:12,right:16,fontSize:11,color:"var(--text-muted)",background:"var(--bg-panel)",border:"1px solid var(--border-color)",padding:"3px 8px",borderRadius:4,pointerEvents:"none",userSelect:"none"},children:[Math.round(je*100),"%"]})]})}function V4e(s,u){return s?s.length<=u?s:s.slice(0,Math.max(1,u-1))+"…":""}const U4e={display:"flex",alignItems:"center",justifyContent:"center",background:"var(--bg-canvas)",color:"var(--text-muted)"},G4e={display:"flex",flexDirection:"column",alignItems:"center",fontSize:14,padding:24},Zpn=[{key:"_type",label:"Type",width:130,type:"readonly"},{key:"label",label:"Name",width:220,type:"text"},{key:"description",label:"Description",width:280,type:"textarea"},{key:"technology",label:"Technology",width:160,type:"text"},{key:"_parent",label:"Parent",width:180,type:"readonly"}],egn=[{key:"label",label:"Name",width:220,type:"text"},{key:"status",label:"Status",width:130,type:"enum",options:["proposed","accepted","deprecated","superseded"]},{key:"date",label:"Date",width:110,type:"text"},{key:"context",label:"Context",width:260,type:"textarea"},{key:"decision",label:"Decision",width:280,type:"textarea"},{key:"consequences",label:"Consequences",width:240,type:"textarea"},{key:"alternatives",label:"Alternatives considered",width:240,type:"textarea"}],tgn=[{key:"label",label:"Name",width:220,type:"text"},{key:"status",label:"Status",width:130,type:"enum",options:["proposed","active","deprecated"]},{key:"category",label:"Category",width:150,type:"enum",options:["structural","operational","process","holistic"]},{key:"automated",label:"Automated",width:100,type:"boolean"},{key:"trigger",label:"Trigger",width:130,type:"enum",options:["on-deploy","continuous","periodic"]},{key:"threshold",label:"Threshold / Success criteria",width:240,type:"textarea"}],ngn=[{key:"_source",label:"From",width:200,type:"readonly"},{key:"_relType",label:"Type",width:130,type:"readonly"},{key:"_target",label:"To",width:200,type:"readonly"},{key:"label",label:"Label",width:200,type:"text"},{key:"technology",label:"Technology",width:160,type:"text"}],ign=[{key:"label",label:"Name",width:220,type:"text"},{key:"_ears_sentence",label:"EARS Sentence",width:380,type:"readonly"},{key:"ears_type",label:"EARS type",width:150,type:"enum",options:["ubiquitous","event-driven","state-driven","unwanted-behaviour","optional","complex"]},{key:"status",label:"Status",width:130,type:"enum",options:["draft","approved","implemented","verified","deprecated"]},{key:"priority",label:"Priority",width:100,type:"enum",options:["must","should","could","won't"]},{key:"trigger",label:"When (trigger)",width:180,type:"text",visibleWhen:{key:"ears_type",values:["event-driven","complex"]}},{key:"precondition",label:"While (precon.)",width:180,type:"text",visibleWhen:{key:"ears_type",values:["state-driven","complex"]}},{key:"unwanted_condition",label:"If (unwanted)",width:180,type:"text",visibleWhen:{key:"ears_type",values:["unwanted-behaviour","complex"]}},{key:"feature",label:"Where (feature)",width:160,type:"text",visibleWhen:{key:"ears_type",values:["optional","complex"]}},{key:"action",label:"System shall…",width:280,type:"textarea"},{key:"rationale",label:"Rationale",width:240,type:"textarea"}],rgn=[{id:"all",label:"All Nodes"},{id:"adr",label:"ADRs"},{id:"fitness-fn",label:"Fitness Functions"},{id:"requirement",label:"Requirements"},{id:"relations",label:"Relations"}];function sgn(s,u,f,d){var m;if(u==="_type")return py[s.type]??s.type;if(u==="_parent")return s.parentId?((m=f[s.parentId])==null?void 0:m.label)??s.parentId:"";if(u==="_ears_sentence")return b6t(s,d?ete(s.id,d,f):void 0).sentence;const g=s[u];return g==null?"":typeof g=="boolean"?g?"true":"false":String(g)}function ogn(s,u,f){var g,m;if(u==="_source")return((g=f[s.sourceId])==null?void 0:g.label)??s.sourceId;if(u==="_target")return((m=f[s.targetId])==null?void 0:m.label)??s.targetId;if(u==="_relType")return s.relationType??"interacts";const d=s[u];return d!=null?String(d):""}function cgn(s){const u=new Map;for(const m of s){const w=m.parentId??null;u.has(w)||u.set(w,[]),u.get(w).push(m)}const f=[];function d(m,w){const S=u.get(m)??[];for(const N of S)f.push({node:N,depth:w}),d(N.id,w+1)}d(null,0);const g=new Set(f.map(m=>m.node.id));for(const m of s)g.has(m.id)||f.push({node:m,depth:0});return f}function ugn(){const s=xe(Ue=>Ue.c4Nodes),u=xe(Ue=>Ue.c4Relations),f=xe(Ue=>Ue.updateNode),d=xe(Ue=>Ue.updateRelation),g=xe(Ue=>Ue.selectNode),m=xe(Ue=>Ue.selectEdge),w=xe(Ue=>Ue.selectedNodeId),S=xe(Ue=>Ue.selectedEdgeId),N=xe(Ue=>Ue.activeViewId),T=xe(Ue=>Ue.activeViewId?Ue.views[Ue.activeViewId]:void 0),P=xe(Ue=>Ue.addNodeToView),O=xe(Ue=>Ue.addNode),I=xe(Ue=>Ue.pushNotification),[C,M]=fe.useState("all"),[_,F]=fe.useState(null),[R,B]=fe.useState(!1),[G,z]=fe.useState(null),[Q,te]=fe.useState(null),ne=fe.useMemo(()=>!T||T.nodeIds.length===0?null:new Set(T.nodeIds),[T]),Y=fe.useMemo(()=>ne?Object.values(s).filter(Ue=>ne.has(Ue.id)):Object.values(s),[s,ne]),oe=fe.useMemo(()=>Y.filter(Ue=>Ue.type==="adr"),[Y]),Z=fe.useMemo(()=>Y.filter(Ue=>Ue.type==="fitness-fn"),[Y]),re=fe.useMemo(()=>Y.filter(Ue=>Ue.type==="requirement"),[Y]),de=fe.useMemo(()=>ne?Object.values(u).filter(Ue=>ne.has(Ue.sourceId)||ne.has(Ue.targetId)):Object.values(u),[u,ne]),U=fe.useMemo(()=>C==="all"?cgn(Y):[],[C,Y]),se=C==="adr"?egn:C==="fitness-fn"?tgn:C==="requirement"?ign:C==="relations"?ngn:Zpn,we=C==="adr"?oe:C==="fitness-fn"?Z:C==="requirement"?re:C==="relations"?de:U.map(Ue=>Ue.node),ve=fe.useMemo(()=>{const Ue=new Map;for(const Vt of U)Ue.set(Vt.node.id,Vt.depth);return Ue},[U]),Ke=fe.useCallback(Ue=>{const Vt=Array.from(Ue.dataTransfer.types),Et=Vt.includes("application/c4-type"),un=Vt.includes("application/c4-node-id");if(!(!Et&&!un))if(Ue.preventDefault(),Ue.dataTransfer.dropEffect="copy",B(!0),te(Et?"new":"existing"),Et){const Bn=Ue.target.closest(".tv-row"),vn=(Bn==null?void 0:Bn.dataset.nodeId)??null;z(vn)}else z(null)},[]),je=fe.useCallback(Ue=>{Ue.currentTarget.contains(Ue.relatedTarget)||(B(!1),z(null),te(null))},[]),ae=fe.useCallback(Ue=>{var Bn,vn;Ue.preventDefault(),B(!1),z(null),te(null);const Vt=Ue.dataTransfer.getData("application/c4-type");if(Vt){const ft=Lr[Vt]??{width:200,height:100},zt=xe.getState().metamodel,vt=zt==null?void 0:zt.nodeTypes[Vt],pn=(vt==null?void 0:vt.label)??Vt[0].toUpperCase()+Vt.slice(1),ln=(vt==null?void 0:vt.allowedParents)??[],Dt=Ue.target.closest(".tv-row"),ji=Dt==null?void 0:Dt.dataset.nodeId,Hi=ji?s[ji]:void 0;let Wr;if(Hi)if(Wh(zt,Vt,Hi.type))Wr=Hi.id;else if(Hi.parentId&&Wh(zt,Vt,(Bn=s[Hi.parentId])==null?void 0:Bn.type))Wr=Hi.parentId;else{const ni=ln.length?ln.map(oi=>{var Hr;return((Hr=zt==null?void 0:zt.nodeTypes[oi])==null?void 0:Hr.label)??oi}).join(", "):"the model root";I(`Cannot place ${pn} on "${Hi.label}". Drop it onto a ${ni} row.`,"error");return}else if(!Wh(zt,Vt,void 0)){const ni=ln.length?ln.map(oi=>{var Hr;return((Hr=zt==null?void 0:zt.nodeTypes[oi])==null?void 0:Hr.label)??oi}).join(", "):"a parent";I(`${pn} must be dropped onto a ${ni} row.`,"error");return}if(O({type:Vt,label:pn,description:"",technology:"",collapsed:!1,external:!1,parentId:Wr,x:0,y:0,...ft})){const ni=Wr?` inside "${((vn=s[Wr])==null?void 0:vn.label)??Wr}"`:"";I(`${pn} added to the model${ni}.`,"info")}return}const Et=Ue.dataTransfer.getData("application/c4-node-id");if(!Et||!N||!T)return;const un=s[Et];if(!un){I("Node not found.","error");return}if(T.nodeIds.includes(Et)){I(`"${un.label}" is already in this view.`,"warning");return}P(N,Et),I(`"${un.label}" added to view.`,"info")},[N,T,s,O,P,I]),ge=fe.useCallback(()=>{if(!_)return;const{rowId:Ue,colKey:Vt,draft:Et}=_;C==="relations"?d(Ue,{[Vt]:Et||void 0}):Vt==="label"||Vt==="description"||Vt==="technology"?f(Ue,{[Vt]:Et||void 0}):f(Ue,{[Vt]:Et}),F(null)},[_,C,f,d]),_e=fe.useCallback(()=>F(null),[]),Be=fe.useCallback((Ue,Vt,Et)=>{F({rowId:Ue,colKey:Vt,draft:Et})},[]),ht=fe.useCallback(Ue=>{C==="relations"?m(Ue):g(Ue)},[C,g,m]),xt=fe.useCallback((Ue,Vt,Et)=>{f(Ue,{[Vt]:Et!=="true"})},[f]);function ze(Ue,Vt,Et=0){const un=C!=="relations",Bn=Ue.id;if(Vt.visibleWhen&&un){const vt=String(Ue[Vt.visibleWhen.key]??"");if(!Vt.visibleWhen.values.includes(vt))return x.jsx("span",{className:"tv-cell-value",style:{color:"var(--text-muted)",opacity:.4},children:"—"})}const vn=un?sgn(Ue,Vt.key,s,u):ogn(Ue,Vt.key,s),ft=(_==null?void 0:_.rowId)===Bn&&(_==null?void 0:_.colKey)===Vt.key;if(Vt.type==="readonly"){if(Vt.key==="_type"){const vt=Ue;return x.jsx("span",{className:"tv-type-badge",style:{background:Qh[vt.type]??"#333",color:Zee[vt.type]??"#fff"},children:vn})}return x.jsx("span",{className:"tv-cell-readonly",children:vn})}if(Vt.type==="boolean"){const vt=vn==="true";return x.jsx("button",{className:`tv-bool ${vt?"tv-bool-on":""}`,onClick:pn=>{pn.stopPropagation(),xt(Bn,Vt.key,vn)},title:`${vt} — click to toggle`,children:vt?"✓":"—"})}if(ft)return Vt.type==="enum"?x.jsx("select",{autoFocus:!0,className:"tv-cell-input",value:_.draft,onChange:vt=>{const pn=vt.target.value;F({..._,draft:pn});const ln=_.rowId;C==="relations"?d(ln,{[_.colKey]:pn||void 0}):_.colKey==="label"||_.colKey==="description"||_.colKey==="technology"?f(ln,{[_.colKey]:pn||void 0}):f(ln,{[_.colKey]:pn}),F(null)},onBlur:()=>F(null),onKeyDown:vt=>{vt.key==="Escape"&&_e()},onClick:vt=>vt.stopPropagation(),children:Vt.options.map(vt=>x.jsx("option",{value:vt,children:vt},vt))}):Vt.type==="textarea"?x.jsx("textarea",{autoFocus:!0,className:"tv-cell-textarea",value:_.draft,onChange:vt=>F({..._,draft:vt.target.value}),onBlur:ge,onKeyDown:vt=>{vt.key==="Escape"&&(vt.stopPropagation(),_e()),vt.key==="Enter"&&!vt.shiftKey&&(vt.preventDefault(),ge())},onClick:vt=>vt.stopPropagation(),rows:3}):x.jsx("input",{autoFocus:!0,className:"tv-cell-input",value:_.draft,onChange:vt=>F({..._,draft:vt.target.value}),onBlur:ge,onKeyDown:vt=>{vt.key==="Escape"&&_e(),vt.key==="Enter"&&ge(),vt.key==="Tab"&&(vt.preventDefault(),ge())},onClick:vt=>vt.stopPropagation()});const zt=C==="all"&&Vt.key==="label"&&Et>0;return x.jsxs("span",{className:`tv-cell-value ${Vt.type==="textarea"?"tv-cell-multiline":""}`,onClick:vt=>{vt.stopPropagation(),Be(Bn,Vt.key,vn)},title:vn||"Click to edit",style:zt?{paddingLeft:Et*16+4,display:"flex",alignItems:"center",gap:4}:void 0,children:[zt&&x.jsx("span",{className:"tv-tree-indent",style:{color:"var(--text-muted)",flexShrink:0},children:"└"}),vn||x.jsx("span",{className:"tv-cell-placeholder",children:"Click to edit…"})]})}const Fe=C==="adr"?"No ADRs in this model.":C==="fitness-fn"?"No Fitness Functions in this model.":C==="requirement"?"No Requirements in this model.":C==="relations"?"No relations.":"No nodes.";return x.jsxs("div",{className:`tv-wrap${R?" tv-drop-active":""}`,onClick:()=>F(null),onDragOver:Ke,onDragLeave:je,onDrop:ae,children:[R&&(Q==="new"&&G&&s[G]?x.jsxs("div",{className:"tv-drop-pill",children:[x.jsx("span",{className:"tv-drop-icon",children:"+"}),x.jsxs("span",{children:["Add inside ",x.jsx("strong",{children:s[G].label})]})]}):x.jsx("div",{className:"tv-drop-overlay",children:x.jsxs("div",{className:"tv-drop-overlay-inner",children:[x.jsx("span",{className:"tv-drop-icon",children:"+"}),x.jsx("span",{children:Q==="existing"?"Drop to add to view":"Drop onto a row to nest, or here to add at root"})]})})),x.jsx("div",{className:"tv-tabs",children:rgn.map(Ue=>{const Vt=Ue.id==="all"?Y.length:Ue.id==="adr"?oe.length:Ue.id==="fitness-fn"?Z.length:Ue.id==="requirement"?re.length:de.length;return x.jsxs("button",{className:`tv-tab ${C===Ue.id?"active":""}`,onClick:Et=>{Et.stopPropagation(),M(Ue.id),F(null)},children:[Ue.label,x.jsx("span",{className:"tv-tab-count",children:Vt})]},Ue.id)})}),x.jsx("div",{className:"tv-table-wrap",children:x.jsxs("table",{className:"tv-table",children:[x.jsx("colgroup",{children:se.map(Ue=>x.jsx("col",{style:{width:Ue.width}},Ue.key))}),x.jsx("thead",{children:x.jsx("tr",{children:se.map(Ue=>x.jsx("th",{className:"tv-th",children:Ue.label},Ue.key))})}),x.jsxs("tbody",{children:[we.length===0&&x.jsx("tr",{children:x.jsx("td",{className:"tv-empty",colSpan:se.length,children:Fe})}),we.map(Ue=>{const Vt=C!=="relations",Et=Vt?w===Ue.id:S===Ue.id,un=C==="all"?ve.get(Ue.id)??0:0;return x.jsx("tr",{"data-node-id":Vt?Ue.id:void 0,className:`tv-row ${Et?"tv-row-selected":""}${G===Ue.id?" tv-row-drop-parent":""}`,onClick:Bn=>{Bn.stopPropagation(),ht(Ue.id)},children:se.map(Bn=>x.jsx("td",{className:"tv-td",children:ze(Ue,Bn,un)},Bn.key))},Ue.id)})]})]})})]})}function lgn(s){const u=new Set(s.map(w=>w.id)),f=new Map;for(const w of s){const S=w.parentId&&u.has(w.parentId)?w.parentId:null;f.has(S)||f.set(S,[]),f.get(S).push(w)}const d=[],g=w=>{for(const S of f.get(w)??[])d.push(S),g(S.id)};g(null);const m=new Set(d.map(w=>w.id));for(const w of s)m.has(w.id)||d.push(w);return d}function agn(){const s=xe(re=>re.c4Nodes),u=xe(re=>re.c4Relations),f=xe(re=>re.metamodel),d=xe(re=>re.activeViewId?re.views[re.activeViewId]:void 0),g=xe(re=>re.selectEdge),m=xe(re=>re.selectNode),w=xe(re=>re.selectedEdgeId),S=xe(re=>re.addRelation),N=xe(re=>re.removeRelation),T=xe(re=>re.pushNotification),O=xe(re=>re.appMode)!=="designer",[I,C]=fe.useState(null),[M,_]=fe.useState(null),F=fe.useRef(null);fe.useEffect(()=>{if(!M)return;const re=U=>{U.key==="Escape"&&_(null)},de=U=>{F.current&&!F.current.contains(U.target)&&_(null)};return document.addEventListener("keydown",re),document.addEventListener("mousedown",de),()=>{document.removeEventListener("keydown",re),document.removeEventListener("mousedown",de)}},[M]);const R=fe.useMemo(()=>{if(!(!d||d.nodeIds.length===0))return new Set(d.nodeIds)},[d]),B=fe.useMemo(()=>{var de;const re=cy(R,s);if((de=d==null?void 0:d.collapsedNodeIds)!=null&&de.length)for(const U of d.collapsedNodeIds)re.add(U);return re},[R,s,d]),G=fe.useMemo(()=>{var re;if((re=d==null?void 0:d.expandedNodeIds)!=null&&re.length)return new Set(d.expandedNodeIds)},[d]),z=fe.useMemo(()=>{const de=(R?Object.values(s).filter(U=>R.has(U.id)):Object.values(s)).filter(U=>!NM(U.id,s,B,G));return lgn(de)},[s,R,B,G]),Q=fe.useMemo(()=>new Set(z.map(re=>re.id)),[z]),te=fe.useMemo(()=>{const re=new Map;for(const de of Object.values(u)){const U=yee(de.sourceId,s,R,B,G),se=yee(de.targetId,s,R,B,G);if(!U||!se||U===se||!Q.has(U)||!Q.has(se))continue;re.has(U)||re.set(U,new Map);const we=re.get(U),ve=we.get(se);ve?ve.push(de.id):we.set(se,[de.id])}return re},[u,s,R,B,G,Q]),ne=fe.useCallback(re=>{var de;return re&&((de=f==null?void 0:f.relationTypes[re])!=null&&de.color)?f.relationTypes[re].color:"var(--accent)"},[f]),Y=fe.useCallback(re=>{var de;return re&&((de=f==null?void 0:f.relationTypes[re])!=null&&de.label)?f.relationTypes[re].label:re??"relation"},[f]),oe=fe.useCallback((re,de,U)=>{var we,ve,Ke;if(re.id===de.id)return;const se=(we=te.get(re.id))==null?void 0:we.get(de.id);if(se&&se.length>0){if(se.length>1){const ae=U.currentTarget.getBoundingClientRect();_({relIds:se,sourceNode:re,targetNode:de,x:ae.left+ae.width/2,y:ae.bottom+4});return}const je=se[0];!O&&w===je?(N(je),T(`Removed relation: ${re.label} → ${de.label}`,"info")):g(je);return}if(!O){if(!$9(f,re.type,de.type)){const je=((ve=f==null?void 0:f.nodeTypes[re.type])==null?void 0:ve.label)??re.type,ae=((Ke=f==null?void 0:f.nodeTypes[de.type])==null?void 0:Ke.label)??de.type;T(`Relation not allowed: ${je} → ${ae}.`,"error");return}S({sourceId:re.id,targetId:de.id}),T(`Added relation: ${re.label} → ${de.label}`,"info")}},[te,w,g,N,S,f,T,O]),Z=z.length;return Z===0?x.jsx("main",{className:"mx-wrap",children:x.jsxs("div",{className:"mx-empty",children:[x.jsx("div",{className:"mx-empty-title",children:"No nodes to display"}),x.jsx("div",{className:"mx-empty-sub",children:"This matrix view has no nodes. Add nodes to the model or to this view to see their relations."})]})}):x.jsxs("main",{className:"mx-wrap",children:[x.jsxs("div",{className:"mx-toolbar",children:[x.jsx("span",{className:"mx-title",children:"Relationship Matrix"}),x.jsx("span",{className:"mx-hint",children:O?"rows → columns · click a marked cell to select":"rows → columns · click an empty cell to create a relation · click a marked cell to select · click again to remove"})]}),x.jsx("div",{className:"mx-scroll",children:x.jsxs("table",{className:"mx-table",style:{"--mx-n":Z},children:[x.jsx("thead",{children:x.jsxs("tr",{children:[x.jsx("th",{className:"mx-corner",children:x.jsx("span",{className:"mx-corner-from",children:"from \\ to"})}),z.map((re,de)=>x.jsx("th",{className:`mx-colhead${(I==null?void 0:I.col)===de?" mx-axis-hl":""}`,title:`${py[re.type]??re.type}: ${re.label}`,onClick:()=>m(re.id),children:x.jsxs("div",{className:"mx-colhead-inner",children:[x.jsx("span",{className:"mx-swatch",style:{background:Qh[re.type]}}),x.jsx("span",{className:"mx-colhead-text",children:re.label})]})},re.id))]})}),x.jsx("tbody",{children:z.map((re,de)=>x.jsxs("tr",{children:[x.jsxs("th",{className:`mx-rowhead${(I==null?void 0:I.row)===de?" mx-axis-hl":""}`,title:`${py[re.type]??re.type}: ${re.label}`,onClick:()=>m(re.id),children:[x.jsx("span",{className:"mx-swatch",style:{background:Qh[re.type]}}),x.jsx("span",{className:"mx-rowhead-text",children:re.label})]}),z.map((U,se)=>{var ht;const we=re.id===U.id,ve=(ht=te.get(re.id))==null?void 0:ht.get(U.id),Ke=(ve==null?void 0:ve.length)??0,je=ve==null?void 0:ve[0],ae=je?u[je]:void 0,ge=!!je&&ve.includes(w??""),_e=(I==null?void 0:I.row)===de||(I==null?void 0:I.col)===se,Be=["mx-cell",we?"mx-diag":"",ae?"mx-has-rel":"",ge?"mx-sel":"",_e?"mx-axis-hl":"",!we&&!ae&&O?"mx-readonly":""].filter(Boolean).join(" ");return x.jsx("td",{className:Be,onMouseEnter:()=>C({row:de,col:se}),onMouseLeave:()=>C(null),onClick:we?void 0:xt=>oe(re,U,xt),title:we?"":ae?`${re.label} → ${U.label}${Ke>1?` · ${Ke} relations`:` (${Y(ae.relationType)})${ae.label?" · "+ae.label:""}`}`:O?`${re.label} → ${U.label}`:`Create relation: ${re.label} → ${U.label}`,children:we?x.jsx("span",{className:"mx-diag-mark"}):ae?x.jsx("span",{className:"mx-dot",style:{background:ne(ae.relationType)},children:Ke>1&&x.jsx("span",{className:"mx-dot-count",children:Ke})}):null},U.id)})]},re.id))})]})}),M&&x.jsxs("div",{ref:F,className:"mx-popup",style:{left:M.x,top:M.y},children:[x.jsxs("div",{className:"mx-popup-header",children:[x.jsx("span",{className:"mx-popup-from",children:M.sourceNode.label}),x.jsx("span",{className:"mx-popup-arrow",children:"→"}),x.jsx("span",{className:"mx-popup-to",children:M.targetNode.label})]}),x.jsx("ul",{className:"mx-popup-list",children:M.relIds.map(re=>{const de=u[re];if(!de)return null;const U=re===w;return x.jsxs("li",{className:`mx-popup-item${U?" mx-popup-item-sel":""}`,children:[x.jsxs("button",{className:"mx-popup-select",onClick:()=>{g(re),_(null)},children:[x.jsx("span",{className:"mx-popup-dot",style:{background:ne(de.relationType)}}),x.jsxs("span",{className:"mx-popup-rel-label",children:[de.label||Y(de.relationType),de.label&&de.relationType&&x.jsxs("span",{className:"mx-popup-rel-type",children:[" (",Y(de.relationType),")"]})]})]}),!O&&x.jsx("button",{className:"mx-popup-remove",title:"Remove this relation",onClick:()=>{N(re),T(`Removed relation: ${M.sourceNode.label} → ${M.targetNode.label}`,"info"),_(null)},children:"×"})]},re)})})]})]})}function fgn(s){const u=s!=null&&s.nodeTypes?Object.keys(s.nodeTypes):[];return u.length?u:Object.keys(py)}function sjt(s,u,f){return fgn(s).filter(d=>Wh(s,d,u)).map(d=>({id:d,label:f(d).label,color:f(d).color})).sort((d,g)=>d.label.localeCompare(g.label))}function hgn(){const s=xe(u=>u.metamodel);return fe.useMemo(()=>u=>{var d;const f=(d=s==null?void 0:s.nodeTypes)==null?void 0:d[u];return{label:(f==null?void 0:f.label)??py[u]??u,color:(f==null?void 0:f.color)??Qh[u]??"#334155",fg:(f==null?void 0:f.fg)??Zee[u]??"#fff",iconPath:(f==null?void 0:f.iconPath)??pb[u]??""}},[s])}function dgn({type:s,typeMeta:u}){const f=u(s);return x.jsxs("span",{className:"wiki-chip",style:{background:`${f.color}1f`,color:f.color,borderColor:`${f.color}55`},children:[f.iconPath&&x.jsx("svg",{viewBox:"0 0 16 16",width:"11",height:"11",fill:f.color,children:x.jsx("path",{d:f.iconPath})}),f.label]})}function T5e({label:s,options:u,emptyHint:f,onPick:d,variant:g="default"}){const[m,w]=fe.useState(!1),[S,N]=fe.useState(""),T=fe.useRef(null);fF([T],m,()=>w(!1));const P=S.trim().toLowerCase(),O=P?u.filter(I=>{var C;return I.label.toLowerCase().includes(P)||((C=I.sub)==null?void 0:C.toLowerCase().includes(P))}):u;return x.jsxs("div",{className:"wiki-add",ref:T,children:[x.jsxs("button",{className:`wiki-add-btn ${g==="ghost"?"ghost":""}`,onClick:()=>{w(I=>!I),N("")},children:[x.jsx("span",{className:"wiki-add-plus",children:"+"}),s]}),m&&x.jsxs("div",{className:"wiki-add-menu",children:[u.length>6&&x.jsx("input",{className:"wiki-add-search",placeholder:"Search…",autoFocus:!0,value:S,onChange:I=>N(I.target.value)}),x.jsx("div",{className:"wiki-add-list",children:O.length===0?x.jsx("div",{className:"wiki-add-empty",children:f??"Nothing available"}):O.map(I=>x.jsxs("button",{className:"wiki-add-item",onClick:()=>{d(I.id),w(!1)},children:[I.color&&x.jsx("span",{className:"wiki-add-dot",style:{background:I.color}}),x.jsx("span",{className:"wiki-add-item-label",children:I.label}),I.sub&&x.jsx("span",{className:"wiki-add-item-sub",children:I.sub})]},I.id))})]})]})}function pgn(){const s=xe(se=>se.views),u=xe(se=>se.activeViewId),f=xe(se=>se.c4Nodes),d=xe(se=>se.c4Relations),g=xe(se=>se.metamodel),m=xe(se=>se.updateNode),w=xe(se=>se.updateRelation),S=xe(se=>se.addNode),N=xe(se=>se.removeNode),T=xe(se=>se.addRelation),P=xe(se=>se.removeRelation),O=xe(se=>se.pushNotification),I=xe(se=>se.setWikiFocus),M=xe(se=>se.appMode)!=="designer",_=hgn(),F=u?s[u]:null,R=(F==null?void 0:F.wikiFocusId)??null,[B,G]=fe.useState(""),z=fe.useMemo(()=>{if(!F||F.nodeIds.length===0)return null;const se=new Set;for(const we of F.nodeIds){let ve=we;for(;ve&&f[ve];)se.add(ve),ve=f[ve].parentId??void 0}return se},[F,f]),Q=R?f[R]:null,te=Q&&(!z||z.has(Q.id))?Q:null,ne=fe.useMemo(()=>Object.values(f).filter(se=>!z||z.has(se.id)),[f,z]),Y=fe.useMemo(()=>{const se={};for(const we of ne){const ve=we.parentId??"__root__";(se[ve]??(se[ve]=[])).push(we)}for(const we of Object.keys(se))se[we].sort((ve,Ke)=>ve.label.localeCompare(Ke.label));return se},[ne]),oe=se=>{F&&I(F.id,se)},Z=(se,we)=>{const ve=g==null?void 0:g.nodeTypes[se],Ke=`New ${(ve==null?void 0:ve.label)??py[se]??se}`,je=Lr[se],ae=S({type:se,label:Ke,description:"",technology:"",collapsed:!1,external:!1,parentId:we,x:0,y:0,width:(ve==null?void 0:ve.width)??(je==null?void 0:je.width)??160,height:(ve==null?void 0:ve.height)??(je==null?void 0:je.height)??90});ae&&(O(`${Ke} added.`,"info"),oe(ae))},re=se=>{const we=f[se];if(!we)return;const ve=Object.values(f).filter(ae=>ae.parentId===se),Ke=ve.length?` and its ${ve.length} child element${ve.length===1?"":"s"}`:"";if(!window.confirm(`Delete "${we.label}"${Ke}? This cannot be undone from here.`))return;const je=we.parentId??null;N(se),O(`"${we.label}" deleted.`,"info"),(R===se||R&&!f[R])&&oe(je)},de=(se,we)=>{T({sourceId:se,targetId:we})},U=se=>{P(se)};return F?x.jsxs("div",{className:"wiki-view",children:[x.jsx(ggn,{filter:B,setFilter:G,childrenOf:Y,focusId:R,onSelect:oe,typeMeta:_}),x.jsx("div",{className:"wiki-page",children:te?x.jsx(ygn,{node:te,nodes:f,relations:d,visibleSet:z,metamodel:g,updateNode:m,updateRelation:w,onNavigate:oe,onCreateChild:se=>Z(se,te.id),onDeleteNode:re,onCreateRelation:se=>de(te.id,se),onDeleteRelation:U,readOnly:M,typeMeta:_},te.id):x.jsx(wgn,{roots:Y.__root__??[],childrenOf:Y,metamodel:g,onNavigate:oe,onCreateRoot:se=>Z(se,void 0),onDeleteNode:re,readOnly:M,totalNodes:ne.length,totalRelations:Object.keys(d).length,typeMeta:_})})]}):x.jsx("div",{className:"wiki-view",children:x.jsx("div",{className:"wiki-empty",children:"No active view."})})}function ggn({filter:s,setFilter:u,childrenOf:f,focusId:d,onSelect:g,typeMeta:m}){const w=s.trim().toLowerCase(),S=(N,T)=>(f[N]??[]).map(O=>{const I=!w||O.label.toLowerCase().includes(w),C=S(O.id,T+1),M=Array.isArray(C)&&C.some(Boolean);if(w&&!I&&!M)return null;const _=m(O.type);return x.jsxs("div",{children:[x.jsxs("button",{className:`wiki-nav-item ${d===O.id?"active":""}`,style:{paddingLeft:10+T*13},onClick:()=>g(O.id),title:O.label,children:[x.jsx("span",{className:"wiki-nav-dot",style:{background:_.color}}),x.jsx("span",{className:"wiki-nav-text",children:O.label})]}),C]},O.id)});return x.jsxs("div",{className:"wiki-nav",children:[x.jsx("div",{className:"wiki-nav-head",children:"Contents"}),x.jsx("input",{className:"wiki-nav-search",placeholder:"Filter…",value:s,onChange:N=>u(N.target.value)}),x.jsx("button",{className:`wiki-nav-item wiki-nav-home ${d===null?"active":""}`,onClick:()=>g(null),children:x.jsx("span",{className:"wiki-nav-text",children:"Overview"})}),x.jsx("div",{className:"wiki-nav-tree",children:S("__root__",0)})]})}function ojt({node:s,metaLabel:u,color:f,sub:d,onOpen:g,onDelete:m}){return x.jsxs("div",{className:"wiki-card",children:[x.jsxs("button",{className:"wiki-card-open",onClick:g,children:[x.jsx("span",{className:"wiki-card-bar",style:{background:f}}),x.jsxs("span",{className:"wiki-card-body",children:[x.jsx("span",{className:"wiki-card-title",children:s.label}),x.jsxs("span",{className:"wiki-card-meta",children:[u,d]}),s.description&&x.jsx("span",{className:"wiki-card-desc",children:s.description})]})]}),m&&x.jsx("button",{className:"wiki-card-del",title:"Delete element","aria-label":`Delete ${s.label}`,onClick:w=>{w.stopPropagation(),m()},children:"×"})]})}function wgn({roots:s,childrenOf:u,metamodel:f,onNavigate:d,onCreateRoot:g,onDeleteNode:m,readOnly:w,totalNodes:S,totalRelations:N,typeMeta:T}){const P=fe.useMemo(()=>sjt(f,void 0,T),[f,T]);return x.jsxs("article",{className:"wiki-doc",children:[x.jsxs("header",{className:"wiki-doc-header",children:[x.jsxs("div",{className:"wiki-title-row",children:[x.jsx("h1",{className:"wiki-doc-title",children:"Overview"}),!w&&x.jsx(T5e,{label:"Add element",options:P,emptyHint:"No root types in metamodel",onPick:g})]}),x.jsxs("p",{className:"wiki-doc-sub",children:[S," element",S===1?"":"s"," · ",N," relation",N===1?"":"s"]})]}),s.length===0?x.jsx("p",{className:"wiki-muted",children:"No elements yet."}):x.jsx("div",{className:"wiki-card-grid",children:s.map(O=>{const I=u[O.id]??[],C=T(O.type);return x.jsx(ojt,{node:O,color:C.color,metaLabel:C.label,sub:I.length>0?` · ${I.length} child${I.length===1?"":"ren"}`:"",onOpen:()=>d(O.id),onDelete:w?void 0:()=>m(O.id)},O.id)})})]})}const bgn=new Set(["container","component","database","webapp","queue"]),mgn=new Set(["technology","date","version","owner","author","team","url","link","repo","repository","reference","ref","tags","tag"]);function vgn(s){return s.type==="enum"||s.type==="boolean"||s.type==="number"?!0:s.type==="text"?mgn.has(s.key):!1}function ygn({node:s,nodes:u,relations:f,visibleSet:d,metamodel:g,updateNode:m,updateRelation:w,onNavigate:S,onCreateChild:N,onDeleteNode:T,onCreateRelation:P,onDeleteRelation:O,readOnly:I,typeMeta:C}){const M=fe.useMemo(()=>{const je=[];let ae=s;const ge=new Set;for(;ae&&!ge.has(ae.id);)ge.add(ae.id),je.unshift(ae),ae=ae.parentId?u[ae.parentId]:void 0;return je},[s,u]),_=fe.useMemo(()=>Object.values(u).filter(je=>je.parentId===s.id&&(!d||d.has(je.id))).sort((je,ae)=>je.label.localeCompare(ae.label)),[u,s.id,d]),F=fe.useMemo(()=>Object.values(f).filter(je=>je.sourceId===s.id&&(!d||d.has(je.targetId))),[f,s.id,d]),R=fe.useMemo(()=>Object.values(f).filter(je=>je.targetId===s.id&&(!d||d.has(je.sourceId))),[f,s.id,d]),B=g==null?void 0:g.nodeTypes[s.type],G=new Set(["trigger","precondition","unwanted_condition","feature","action"]),z=fe.useMemo(()=>((B==null?void 0:B.properties)??[]).filter(je=>je.key!=="label"&&ehn(je,s)&&!(s.type==="requirement"&&G.has(je.key))),[B,s]),{leadProp:Q,sectionProps:te,factProps:ne}=fe.useMemo(()=>{let je;const ae=[],ge=[];for(const _e of z)vgn(_e)?ge.push(_e):!je&&_e.type==="textarea"&&_e.key==="description"?je=_e:ae.push(_e);return{leadProp:je,sectionProps:ae,factProps:ge}},[z]),Y=!!B,oe=Y?Q:{key:"description",label:"Description",type:"textarea"},Z=Y?ne:[...bgn.has(s.type)?[{key:"technology",label:"Technology",type:"text"}]:[],{key:"external",label:"External",type:"boolean"}],re=fe.useMemo(()=>Object.values(u).filter(je=>je.id!==s.id&&Wh(g,s.type,je.type)).sort((je,ae)=>je.label.localeCompare(ae.label)),[u,s,g]),de=fe.useMemo(()=>sjt(g,s.type,C),[g,s.type,C]),U=fe.useMemo(()=>Object.values(u).filter(je=>je.id!==s.id&&(!d||d.has(je.id))&&$9(g,s.type,je.type)).sort((je,ae)=>je.label.localeCompare(ae.label)).map(je=>({id:je.id,label:je.label,color:C(je.type).color,sub:C(je.type).label})),[u,s.id,s.type,d,g,C]),se=C(s.type),we=s.parentId?u[s.parentId]:void 0,ve=je=>s[je],Ke=oe;return x.jsxs("article",{className:"wiki-doc",style:{"--type-color":se.color},children:[x.jsx("nav",{className:"wiki-breadcrumb",children:M.map((je,ae)=>x.jsxs(In.Fragment,{children:[ae>0&&x.jsx("span",{className:"wiki-breadcrumb-sep",children:"›"}),je.id===s.id?x.jsx("span",{className:"wiki-breadcrumb-current",children:je.label}):x.jsx("button",{className:"wiki-link",onClick:()=>S(je.id),children:je.label})]},je.id))}),x.jsxs("header",{className:"wiki-doc-header",children:[x.jsxs("div",{className:"wiki-kicker",children:[x.jsx("span",{className:"wiki-kicker-icon",style:{color:se.color},children:se.iconPath&&x.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"currentColor",children:x.jsx("path",{d:se.iconPath})})}),se.label,s.external&&x.jsx("span",{className:"wiki-kicker-tag",children:"external"})]}),x.jsxs("div",{className:"wiki-title-row",children:[x.jsx(iM,{className:"wiki-doc-title",value:s.label,placeholder:"Untitled element",readOnly:I,onCommit:je=>m(s.id,{label:je})}),!I&&x.jsx("button",{className:"wiki-danger-btn",title:"Delete this element",onClick:()=>T(s.id),children:"Delete"})]}),Ke&&x.jsx(iM,{multiline:!0,className:"wiki-lead",value:String(ve(Ke.key)??""),placeholder:I?"":"Add a description…",readOnly:I,onCommit:je=>m(s.id,{[Ke.key]:je})}),s.type==="requirement"&&x.jsx("div",{className:"wiki-ears-sentence",children:x.jsx(kgn,{node:s,nodeId:s.id,subject:ete(s.id,f,u),readOnly:I,updateNode:(je,ae)=>m(je,ae)})})]}),x.jsxs("div",{className:"wiki-body",children:[x.jsxs("div",{className:"wiki-main",children:[(Y?te:[]).map(je=>x.jsxs("section",{className:"wiki-prose-section",children:[x.jsx("h2",{className:"wiki-h2",children:je.label}),x.jsx(iM,{multiline:je.type==="textarea",className:"wiki-prose",value:String(ve(je.key)??""),placeholder:I?"—":`Add ${je.label.toLowerCase()}…`,readOnly:I,onCommit:ae=>m(s.id,{[je.key]:ae})})]},je.key)),x.jsxs("section",{className:"wiki-prose-section",children:[x.jsxs("div",{className:"wiki-section-head",children:[x.jsxs("h2",{className:"wiki-h2",children:["Contains ",x.jsx("span",{className:"wiki-count",children:_.length})]}),!I&&x.jsx(T5e,{label:"Add child",variant:"ghost",options:de,emptyHint:"No child types allowed here",onPick:N})]}),_.length===0?x.jsx("p",{className:"wiki-muted",children:"No child elements."}):x.jsx("div",{className:"wiki-card-grid",children:_.map(je=>{const ae=C(je.type);return x.jsx(ojt,{node:je,color:ae.color,metaLabel:ae.label,onOpen:()=>S(je.id),onDelete:I?void 0:()=>T(je.id)},je.id)})})]}),x.jsxs("section",{className:"wiki-prose-section",children:[x.jsxs("div",{className:"wiki-section-head",children:[x.jsxs("h2",{className:"wiki-h2",children:["Relationships"," ",x.jsx("span",{className:"wiki-count",children:F.length+R.length})]}),!I&&x.jsx(T5e,{label:"Add relationship",variant:"ghost",options:U,emptyHint:"No valid targets",onPick:P})]}),F.length===0&&R.length===0?x.jsx("p",{className:"wiki-muted",children:"No relationships."}):x.jsxs("div",{className:"wiki-rel-list",children:[F.map(je=>x.jsx(dxt,{direction:"out",otherNode:u[je.targetId],relation:je,nodes:u,metamodel:g,readOnly:I,onNavigate:S,updateRelation:w,onDeleteRelation:O,typeMeta:C},je.id)),R.map(je=>x.jsx(dxt,{direction:"in",otherNode:u[je.sourceId],relation:je,nodes:u,metamodel:g,readOnly:I,onNavigate:S,updateRelation:w,onDeleteRelation:O,typeMeta:C},je.id))]})]})]}),x.jsxs("aside",{className:"wiki-infobox",children:[x.jsx("div",{className:"wiki-infobox-head",children:"At a glance"}),x.jsxs("dl",{className:"wiki-facts",children:[x.jsxs("div",{className:"wiki-fact",children:[x.jsx("dt",{children:"Parent"}),x.jsx("dd",{children:x.jsx(u8e,{value:s.parentId??"",readOnly:I,options:[{value:"",label:"— none —"},...re.map(je=>({value:je.id,label:je.label}))],display:we?x.jsx("button",{className:"wiki-link",onClick:je=>{je.stopPropagation(),S(we.id)},children:we.label}):x.jsx("span",{className:"wiki-muted",children:"none"}),onCommit:je=>m(s.id,{parentId:je||void 0})})})]}),(Y?ne:Z).map(je=>x.jsxs("div",{className:"wiki-fact",children:[x.jsx("dt",{children:je.label}),x.jsx("dd",{children:x.jsx(cjt,{def:je,value:ve(je.key),readOnly:I,onCommit:ae=>m(s.id,{[je.key]:ae})})})]},je.key))]})]})]})]})}function dxt({direction:s,otherNode:u,relation:f,nodes:d,metamodel:g,readOnly:m,onNavigate:w,updateRelation:S,onDeleteRelation:N,typeMeta:T}){const P=f.relationType?g==null?void 0:g.relationTypes[f.relationType]:void 0,O=d[f.sourceId],I=d[f.targetId],C=fe.useMemo(()=>g?Object.values(g.relationTypes).filter(F=>F.allowedPairs.length===0||F.allowedPairs.some(R=>R.from===(O==null?void 0:O.type)&&R.to===(I==null?void 0:I.type))):[],[g,O,I]),M=(P==null?void 0:P.properties)??[],_=F=>f[F];return x.jsxs("div",{className:"wiki-rel",children:[x.jsx("span",{className:`wiki-rel-arrow ${s}`,children:s==="out"?"→":"←"}),x.jsxs("div",{className:"wiki-rel-main",children:[x.jsxs("div",{className:"wiki-rel-head",children:[x.jsx("span",{className:"wiki-rel-verb",children:(P==null?void 0:P.label)??(s==="out"?"relates to":"related from")}),u?x.jsx("button",{className:"wiki-link wiki-rel-target",onClick:()=>w(u.id),children:u.label}):x.jsx("span",{className:"wiki-muted",children:"(missing)"}),u&&x.jsx(dgn,{type:u.type,typeMeta:T})]}),x.jsxs("div",{className:"wiki-rel-attrs",children:[x.jsx(iM,{className:"wiki-rel-label",value:f.label??"",placeholder:m?"":"add label",readOnly:m,onCommit:F=>S(f.id,{label:F})}),C.length>1&&x.jsx("span",{className:"wiki-rel-pill",children:x.jsx(u8e,{value:f.relationType??"",readOnly:m,options:[{value:"",label:"generic"},...C.map(F=>({value:F.id,label:F.label}))],display:x.jsx("span",{children:(P==null?void 0:P.label)??"generic"}),onCommit:F=>S(f.id,{relationType:F||void 0})})}),M.length>0?M.map(F=>x.jsxs("span",{className:"wiki-rel-attr",children:[x.jsxs("span",{className:"wiki-rel-attr-key",children:[F.label,":"]})," ",x.jsx(cjt,{def:F,value:_(F.key),readOnly:m,inline:!0,onCommit:R=>S(f.id,{[F.key]:R})})]},F.key)):!P&&(f.technology||!m)&&x.jsxs("span",{className:"wiki-rel-attr",children:[x.jsx("span",{className:"wiki-rel-attr-key",children:"Tech:"})," ",x.jsx(iM,{value:f.technology??"",placeholder:"add",readOnly:m,onCommit:F=>S(f.id,{technology:F})})]})]})]}),!m&&x.jsx("button",{className:"wiki-rel-del",title:"Remove relationship","aria-label":"Remove relationship",onClick:()=>N(f.id),children:"×"})]})}function cjt({def:s,value:u,readOnly:f=!1,inline:d=!1,onCommit:g}){if(s.type==="boolean"){const m=!!u;return x.jsx("button",{className:`wiki-bool ${m?"on":"off"}`,disabled:f,onClick:()=>!f&&g(!m),children:m?"Yes":"No"})}if(s.type==="enum"&&s.options){const m=String(u??"");return x.jsx(u8e,{value:m,readOnly:f,options:[{value:"",label:"—"},...s.options.map(w=>({value:w,label:w}))],display:m?x.jsx("span",{className:`wiki-enum-pill enum-${m}`,children:m}):x.jsx("span",{className:"wiki-muted",children:"—"}),onCommit:w=>g(w)})}return x.jsx(iM,{className:d?"":"wiki-fact-text",value:u==null?"":String(u),placeholder:f?"—":"add",readOnly:f,onCommit:m=>g(s.type==="number"?Number(m):m)})}function xgn({value:s,placeholder:u,fieldKey:f,nodeId:d,readOnly:g,updateNode:m}){const[w,S]=fe.useState(!1),[N,T]=fe.useState(s),P=fe.useRef(null);return fe.useEffect(()=>{T(s)},[s]),fe.useEffect(()=>{w&&P.current&&P.current.focus()},[w]),g||!w?x.jsx("span",{className:`ears-slot ${s?"ears-slot-filled":"ears-slot-empty"}`,onClick:()=>!g&&S(!0),title:g?void 0:`Click to edit: ${u}`,children:s||u}):x.jsx("input",{ref:P,className:"ears-slot-input",value:N,placeholder:u,onChange:O=>T(O.target.value),onBlur:()=>{S(!1),N!==s&&m(d,{[f]:N||void 0})},onKeyDown:O=>{O.key==="Enter"&&O.currentTarget.blur(),O.key==="Escape"&&(T(s),S(!1))}})}function kgn({node:s,nodeId:u,subject:f,readOnly:d,updateNode:g}){const m=String(s.ears_type??"ubiquitous"),w=f||"the system",S=String(s.action??""),N=String(s.trigger??""),T=String(s.precondition??""),P=String(s.unwanted_condition??""),O=String(s.feature??""),I=(_,F,R)=>x.jsx(xgn,{value:_,placeholder:F,fieldKey:R,nodeId:u,readOnly:d,updateNode:g}),C=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-subject",children:w}),x.jsx("span",{className:"ears-fixed",children:" shall "}),I(S,"‹action›","action"),x.jsx("span",{className:"ears-fixed",children:"."})]});let M;switch(m){case"event-driven":M=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed",children:"When "}),I(N,"‹trigger›","trigger"),x.jsx("span",{className:"ears-fixed",children:", "}),C]});break;case"state-driven":M=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed",children:"While "}),I(T,"‹precondition›","precondition"),x.jsx("span",{className:"ears-fixed",children:", "}),C]});break;case"unwanted-behaviour":M=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed",children:"If "}),I(P,"‹condition›","unwanted_condition"),x.jsx("span",{className:"ears-fixed",children:", then "}),C]});break;case"optional":M=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed",children:"Where "}),I(O,"‹feature›","feature"),x.jsx("span",{className:"ears-fixed",children:", "}),C]});break;case"complex":M=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed",children:"While "}),I(T,"‹precondition›","precondition"),x.jsx("span",{className:"ears-fixed",children:", when "}),I(N,"‹trigger›","trigger"),P||O?x.jsxs(x.Fragment,{children:[P&&x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed",children:", if "}),I(P,"‹condition›","unwanted_condition")]}),O&&x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed",children:", where "}),I(O,"‹feature›","feature")]})]}):null,x.jsx("span",{className:"ears-fixed",children:", "}),C]});break;default:M=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-subject",children:w.charAt(0).toUpperCase()+w.slice(1)}),x.jsx("span",{className:"ears-fixed",children:" shall "}),I(S,"‹action›","action"),x.jsx("span",{className:"ears-fixed",children:"."})]})}return x.jsx("blockquote",{className:"ears-sentence ears-editable",children:M})}function iM({value:s,placeholder:u="",className:f="",multiline:d=!1,readOnly:g=!1,onCommit:m}){const[w,S]=fe.useState(!1),[N,T]=fe.useState(s),P=fe.useRef(null);fe.useEffect(()=>{w||T(s)},[s,w]),fe.useLayoutEffect(()=>{if(w&&P.current){const M=P.current;M.focus();const _=M.value.length;M.setSelectionRange(_,_),d&&pxt(M)}},[w,d]);const O=()=>{S(!1),N!==s&&m(N)},I=()=>{T(s),S(!1)};if(w&&!g)return d?x.jsx("textarea",{ref:M=>P.current=M,className:`wiki-inline-input wiki-inline-textarea ${f}`,value:N,onChange:M=>{T(M.target.value),pxt(M.target)},onBlur:O,onKeyDown:M=>{M.key==="Escape"&&I(),M.key==="Enter"&&(M.metaKey||M.ctrlKey)&&O()}}):x.jsx("input",{ref:M=>P.current=M,className:`wiki-inline-input ${f}`,value:N,onChange:M=>T(M.target.value),onBlur:O,onKeyDown:M=>{M.key==="Escape"&&I(),M.key==="Enter"&&O()}});const C=s.trim()==="";return x.jsx("span",{className:`wiki-inline-view ${f} ${C?"empty":""} ${g?"readonly":""}`,onClick:()=>!g&&S(!0),title:g?void 0:"Click to edit",children:C?u:s})}function u8e({value:s,options:u,display:f,readOnly:d=!1,onCommit:g}){const[m,w]=fe.useState(!1),S=fe.useRef(null);return fe.useLayoutEffect(()=>{m&&S.current&&S.current.focus()},[m]),m&&!d?x.jsx("select",{ref:S,className:"wiki-inline-input wiki-inline-select",value:s,onChange:N=>{g(N.target.value),w(!1)},onBlur:()=>w(!1),children:u.map(N=>x.jsx("option",{value:N.value,children:N.label},N.value))}):x.jsx("span",{className:`wiki-inline-view ${d?"readonly":""}`,onClick:()=>!d&&w(!0),title:d?void 0:"Click to edit",children:f})}function pxt(s){s.style.height="auto",s.style.height=`${s.scrollHeight}px`}const jgn=()=>x.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.8,children:x.jsx("path",{d:"M10 12L6 8l4-4",strokeLinecap:"round",strokeLinejoin:"round"})}),Sgn=()=>x.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.8,children:x.jsx("path",{d:"M6 4l4 4-4 4",strokeLinecap:"round",strokeLinejoin:"round"})}),Egn=()=>x.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.8,children:x.jsx("path",{d:"M4 4l8 8M12 4l-8 8",strokeLinecap:"round"})}),Ign=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("rect",{x:"2",y:"4",width:"12",height:"9",rx:"1.5"}),x.jsx("circle",{cx:"8",cy:"8.5",r:"2.2"}),x.jsx("path",{d:"M5.5 4V3a.5.5 0 01.5-.5h4a.5.5 0 01.5.5v1"})]}),ujt=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M3 5h10M6 5V3h4v2M6 8v5M10 8v5",strokeLinecap:"round"}),x.jsx("rect",{x:"4",y:"5",width:"8",height:"8",rx:"1"})]}),Ngn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("rect",{x:"1",y:"2",width:"14",height:"10",rx:"1.5"}),x.jsx("path",{d:"M5 14h6M8 12v2",strokeLinecap:"round"}),x.jsx("path",{d:"M6 6.5L10 8.5 6 10.5V6.5z",fill:"currentColor",stroke:"none"})]}),ljt=()=>x.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.8,children:x.jsx("path",{d:"M8 3v10M3 8h10",strokeLinecap:"round"})}),Cgn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M7 9a3 3 0 004.24.17l1.5-1.5a3 3 0 00-4.24-4.24L7 4.93",strokeLinecap:"round"}),x.jsx("path",{d:"M9 7a3 3 0 00-4.24-.17L3.26 8.33a3 3 0 004.24 4.24L9 11.07",strokeLinecap:"round"})]}),Mgn=()=>x.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:[x.jsx("path",{d:"M1 8s2.5-5 7-5 7 5 7 5-2.5 5-7 5-7-5-7-5z",strokeLinejoin:"round"}),x.jsx("circle",{cx:"8",cy:"8",r:"2"})]});function Tgn({currentId:s,onPick:u,onClose:f}){const d=xe(m=>m.snapshots),g=fe.useRef(null);return fF([g],!0,f),x.jsxs("div",{ref:g,className:"pres-snap-picker",children:[x.jsx("div",{className:"pres-snap-picker-title",children:"Link milestone"}),x.jsx("button",{className:`pres-snap-item${s===null?" active":""}`,onClick:()=>{u(null),f()},children:x.jsx("em",{children:"(none — current state)"})}),d.length===0&&x.jsx("div",{className:"pres-snap-item disabled",children:"No milestones yet"}),d.map(m=>x.jsx("button",{className:`pres-snap-item${s===m.id?" active":""}`,onClick:()=>{u(m.id),f()},children:m.name},m.id))]})}function Agn({currentId:s,views:u,onPick:f,onClose:d}){const g=fe.useRef(null),m=Object.values(u);return fF([g],!0,d),x.jsxs("div",{ref:g,className:"pres-snap-picker",children:[x.jsx("div",{className:"pres-snap-picker-title",children:"Link view"}),x.jsx("button",{className:`pres-snap-item${s?"":" active"}`,onClick:()=>{f(null),d()},children:x.jsx("em",{children:"(none — show all)"})}),m.length===0&&x.jsx("div",{className:"pres-snap-item disabled",children:"No views yet"}),m.map(w=>x.jsx("button",{className:`pres-snap-item${s===w.id?" active":""}`,onClick:()=>{f(w.id),d()},children:w.name},w.id))]})}function Pgn({slide:s,index:u,isActive:f,snapshotNames:d,viewNames:g,views:m,onSelect:w,onDelete:S,onRename:N,onCapture:T,onLinkSnapshot:P,onLinkView:O}){const[I,C]=fe.useState(!1),[M,_]=fe.useState(s.name),[F,R]=fe.useState(!1),[B,G]=fe.useState(!1),z=fe.useRef(null);fe.useEffect(()=>{_(s.name)},[s.name]),fe.useEffect(()=>{var te;I&&((te=z.current)==null||te.select())},[I]);const Q=()=>{const te=M.trim();te&&te!==s.name&&N(te),C(!1)};return x.jsxs("div",{className:`pres-slide-card${f?" active":""}`,onClick:w,children:[x.jsx("div",{className:"pres-slide-num",children:u+1}),x.jsxs("div",{className:"pres-slide-body",children:[I?x.jsx("input",{ref:z,className:"pres-slide-name-input",value:M,onChange:te=>_(te.target.value),onBlur:Q,onKeyDown:te=>{te.key==="Enter"&&Q(),te.key==="Escape"&&(_(s.name),C(!1)),te.stopPropagation()},onClick:te=>te.stopPropagation()}):x.jsx("span",{className:"pres-slide-name",onDoubleClick:te=>{te.stopPropagation(),C(!0)},title:"Double-click to rename",children:s.name}),s.snapshotId&&x.jsx("span",{className:"pres-slide-snap-tag",title:`Milestone: ${d[s.snapshotId]}`,children:d[s.snapshotId]??"?"}),s.viewId&&x.jsx("span",{className:"pres-slide-view-tag",title:`View: ${g[s.viewId]}`,children:g[s.viewId]??"?"})]}),x.jsxs("div",{className:"pres-slide-actions",onClick:te=>te.stopPropagation(),children:[x.jsx("button",{className:"pres-icon-btn",title:"Capture canvas state (positions, zoom, expanded/collapsed)",onClick:T,children:x.jsx(Ign,{})}),x.jsxs("div",{style:{position:"relative"},children:[x.jsx("button",{className:`pres-icon-btn${s.snapshotId?" linked":""}`,title:"Link milestone",onClick:()=>R(te=>!te),children:x.jsx(Cgn,{})}),F&&x.jsx(Tgn,{currentId:s.snapshotId,onPick:P,onClose:()=>R(!1)})]}),x.jsxs("div",{style:{position:"relative"},children:[x.jsx("button",{className:`pres-icon-btn${s.viewId?" linked":""}`,title:"Link view",onClick:()=>G(te=>!te),children:x.jsx(Mgn,{})}),B&&x.jsx(Agn,{currentId:s.viewId,views:m,onPick:O,onClose:()=>G(!1)})]}),x.jsx("button",{className:"pres-icon-btn danger",title:"Delete slide",onClick:S,children:x.jsx(ujt,{})})]})]})}function _gn(){var g;const s=xe(m=>m.presentationSlides),u=xe(m=>m.presentationSlideIndex),f=xe(m=>m.goToSlide),d=xe(m=>m.stopPresentation);return fe.useEffect(()=>{const m=w=>{if(w.key==="Escape"){d();return}(w.key==="ArrowRight"||w.key==="ArrowDown"||w.key===" ")&&(w.preventDefault(),f(u+1)),(w.key==="ArrowLeft"||w.key==="ArrowUp")&&(w.preventDefault(),f(u-1))};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[f,d,u]),x.jsxs("div",{className:"pres-hud",children:[x.jsx("button",{className:"pres-hud-btn",disabled:u===0,onClick:()=>f(u-1),title:"Previous (←)",children:x.jsx(jgn,{})}),x.jsx("div",{className:"pres-hud-dots",children:s.map((m,w)=>x.jsx("button",{className:`pres-hud-dot${w===u?" active":""}`,onClick:()=>f(w),title:m.name},m.id))}),x.jsxs("div",{className:"pres-hud-label",children:[x.jsx("strong",{children:((g=s[u])==null?void 0:g.name)??""}),x.jsxs("span",{className:"pres-hud-counter",children:[u+1," / ",s.length]})]}),x.jsx("button",{className:"pres-hud-btn",disabled:u===s.length-1,onClick:()=>f(u+1),title:"Next (→)",children:x.jsx(Sgn,{})}),x.jsx("button",{className:"pres-hud-btn exit",onClick:d,title:"Exit (Esc)",children:x.jsx(Egn,{})})]})}function Ogn(){const s=xe(M=>M.presentations),u=xe(M=>M.activePresentationId),f=xe(M=>M.setActivePresentation),d=xe(M=>M.addPresentation),g=xe(M=>M.removePresentation),m=xe(M=>M.renamePresentation),w=s.find(M=>M.id===u),[S,N]=fe.useState(!1),[T,P]=fe.useState((w==null?void 0:w.name)??""),O=fe.useRef(null);fe.useEffect(()=>{P((w==null?void 0:w.name)??"")},[w==null?void 0:w.id,w==null?void 0:w.name]),fe.useEffect(()=>{var M;S&&((M=O.current)==null||M.select())},[S]);const I=()=>{const M=T.trim();w&&M&&M!==w.name&&m(w.id,M),N(!1)},C=()=>{w&&window.confirm(`Delete presentation "${w.name}" and all its slides?`)&&g(w.id)};return x.jsx("div",{className:"pres-picker",children:x.jsxs("div",{className:"pres-picker-row",children:[S?x.jsx("input",{ref:O,className:"pres-picker-input",value:T,onChange:M=>P(M.target.value),onBlur:I,onKeyDown:M=>{M.key==="Enter"&&I(),M.key==="Escape"&&(P((w==null?void 0:w.name)??""),N(!1))}}):x.jsx("select",{className:"pres-picker-select",value:u??"",onChange:M=>f(M.target.value),children:s.map(M=>x.jsxs("option",{value:M.id,children:[M.name," (",M.slides.length,")"]},M.id))}),x.jsx("button",{className:"pres-icon-btn",title:"Rename presentation",onClick:()=>N(M=>!M),children:"✎"}),x.jsx("button",{className:"pres-icon-btn",title:"New presentation",onClick:()=>d(),children:x.jsx(ljt,{})}),x.jsx("button",{className:"pres-icon-btn danger",title:"Delete presentation",onClick:C,children:x.jsx(ujt,{})})]})})}function Lgn({readOnly:s=!1}={}){const u=xe(z=>z.presentationSlides),f=xe(z=>z.presentationSlideIndex),d=xe(z=>z.presentationActive),g=xe(z=>z.snapshots),m=xe(z=>z.views),w=xe(z=>z.addPresentationSlide),S=xe(z=>z.removePresentationSlide),N=xe(z=>z.renamePresentationSlide),T=xe(z=>z.captureSlideViewport),P=xe(z=>z.linkSnapshotToSlide),O=xe(z=>z.linkViewToSlide),I=xe(z=>z.startPresentation),C=xe(z=>z.stopPresentation),M=xe(z=>z.goToSlide),_=xe(z=>z.previewSlide),F=fe.useRef(null);fe.useEffect(()=>{var z;(z=F.current)==null||z.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},[f]);const R={};for(const z of g)R[z.id]=z.name;const B={};for(const z of Object.values(m))B[z.id]=z.name;const G=z=>{d?z===f?C():M(z):_(z)};return x.jsxs("div",{className:"pres-dock",children:[x.jsxs("div",{className:"pres-dock-controls",children:[x.jsx(Ogn,{}),x.jsxs("div",{className:"pres-dock-actions",children:[x.jsxs("button",{className:"pres-panel-btn primary",onClick:I,disabled:u.length===0,title:"Start presentation (F5)",children:[x.jsx(Ngn,{}),"Present"]}),!s&&x.jsxs("button",{className:"pres-panel-btn",onClick:()=>w(),title:"Add slide from current canvas state",children:[x.jsx(ljt,{}),"Add slide"]})]})]}),x.jsxs("div",{className:"pres-dock-track",children:[u.length===0&&x.jsx("div",{className:"pres-empty pres-dock-empty",children:s?"No slides in this presentation.":x.jsxs(x.Fragment,{children:["No slides yet — click ",x.jsx("strong",{children:"Add slide"}),"."]})}),u.map((z,Q)=>x.jsx("div",{ref:Q===f?F:null,className:"pres-dock-card-wrap",children:x.jsx(Pgn,{slide:z,index:Q,isActive:Q===f,snapshotNames:R,viewNames:B,views:m,onSelect:()=>G(Q),onDelete:()=>S(z.id),onRename:te=>N(z.id,te),onCapture:()=>T(z.id),onLinkSnapshot:te=>P(z.id,te),onLinkView:te=>O(z.id,te)})},z.id))]})]})}function Dgn(){return xe(u=>u.presentationActive)?x.jsx(_gn,{}):null}function gxt(s){const u=fe.useRef(null),f=fe.useCallback(()=>{const d=u.current;d&&(d.style.height="auto",d.style.height=`${Math.min(d.scrollHeight,window.innerHeight*.8)}px`)},[]);return fe.useEffect(()=>{f()},[s.value,f]),x.jsx("textarea",{...s,ref:u,className:"props-textarea",style:{overflow:"hidden",...s.style},onInput:f})}function Rgn({type:s,size:u=12}){return x.jsx("svg",{viewBox:"0 0 16 16",width:u,height:u,fill:Qh[s],style:{flexShrink:0},children:x.jsx("path",{d:pb[s]})})}const $gn={person:"Actor / user",system:"Software system",container:"App, DB, service…",component:"Class, module…",database:"Database store",webapp:"Web application",queue:"Message queue / bus",domain:"DDD problem space"},Fgn=["domain","group","person","system","container","component","database","webapp","queue"],wxt=[{label:"C4",types:["person","system","container","component","database","webapp","queue"]},{label:"Domain",types:["domain"]},{label:"Governance",types:["adr","fitness-fn","blueprint"]},{label:"Requirements",types:["requirement"]},{label:"Other",types:["group"]}];function Bgn({typeId:s,label:u,sublabel:f,color:d,iconPath:g}){const m=w=>{w.dataTransfer.setData("application/c4-type",s),w.dataTransfer.effectAllowed="copy"};return x.jsxs("div",{className:"palette-item",draggable:!0,onDragStart:m,children:[x.jsx("div",{className:"palette-badge",style:{background:d},children:x.jsx("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"#fff",children:x.jsx("path",{d:g})})}),x.jsxs("div",{children:[x.jsx("div",{className:"palette-label",children:u}),x.jsx("div",{className:"palette-sublabel",children:f})]})]})}function ajt({nodeId:s,depth:u}){const f=xe(B=>B.c4Nodes[s]),d=xe(B=>B.selectedNodeId),g=xe(B=>B.selectNode),m=xe(B=>B.toggleCollapse),w=xe(B=>B.c4Nodes),S=xe(B=>B.activeViewId),N=xe(B=>B.activeViewId?B.views[B.activeViewId]:void 0),T=xe(B=>B.addNodeToView),P=xe(B=>B.removeNodeFromView);if(!f)return null;const O=Object.values(w).filter(B=>B.parentId===s),I=O.length>0,C=d===s,M=Jh(f.type)&&I;N==null||N.kind;const _=!N||N.nodeIds.length===0||N.nodeIds.includes(s),F=j1n(f,S,N),R=B=>{B.dataTransfer.setData("application/c4-node-id",s),B.dataTransfer.effectAllowed="copy",B.stopPropagation()};return x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:`tree-node ${C?"selected":""}`,style:{paddingLeft:12+u*14,opacity:_?1:.35},draggable:!0,onDragStart:R,onClick:()=>g(s),children:[x.jsx("span",{className:"tree-toggle",onClick:B=>{M&&(B.stopPropagation(),m(s))},style:{cursor:M?"pointer":"default",opacity:M?1:.3},children:M?F?"▶":"▼":"·"}),x.jsx("span",{className:"tree-badge",children:x.jsx(Rgn,{type:f.type,size:10})}),x.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:f.label}),S&&x.jsx("span",{className:"tree-view-toggle",title:_?"Remove from view":"Add to view",onClick:B=>{B.stopPropagation(),_?P(S,s):T(S,s)},children:_?"👁":"👁‍🗨"})]}),!F&&O.map(B=>x.jsx(ajt,{nodeId:B.id,depth:u+1},B.id))]})}function Hgn({relationId:s}){var M;const u=xe(_=>_.c4Relations[s]),f=xe(_=>{const F=_.c4Relations[s];if(!F)return"";const R=_.c4Nodes[F.sourceId];return R?R.label||R.type:"?"}),d=xe(_=>{const F=_.c4Relations[s];if(!F)return"";const R=_.c4Nodes[F.targetId];return R?R.label||R.type:"?"}),g=xe(_=>_.selectedEdgeId),m=xe(_=>_.selectEdge),w=xe(_=>_.activeViewId),S=xe(_=>_.activeViewId?_.views[_.activeViewId]:void 0),N=xe(_=>_.hideRelationFromView),T=xe(_=>_.unhideRelationInView);if(!u)return null;const P=!!((M=S==null?void 0:S.hiddenRelationIds)!=null&&M.includes(s)),O=!S||S.nodeIds.length===0||S.nodeIds.includes(u.sourceId)&&S.nodeIds.includes(u.targetId),I=!S||!P&&O,C=g===s;return x.jsxs("div",{className:`tree-node ${C?"selected":""}`,style:{paddingLeft:12,opacity:I?1:.35},onClick:()=>m(s),title:u.label||`${f} → ${d}`,children:[x.jsx("span",{className:"tree-toggle",style:{opacity:.3},children:"·"}),x.jsx("span",{className:"tree-badge","aria-hidden":!0,children:x.jsx("svg",{viewBox:"0 0 16 16",width:10,height:10,fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M2 8h10M9 5l3 3-3 3"})})}),x.jsxs("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:[x.jsx("span",{style:{opacity:.8},children:f}),x.jsx("span",{style:{opacity:.5,padding:"0 4px"},children:"→"}),x.jsx("span",{style:{opacity:.8},children:d}),u.label&&x.jsx("span",{style:{opacity:.55,marginLeft:6,fontStyle:"italic"},children:u.label})]}),w&&O&&x.jsx("span",{className:"tree-view-toggle",title:P?"Show in view":"Hide from view",onClick:_=>{_.stopPropagation(),P?T(w,s):N(w,s)},children:P?"👁‍🗨":"👁"})]})}function Kgn(){const s=xe(d=>d.c4Relations),u=xe(d=>d.c4Nodes),f=fe.useMemo(()=>Object.values(s).filter(d=>u[d.sourceId]&&u[d.targetId]).sort((d,g)=>{var w,S,N,T;const m=(((w=u[d.sourceId])==null?void 0:w.label)||"").localeCompare(((S=u[g.sourceId])==null?void 0:S.label)||"");return m!==0?m:(((N=u[d.targetId])==null?void 0:N.label)||"").localeCompare(((T=u[g.targetId])==null?void 0:T.label)||"")}).map(d=>d.id),[s,u]);return f.length===0?x.jsx("div",{className:"lp-empty-state",style:{padding:"4px 12px 8px"},children:"No relations."}):x.jsx(x.Fragment,{children:f.map(d=>x.jsx(Hgn,{relationId:d},d))})}function rM({title:s,defaultOpen:u=!0,children:f,count:d,open:g,onToggle:m}){const[w,S]=fe.useState(u),N=g!==void 0,T=N?g:w,P=N?m:()=>S(O=>!O);return x.jsxs("div",{className:"lp-section",children:[x.jsx("button",{className:"lp-section-header",onClick:P,children:x.jsxs("span",{className:"lp-section-title",children:[x.jsx("svg",{className:`lp-section-chevron${T?" open":""}`,viewBox:"0 0 16 16",width:"10",height:"10","aria-hidden":!0,children:x.jsx("path",{d:"M5 3 L11 8 L5 13",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})}),x.jsx("span",{children:s}),d!=null&&d>0&&x.jsx("span",{className:"lp-section-count",children:d})]})}),x.jsx("div",{className:`lp-section-body${T?" open":""}`,children:x.jsx("div",{children:x.jsx("div",{className:"lp-section-body-pad",children:f})})})]})}const is={Plus:()=>x.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:x.jsx("path",{d:"M8 3v10M3 8h10"})}),Check:()=>x.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M3 8.5 L6.5 12 L13 4.5"})}),Close:()=>x.jsx("svg",{viewBox:"0 0 16 16",width:"11",height:"11",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:x.jsx("path",{d:"M4 4 L12 12 M12 4 L4 12"})}),Restore:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M3 8 a5 5 0 1 0 1.5 -3.5"}),x.jsx("path",{d:"M3 3 v3 h3"})]}),Camera:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"13",height:"13",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round",children:[x.jsx("path",{d:"M2.5 5.5 h2 l1 -1.5 h5 l1 1.5 h2 v7 h-11 z"}),x.jsx("circle",{cx:"8",cy:"9",r:"2.3"})]}),Globe:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"13",height:"13",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[x.jsx("circle",{cx:"8",cy:"8",r:"5.5"}),x.jsx("ellipse",{cx:"8",cy:"8",rx:"2.5",ry:"5.5"}),x.jsx("path",{d:"M2.5 8 h11"})]}),Layers:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"13",height:"13",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round",children:[x.jsx("path",{d:"M8 2 L14 5 L8 8 L2 5 Z"}),x.jsx("path",{d:"M2 8 L8 11 L14 8"}),x.jsx("path",{d:"M2 11 L8 14 L14 11"})]}),Pencil:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M11 2.5 l2.5 2.5 -7.5 7.5 -3 .5 .5 -3 z"}),x.jsx("path",{d:"M10 3.5 l2.5 2.5"})]}),Bolt:()=>x.jsx("svg",{viewBox:"0 0 16 16",width:"11",height:"11",fill:"currentColor",children:x.jsx("path",{d:"M9.5 2 L4 9 h4 L6.5 14 L13 7 H9 Z"})}),TreemapGrid:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[x.jsx("rect",{x:"1",y:"1",width:"9",height:"9",rx:"1"}),x.jsx("rect",{x:"11",y:"1",width:"4",height:"4",rx:"0.5"}),x.jsx("rect",{x:"11",y:"6",width:"4",height:"4",rx:"0.5"}),x.jsx("rect",{x:"1",y:"11",width:"4",height:"4",rx:"0.5"}),x.jsx("rect",{x:"6",y:"11",width:"4",height:"4",rx:"0.5"}),x.jsx("rect",{x:"11",y:"11",width:"4",height:"4",rx:"0.5"})]}),TableGrid:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",children:[x.jsx("rect",{x:"1.5",y:"1.5",width:"13",height:"13",rx:"1.5"}),x.jsx("path",{d:"M1.5 5.5 h13"}),x.jsx("path",{d:"M6 5.5 v9"}),x.jsx("path",{d:"M10.5 5.5 v9"})]}),MatrixGrid:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",children:[x.jsx("rect",{x:"1.5",y:"1.5",width:"13",height:"13",rx:"1.5"}),x.jsx("path",{d:"M6 1.5 v13"}),x.jsx("path",{d:"M10.5 1.5 v13"}),x.jsx("path",{d:"M1.5 6 h13"}),x.jsx("path",{d:"M1.5 10.5 h13"}),x.jsx("circle",{cx:"8.25",cy:"3.75",r:"1",fill:"currentColor",stroke:"none"}),x.jsx("circle",{cx:"3.75",cy:"8.25",r:"1",fill:"currentColor",stroke:"none"}),x.jsx("circle",{cx:"12.75",cy:"12.75",r:"1",fill:"currentColor",stroke:"none"})]}),Wiki:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M8 3.5 C6.8 2.6 4.8 2.4 2.8 2.8 V12.6 C4.8 12.2 6.8 12.4 8 13.3"}),x.jsx("path",{d:"M8 3.5 C9.2 2.6 11.2 2.4 13.2 2.8 V12.6 C11.2 12.2 9.2 12.4 8 13.3"}),x.jsx("path",{d:"M8 3.5 V13.3"})]}),ArrowUp:()=>x.jsx("svg",{viewBox:"0 0 16 16",width:"10",height:"10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M8 12 V4 M4.5 7.5 L8 4 L11.5 7.5"})}),ArrowDown:()=>x.jsx("svg",{viewBox:"0 0 16 16",width:"10",height:"10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M8 4 V12 M4.5 8.5 L8 12 L11.5 8.5"})}),Settings:()=>x.jsxs("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[x.jsx("path",{d:"M2 4.5 h3 M7 4.5 h7"}),x.jsx("circle",{cx:"5",cy:"4.5",r:"1.5"}),x.jsx("path",{d:"M2 11.5 h7 M11 11.5 h3"}),x.jsx("circle",{cx:"9.5",cy:"11.5",r:"1.5"})]})};function qgn(s){const u=Date.now()-s,f=Math.round(u/1e3);if(f<60)return"just now";const d=Math.round(f/60);if(d<60)return`${d}m ago`;const g=Math.round(d/60);if(g<24)return`${g}h ago`;const m=Math.round(g/24);return m<7?`${m}d ago`:new Date(s).toLocaleDateString(void 0,{month:"short",day:"numeric"})}function zgn({readOnly:s=!1,onOpenProps:u}){const f=xe(I=>I.snapshots),d=xe(I=>I.activeSnapshotId),g=xe(I=>I.createSnapshot),m=xe(I=>I.selectMilestone),w=xe(I=>I.discardMilestoneChanges),[S,N]=fe.useState(!1),[T,P]=fe.useState(""),O=()=>{const I=T.trim();I&&g(I),N(!1),P("")};return x.jsxs("div",{className:"lp-snap-list",children:[!s&&(S?x.jsxs("div",{className:"lp-inline-form",children:[x.jsx("input",{className:"lp-inline-input",autoFocus:!0,placeholder:"Milestone name…",value:T,onChange:I=>P(I.target.value),onKeyDown:I=>{I.key==="Enter"&&O(),I.key==="Escape"&&(N(!1),P(""))}}),x.jsx("button",{className:"lp-icon-btn primary",title:"Create",onClick:O,children:x.jsx(is.Check,{})}),x.jsx("button",{className:"lp-icon-btn",title:"Cancel",onClick:()=>{N(!1),P("")},children:x.jsx(is.Close,{})})]}):x.jsxs("button",{className:"lp-add-btn",onClick:()=>{P(`v${f.length+1}`),N(!0)},children:[x.jsx(is.Plus,{})," New milestone"]})),f.length===0&&!S&&x.jsxs("div",{className:"lp-empty-state",children:[x.jsx("span",{className:"lp-empty-icon",children:x.jsx(is.Camera,{})}),x.jsx("span",{children:"No milestones yet"})]}),x.jsxs("div",{className:`lp-card lp-snap-card lp-snap-current${d?"":" active"}`,onClick:()=>{d&&w()},title:"Current working state (live HEAD) — not yet saved as a milestone",children:[x.jsx("div",{className:"lp-snap-badge lp-snap-badge-live",children:"●"}),x.jsxs("div",{className:"lp-card-body",children:[x.jsx("div",{className:"lp-card-title",children:"Current (live)"}),x.jsxs("div",{className:"lp-card-meta",children:[x.jsx("span",{children:"working state"}),x.jsx("span",{className:"lp-meta-dot",children:"·"}),x.jsx("span",{children:"newest"})]})]})]}),[...f].reverse().map((I,C)=>{const M=d===I.id,_=f.length-C,F=Object.keys(I.nodes).length;return x.jsxs("div",{className:`lp-card lp-snap-card${M?" active":""}`,onClick:()=>m(I.id),title:`${new Date(I.timestamp).toLocaleString()} -Click to load this milestone onto the canvas`,children:[x.jsxs("div",{className:"lp-snap-badge",children:["v",_]}),x.jsxs("div",{className:"lp-card-body",children:[x.jsx("div",{className:"lp-card-title",children:I.name}),x.jsxs("div",{className:"lp-card-meta",children:[x.jsx("span",{children:qgn(I.timestamp)}),x.jsx("span",{className:"lp-meta-dot",children:"·"}),x.jsxs("span",{children:[F," ",F===1?"node":"nodes"]})]})]}),!s&&u&&x.jsx("div",{className:"lp-card-actions",children:x.jsx("button",{className:"lp-icon-btn",title:"Milestone properties",onClick:R=>{R.stopPropagation(),u(I.id)},children:x.jsx(is.Settings,{})})})]},I.id)})]})}function Vgn({readOnly:s=!1,compact:u=!1}){const f=xe(F=>F.sequences),d=xe(F=>F.activeSequenceId),g=xe(F=>F.setActiveSequence),m=xe(F=>F.addSequence),w=xe(F=>F.removeFromSequence),S=xe(F=>F.reorderSequence),N=xe(F=>F.clearSequence),T=xe(F=>F.updateStepDescription),P=xe(F=>F.c4Nodes),O=xe(F=>F.c4Relations),[I,C]=fe.useState(new Set),M=Object.values(f),_={background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:"2px 3px",borderRadius:3,display:"flex",alignItems:"center",lineHeight:1};return x.jsxs("div",{className:"lp-view-list",children:[M.length===0&&x.jsx("div",{style:{fontSize:11,color:"var(--text-muted)",padding:"6px 4px",textAlign:"center",opacity:.55,fontStyle:"italic"},children:"No sequences yet"}),M.map(F=>{const R=d===F.id,B=u?I.has(F.id):R;return x.jsxs("div",{children:[x.jsxs("div",{className:`lp-card lp-view-card${R?" active":""}`,onClick:()=>g(R?null:F.id),children:[x.jsx("div",{className:"lp-view-icon",style:{color:R?"var(--accent)":void 0},children:x.jsx(is.Bolt,{})}),x.jsxs("div",{className:"lp-card-body",children:[x.jsx("div",{className:"lp-card-title",children:F.name}),x.jsxs("div",{className:"lp-card-meta",children:[x.jsxs("span",{children:[F.relationIds.length," ",F.relationIds.length===1?"step":"steps"]}),R&&x.jsx("span",{style:{marginLeft:4,color:"var(--accent)",fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"editing"})]})]})]}),(!u&&R||u&&B)&&F.relationIds.length>0&&x.jsxs("div",{style:{padding:"2px 8px 8px",borderLeft:"2px solid var(--accent)",marginLeft:10},children:[x.jsx("div",{style:{display:"grid",gap:3,marginBottom:4,minWidth:0},children:F.relationIds.map((G,z)=>{var oe;const Q=O[G],te=Q?P[Q.sourceId]:null,ne=Q?P[Q.targetId]:null,Y=(oe=F.stepDescriptions)==null?void 0:oe[z];return x.jsxs("div",{className:"seq-step",style:{display:"flex",alignItems:"flex-start",gap:5,background:"var(--surface-2,rgba(255,255,255,0.04))",borderRadius:5,padding:"4px 6px"},children:[x.jsx("span",{style:{width:18,height:18,borderRadius:"50%",background:"var(--accent)",color:"#fff",fontSize:10,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,marginTop:1},children:z+1}),x.jsxs("div",{style:{flex:1,minWidth:0,fontSize:11,lineHeight:1.35},children:[x.jsxs("div",{style:{color:"var(--text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[(te==null?void 0:te.label)??"?"," → ",(ne==null?void 0:ne.label)??"?"]}),(Q==null?void 0:Q.label)&&x.jsx("div",{style:{color:"var(--text-muted)",fontSize:10,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:Q.label}),!s&&x.jsx("input",{className:"props-input",defaultValue:Y??"",placeholder:(Q==null?void 0:Q.label)||"Add step note…",onBlur:Z=>T(F.id,z,Z.currentTarget.value),onKeyDown:Z=>{Z.key==="Enter"&&Z.currentTarget.blur()},style:{marginTop:3,fontSize:10,padding:"2px 4px",width:"100%",boxSizing:"border-box"}}),s&&Y&&x.jsx("div",{style:{color:"var(--text-secondary)",fontSize:10,marginTop:1,fontStyle:"italic"},children:Y})]}),!s&&x.jsxs("div",{className:"seq-step-actions",children:[x.jsx("button",{style:{..._,opacity:z===0?.3:1},disabled:z===0,onClick:()=>S(F.id,z,z-1),title:"Move up",children:x.jsx(is.ArrowUp,{})}),x.jsx("button",{style:{..._,opacity:z===F.relationIds.length-1?.3:1},disabled:z===F.relationIds.length-1,onClick:()=>S(F.id,z,z+1),title:"Move down",children:x.jsx(is.ArrowDown,{})}),x.jsx("button",{style:{..._,color:"var(--danger, #ef4444)"},onClick:()=>w(F.id,z),title:"Remove step",children:x.jsx(is.Close,{})})]})]},G)})}),!s&&x.jsx("button",{onClick:()=>N(F.id),style:{width:"100%",fontSize:11,padding:"4px 0",background:"none",border:"1px solid var(--border)",borderRadius:4,color:"var(--text-muted)",cursor:"pointer"},children:"Clear all steps"})]}),!u&&R&&F.relationIds.length===0&&x.jsx("div",{style:{padding:"4px 10px 8px",fontSize:11,color:"var(--text-muted)",fontStyle:"italic",opacity:.6},children:"Click relations on canvas to add steps"})]},F.id)}),!s&&x.jsxs("button",{className:"lp-add-btn",onClick:()=>{const F=m(`Sequence ${M.length+1}`);g(F)},children:[x.jsx(is.Plus,{})," New sequence"]})]})}function Ugn({viewId:s,readOnly:u=!1,onClose:f}){const d=xe(ne=>ne.views[s]),g=xe(ne=>ne.sequences),m=xe(ne=>ne.renameView),w=xe(ne=>ne.removeView),S=xe(ne=>ne.setViewKind),N=xe(ne=>ne.setViewSequence),T=xe(ne=>ne.setViewLayoutMode),P=xe(ne=>ne.setActiveView),[O,I]=fe.useState(!1),[C,M]=fe.useState(""),_=Object.values(g);if(!d)return null;const F=d.kind==="dynamic",R=d.kind==="treemap",B=d.kind==="table",G=d.kind==="matrix",z=d.kind==="wiki",Q=!F&&!R&&!B&&!G&&!z,te=()=>{C.trim()&&m(d.id,C.trim()),I(!1)};return x.jsxs("div",{className:"props-content",children:[x.jsxs("div",{className:"props-type-badge",style:{background:F?"var(--accent)":R?"#2a3a5a":B?"#1e3a2a":G?"#3a1e3a":z?"#3a2e1e":"#334155",color:"#fff"},children:[F?x.jsx(is.Bolt,{}):R?x.jsx(is.TreemapGrid,{}):B?x.jsx(is.TableGrid,{}):G?x.jsx(is.MatrixGrid,{}):z?x.jsx(is.Wiki,{}):x.jsx(is.Layers,{})," ",F?"FLOW VIEW":R?"HIERARCHY VIEW":B?"TABLE VIEW":G?"MATRIX VIEW":z?"WIKI VIEW":"STRUCTURE VIEW"]}),x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Name"}),x.jsx("div",{className:"props-field",children:O?x.jsxs("div",{style:{display:"flex",gap:4},children:[x.jsx("input",{className:"props-input",autoFocus:!0,value:C,onChange:ne=>M(ne.target.value),onBlur:te,onKeyDown:ne=>{ne.key==="Enter"&&te(),ne.key==="Escape"&&I(!1)},style:{flex:1}}),x.jsx("button",{className:"lp-icon-btn primary",onClick:te,title:"Save",children:x.jsx(is.Check,{})}),x.jsx("button",{className:"lp-icon-btn",onClick:()=>I(!1),title:"Cancel",children:x.jsx(is.Close,{})})]}):x.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[x.jsx("div",{style:{flex:1,fontSize:13,fontWeight:600,padding:"3px 0"},children:d.name}),!u&&x.jsx("button",{className:"lp-icon-btn",title:"Rename view",onClick:()=>{M(d.name),I(!0)},children:x.jsx(is.Pencil,{})})]})})]}),!u&&x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Type"}),x.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:4},children:[x.jsxs("button",{onClick:()=>S(d.id,"static"),style:{padding:"7px 4px",fontSize:11,borderRadius:6,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:Q?"var(--accent)":"var(--surface-2, rgba(255,255,255,0.06))",color:Q?"#fff":"var(--text-muted)",border:Q?"1px solid var(--accent)":"1px solid var(--border-color)",fontWeight:Q?600:400},children:[x.jsx(is.Layers,{})," Structure"]}),x.jsxs("button",{onClick:()=>S(d.id,"dynamic"),style:{padding:"7px 4px",fontSize:11,borderRadius:6,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:F?"var(--accent)":"var(--surface-2, rgba(255,255,255,0.06))",color:F?"#fff":"var(--text-muted)",border:F?"1px solid var(--accent)":"1px solid var(--border-color)",fontWeight:F?600:400},children:[x.jsx(is.Bolt,{})," Flow"]}),x.jsxs("button",{onClick:()=>S(d.id,"treemap"),style:{padding:"7px 4px",fontSize:11,borderRadius:6,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:R?"var(--accent)":"var(--surface-2, rgba(255,255,255,0.06))",color:R?"#fff":"var(--text-muted)",border:R?"1px solid var(--accent)":"1px solid var(--border-color)",fontWeight:R?600:400},children:[x.jsx(is.TreemapGrid,{})," Hierarchy"]}),x.jsxs("button",{onClick:()=>S(d.id,"table"),style:{padding:"7px 4px",fontSize:11,borderRadius:6,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:B?"var(--accent)":"var(--surface-2, rgba(255,255,255,0.06))",color:B?"#fff":"var(--text-muted)",border:B?"1px solid var(--accent)":"1px solid var(--border-color)",fontWeight:B?600:400},children:[x.jsx(is.TableGrid,{})," Table"]}),x.jsxs("button",{onClick:()=>S(d.id,"matrix"),style:{padding:"7px 4px",fontSize:11,borderRadius:6,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:G?"var(--accent)":"var(--surface-2, rgba(255,255,255,0.06))",color:G?"#fff":"var(--text-muted)",border:G?"1px solid var(--accent)":"1px solid var(--border-color)",fontWeight:G?600:400},children:[x.jsx(is.MatrixGrid,{})," Matrix"]}),x.jsxs("button",{onClick:()=>S(d.id,"wiki"),style:{padding:"7px 4px",fontSize:11,borderRadius:6,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:z?"var(--accent)":"var(--surface-2, rgba(255,255,255,0.06))",color:z?"#fff":"var(--text-muted)",border:z?"1px solid var(--accent)":"1px solid var(--border-color)",fontWeight:z?600:400},children:[x.jsx(is.Wiki,{})," Wiki"]})]})]}),!u&&!R&&!F&&!B&&!G&&x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Auto-layout"}),x.jsxs("select",{value:d.layoutMode??"auto",onChange:ne=>T(d.id,ne.target.value),className:"props-input",style:{cursor:"pointer",width:"100%"},title:"Layout strategy applied when running Smart Layout while this view is active. Use 'Hierarchical tree' for views dominated by domain objects.",children:[x.jsx("option",{value:"auto",children:"Auto (Smart Layout)"}),x.jsx("option",{value:"tree",children:"Hierarchical nested tree"})]})]}),F&&x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Sequence"}),u?x.jsx("div",{style:{fontSize:11,color:"var(--text)"},children:d.sequenceId&&g[d.sequenceId]?g[d.sequenceId].name:x.jsx("span",{style:{opacity:.5,fontStyle:"italic"},children:"none"})}):x.jsxs("select",{value:d.sequenceId??"",onChange:ne=>N(d.id,ne.target.value||null),className:"props-input",style:{cursor:"pointer"},children:[x.jsx("option",{value:"",children:"— none —"}),_.map(ne=>x.jsx("option",{value:ne.id,children:ne.name},ne.id))]})]}),x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Nodes"}),x.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:[d.nodeIds.length," node",d.nodeIds.length!==1?"s":""]})]}),!u&&x.jsx("button",{className:"props-delete",onClick:()=>{w(d.id),P(null),f()},children:"🗑 Delete view"})]})}function Ggn({snapId:s,readOnly:u=!1,onClose:f}){const d=xe(F=>F.snapshots),g=xe(F=>F.renameSnapshot),m=xe(F=>F.removeSnapshot),w=xe(F=>F.restoreSnapshot),[S,N]=fe.useState(!1),[T,P]=fe.useState(""),O=d.find(F=>F.id===s);if(!O)return null;const I=d.indexOf(O)+1,C=Object.keys(O.nodes).length,M=Object.keys(O.relations).length,_=()=>{T.trim()&&g(O.id,T.trim()),N(!1)};return x.jsxs("div",{className:"props-content",children:[x.jsxs("div",{className:"props-type-badge",style:{background:"#334155",color:"#94a3b8"},children:[x.jsx(is.Camera,{}),"  MILESTONE v",I]}),x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Name"}),x.jsx("div",{className:"props-field",children:S?x.jsxs("div",{style:{display:"flex",gap:4},children:[x.jsx("input",{className:"props-input",autoFocus:!0,value:T,onChange:F=>P(F.target.value),onBlur:_,onKeyDown:F=>{F.key==="Enter"&&_(),F.key==="Escape"&&N(!1)},style:{flex:1}}),x.jsx("button",{className:"lp-icon-btn primary",onClick:_,title:"Save",children:x.jsx(is.Check,{})}),x.jsx("button",{className:"lp-icon-btn",onClick:()=>N(!1),title:"Cancel",children:x.jsx(is.Close,{})})]}):x.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[x.jsx("div",{style:{flex:1,fontSize:13,fontWeight:600,padding:"3px 0"},children:O.name}),!u&&x.jsx("button",{className:"lp-icon-btn",title:"Rename milestone",onClick:()=>{P(O.name),N(!0)},children:x.jsx(is.Pencil,{})})]})})]}),x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Saved"}),x.jsx("div",{style:{fontSize:12,color:"var(--text-muted)"},children:new Date(O.timestamp).toLocaleString(void 0,{dateStyle:"medium",timeStyle:"short"})})]}),x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Contents"}),x.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:[C," node",C!==1?"s":""," · ",M," relation",M!==1?"s":""]})]}),!u&&x.jsxs(x.Fragment,{children:[x.jsxs("button",{className:"lp-icon-btn",style:{justifyContent:"center",width:"100%",padding:"6px 0",fontSize:12,gap:6,borderRadius:6,marginTop:4,display:"flex",alignItems:"center"},title:"Restore this milestone as the current live state",onClick:()=>{w(O.id),f()},children:[x.jsx(is.Restore,{})," Restore to live"]}),x.jsx("button",{className:"props-delete",onClick:()=>{m(O.id),f()},children:"🗑 Delete milestone"})]})]})}function Wgn({readOnly:s=!1,onOpenProps:u}){const f=xe(N=>N.views);xe(N=>N.sequences);const d=xe(N=>N.activeViewId),g=xe(N=>N.setActiveView),m=xe(N=>N.addView),w=xe(N=>Object.keys(N.c4Nodes).length),S=Object.values(f);return x.jsxs("div",{className:"lp-view-list",children:[x.jsxs("div",{className:`lp-card lp-view-card${d===null?" active":""}`,onClick:()=>g(null),children:[x.jsx("div",{className:"lp-view-icon",children:x.jsx(is.Globe,{})}),x.jsxs("div",{className:"lp-card-body",children:[x.jsx("div",{className:"lp-card-title",children:"Structure view"}),x.jsxs("div",{className:"lp-card-meta",children:[x.jsxs("span",{children:[w," ",w===1?"node":"nodes"]}),x.jsx("span",{style:{marginLeft:4,color:"var(--text-muted)",fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"structure"})]})]})]}),S.map(N=>{const T=d===N.id,P=N.kind==="dynamic",O=N.kind==="treemap",I=N.kind==="table",C=N.kind==="matrix",M=N.kind==="wiki";return x.jsx("div",{children:x.jsxs("div",{className:`lp-card lp-view-card${T?" active":""}`,onClick:()=>g(N.id),children:[x.jsx("div",{className:"lp-view-icon",style:{color:P?"var(--accent)":void 0},children:P?x.jsx(is.Bolt,{}):O?x.jsx(is.TreemapGrid,{}):I?x.jsx(is.TableGrid,{}):C?x.jsx(is.MatrixGrid,{}):M?x.jsx(is.Wiki,{}):x.jsx(is.Layers,{})}),x.jsxs("div",{className:"lp-card-body",children:[x.jsx("div",{className:"lp-card-title",children:N.name}),x.jsxs("div",{className:"lp-card-meta",children:[x.jsxs("span",{children:[N.nodeIds.length," ",N.nodeIds.length===1?"node":"nodes"]}),P&&x.jsx("span",{style:{marginLeft:4,color:"var(--accent)",fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"flow"}),O&&x.jsx("span",{style:{marginLeft:4,color:"var(--accent)",fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"hierarchy"}),I&&x.jsx("span",{style:{marginLeft:4,color:"var(--accent)",fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"table"}),C&&x.jsx("span",{style:{marginLeft:4,color:"var(--accent)",fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"matrix"}),M&&x.jsx("span",{style:{marginLeft:4,color:"var(--accent)",fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"wiki"}),!P&&!O&&!I&&!C&&!M&&x.jsx("span",{style:{marginLeft:4,color:"var(--text-muted)",fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"structure"})]})]}),!s&&u&&x.jsx("div",{className:"lp-card-actions",children:x.jsx("button",{className:"lp-icon-btn",onClick:_=>{_.stopPropagation(),u(N.id)},title:"View properties",children:x.jsx(is.Settings,{})})})]})},N.id)}),!s&&x.jsxs("button",{className:"lp-add-btn",onClick:()=>{const N=m(`View ${S.length+1}`);g(N),u&&u(N)},children:[x.jsx(is.Plus,{})," New view"]})]})}function fjt({side:s,collapsed:u,onToggle:f}){const d=!(s==="left"&&u||s==="right"&&!u);return x.jsx("button",{className:`panel-toggle panel-toggle-${s}${u?" collapsed":""}`,onClick:f,title:u?"Expand panel":"Collapse panel","aria-label":u?"Expand panel":"Collapse panel",children:x.jsx("svg",{viewBox:"0 0 16 16",width:"11",height:"11",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",children:d?x.jsx("path",{d:"M10 4 L6 8 L10 12"}):x.jsx("path",{d:"M6 4 L10 8 L6 12"})})})}function W4e({mode:s="designer",readOnly:u=!1,collapsed:f=!1,onToggleCollapsed:d}){const g=u||s!=="designer",m=xe(F=>Object.keys(F.views).length),w=xe(F=>F.snapshots.length),S=xe(F=>F.metamodel),N=fe.useMemo(()=>{const F=S?Object.keys(S.nodeTypes):[...Fgn],R=Q=>{const te=S==null?void 0:S.nodeTypes[Q],ne=Q,Y=py[Q]!==void 0;return{typeId:Q,label:(te==null?void 0:te.label)??(Y?py[ne]:Q),sublabel:$gn[Q]??"",color:Y?Qh[ne]:(te==null?void 0:te.color)??"#64748b",iconPath:Y?pb[ne]:pb.system}},B=new Set(wxt.flatMap(Q=>Q.types)),G=F.filter(Q=>{var te;return!B.has(Q)&&!((te=S==null?void 0:S.nodeTypes[Q])!=null&&te.hubOnly)}),z=wxt.map(Q=>({label:Q.label,items:Q.types.filter(te=>{var ne;return F.includes(te)&&!((ne=S==null?void 0:S.nodeTypes[te])!=null&&ne.hubOnly)}).map(R)})).filter(Q=>Q.items.length>0);return G.length>0&&z.push({label:"Custom",items:G.map(R)}),z},[S]),T=s==="designer"?"elements":"views",[P,O]=fe.useState(T),[I,C]=fe.useState(null),M=!!I,_=d&&x.jsx(fjt,{side:"left",collapsed:f,onToggle:d});return x.jsxs("div",{className:`left-panel${f?" collapsed":""}`,children:[x.jsx("div",{className:"panel-content",children:x.jsxs("div",{className:`rp-slider${M?" show-props":""}`,children:[x.jsxs("div",{className:"rp-pane",children:[s==="designer"&&x.jsx(rM,{title:"Elements",open:P==="elements",onToggle:()=>O("elements"),children:N.map(F=>x.jsxs(In.Fragment,{children:[x.jsx("div",{className:"palette-group-label",children:F.label}),F.items.map(R=>x.jsx(Bgn,{...R},R.typeId))]},F.label))}),x.jsx(rM,{title:"Views",count:m,open:P==="views",onToggle:()=>O("views"),children:x.jsx(Wgn,{readOnly:g,onOpenProps:g?void 0:F=>{C({kind:"view",id:F}),O("views")}})}),x.jsx(rM,{title:"Milestones",count:w,open:P==="milestones",onToggle:()=>O("milestones"),children:x.jsx(zgn,{readOnly:g,onOpenProps:g?void 0:F=>{C({kind:"milestone",id:F}),O("milestones")}})})]}),x.jsxs("div",{className:"rp-pane",children:[x.jsx("button",{className:"rp-back-btn",onClick:()=>C(null),children:"◀ Back"}),(I==null?void 0:I.kind)==="view"&&x.jsx(Ugn,{viewId:I.id,readOnly:g,onClose:()=>C(null)}),(I==null?void 0:I.kind)==="milestone"&&x.jsx(Ggn,{snapId:I.id,readOnly:g,onClose:()=>C(null)})]})]})}),_]})}function Xgn({sequenceId:s,readOnly:u=!1}){const f=xe(z=>z.sequences[s]),d=xe(z=>z.c4Nodes),g=xe(z=>z.c4Relations),m=xe(z=>z.renameSequence),w=xe(z=>z.removeSequence),S=xe(z=>z.removeFromSequence),N=xe(z=>z.reorderSequence),T=xe(z=>z.clearSequence),P=xe(z=>z.updateStepDescription),O=xe(z=>z.setActiveSequence),I=xe(z=>z.addViewFromSequence),C=xe(z=>z.views),[M,_]=fe.useState(!1),[F,R]=fe.useState("");if(!f)return null;const B=()=>{F.trim()&&m(f.id,F.trim()),_(!1)},G={background:"none",border:"none",cursor:"pointer",color:"var(--text-muted)",padding:"2px 3px",borderRadius:3,display:"flex",alignItems:"center",lineHeight:1};return x.jsxs("div",{className:"props-content",children:[x.jsxs("div",{className:"props-type-badge",style:{background:"var(--accent)",color:"#fff"},children:[x.jsx(is.Bolt,{}),"  SEQUENCE"]}),x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Name"}),x.jsx("div",{className:"props-field",children:M?x.jsxs("div",{style:{display:"flex",gap:4},children:[x.jsx("input",{className:"props-input",autoFocus:!0,value:F,onChange:z=>R(z.target.value),onBlur:B,onKeyDown:z=>{z.key==="Enter"&&B(),z.key==="Escape"&&_(!1)},style:{flex:1}}),x.jsx("button",{className:"lp-icon-btn primary",onClick:B,title:"Save",children:x.jsx(is.Check,{})}),x.jsx("button",{className:"lp-icon-btn",onClick:()=>_(!1),title:"Cancel",children:x.jsx(is.Close,{})})]}):x.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[x.jsx("div",{style:{flex:1,fontSize:13,fontWeight:600,padding:"3px 0"},children:f.name}),!u&&x.jsx("button",{className:"lp-icon-btn",title:"Rename sequence",onClick:()=>{R(f.name),_(!0)},children:x.jsx(is.Pencil,{})})]})})]}),x.jsxs("div",{children:[x.jsxs("div",{className:"props-section-title",style:{marginTop:10},children:["Steps",x.jsxs("span",{style:{marginLeft:6,opacity:.5,fontWeight:400},children:["(",f.relationIds.length,")"]})]}),x.jsx("div",{style:{fontSize:10,color:"var(--text-muted)",marginBottom:6,lineHeight:1.4},children:"Click relations on canvas to add steps"}),f.relationIds.length===0?x.jsx("div",{style:{fontSize:11,color:"var(--text-muted)",padding:"6px 4px",textAlign:"center",opacity:.55,fontStyle:"italic"},children:"No steps yet"}):x.jsx("div",{style:{display:"grid",gap:4,minWidth:0},children:f.relationIds.map((z,Q)=>{var Z;const te=g[z],ne=te?d[te.sourceId]:null,Y=te?d[te.targetId]:null,oe=(Z=f.stepDescriptions)==null?void 0:Z[Q];return x.jsxs("div",{className:"seq-step",style:{display:"flex",alignItems:"flex-start",gap:5,background:"var(--surface-2,rgba(255,255,255,0.04))",borderRadius:5,padding:"5px 7px"},children:[x.jsx("span",{style:{width:20,height:20,borderRadius:"50%",background:"var(--accent)",color:"#fff",fontSize:10,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,marginTop:1},children:Q+1}),x.jsxs("div",{style:{flex:1,minWidth:0,fontSize:11,lineHeight:1.35},children:[x.jsxs("div",{style:{color:"var(--text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[(ne==null?void 0:ne.label)??"?"," → ",(Y==null?void 0:Y.label)??"?"]}),(te==null?void 0:te.label)&&x.jsx("div",{style:{color:"var(--text-muted)",fontSize:10,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:te.label}),!u&&x.jsx("input",{className:"props-input",defaultValue:oe??"",placeholder:(te==null?void 0:te.label)||"Add step note…",onBlur:re=>P(f.id,Q,re.currentTarget.value),onKeyDown:re=>{re.key==="Enter"&&re.currentTarget.blur()},style:{marginTop:4,fontSize:11,padding:"3px 6px",width:"100%",boxSizing:"border-box"}}),u&&oe&&x.jsx("div",{style:{color:"var(--text-secondary)",fontSize:10,marginTop:1,fontStyle:"italic"},children:oe})]}),!u&&x.jsxs("div",{className:"seq-step-actions",children:[x.jsx("button",{style:{...G,opacity:Q===0?.3:1},disabled:Q===0,onClick:()=>N(f.id,Q,Q-1),title:"Move up",children:x.jsx(is.ArrowUp,{})}),x.jsx("button",{style:{...G,opacity:Q===f.relationIds.length-1?.3:1},disabled:Q===f.relationIds.length-1,onClick:()=>N(f.id,Q,Q+1),title:"Move down",children:x.jsx(is.ArrowDown,{})}),x.jsx("button",{style:{...G,color:"var(--danger, #ef4444)"},onClick:()=>S(f.id,Q),title:"Remove step",children:x.jsx(is.Close,{})})]})]},z)})}),!u&&f.relationIds.length>0&&x.jsx("button",{onClick:()=>T(f.id),style:{marginTop:8,width:"100%",fontSize:11,padding:"4px 0",background:"none",border:"1px solid var(--border)",borderRadius:4,color:"var(--text-muted)",cursor:"pointer"},children:"Clear all steps"})]}),!u&&x.jsxs(x.Fragment,{children:[f.relationIds.length>0&&(()=>{const z=Object.values(C).find(Q=>Q.sequenceId===f.id);return z?x.jsxs("div",{style:{marginTop:12,fontSize:11,color:"var(--text-muted)",display:"flex",alignItems:"center",gap:6},children:[x.jsx(is.Layers,{}),x.jsxs("span",{children:["View: ",x.jsx("strong",{style:{color:"var(--text)"},children:z.name})]})]}):x.jsxs("button",{onClick:()=>I(f.id),style:{marginTop:12,width:"100%",fontSize:11,padding:"6px 0",background:"rgba(var(--accent-rgb),0.10)",border:"1px solid rgba(var(--accent-rgb),0.30)",borderRadius:6,color:"var(--accent)",cursor:"pointer",fontWeight:600,display:"flex",alignItems:"center",justifyContent:"center",gap:6},title:"Create a Flow view showing only nodes and relations from this sequence",children:[x.jsx(is.Plus,{})," Create Flow view from sequence"]})})(),x.jsx("button",{className:"props-delete",onClick:()=>{w(f.id),O(null)},children:"🗑 Delete sequence"})]})]})}function Jgn({node:s,nodeId:u,subject:f,readOnly:d,updateNode:g}){const m=String(s.ears_type??"ubiquitous"),w=f||"the system",S=({fieldKey:P,placeholder:O})=>{const I=String(s[P]??""),[C,M]=In.useState(!1),[_,F]=In.useState(I),R=In.useRef(null);return In.useEffect(()=>{F(I)},[I]),In.useEffect(()=>{C&&R.current&&R.current.focus()},[C]),C?x.jsx("input",{ref:R,className:"ears-slot-input-sm",value:_,placeholder:O,onChange:B=>F(B.target.value),onBlur:()=>{M(!1),_!==I&&g(u,{[P]:_||void 0})},onKeyDown:B=>{B.key==="Enter"&&B.currentTarget.blur(),B.key==="Escape"&&(F(I),M(!1))}}):x.jsx("span",{className:`ears-slot-sm ${I?"ears-slot-filled":"ears-slot-empty"}`,onClick:()=>!d&&M(!0),children:I||O})},N=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-subject-sm",children:w}),x.jsx("span",{className:"ears-fixed-sm",children:" shall "}),x.jsx(S,{fieldKey:"action",placeholder:"‹action›"}),x.jsx("span",{className:"ears-fixed-sm",children:"."})]});let T;switch(m){case"event-driven":T=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed-sm",children:"When "}),x.jsx(S,{fieldKey:"trigger",placeholder:"‹trigger›"}),x.jsx("span",{className:"ears-fixed-sm",children:", "}),N]});break;case"state-driven":T=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed-sm",children:"While "}),x.jsx(S,{fieldKey:"precondition",placeholder:"‹precondition›"}),x.jsx("span",{className:"ears-fixed-sm",children:", "}),N]});break;case"unwanted-behaviour":T=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed-sm",children:"If "}),x.jsx(S,{fieldKey:"unwanted_condition",placeholder:"‹condition›"}),x.jsx("span",{className:"ears-fixed-sm",children:", then "}),N]});break;case"optional":T=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed-sm",children:"Where "}),x.jsx(S,{fieldKey:"feature",placeholder:"‹feature›"}),x.jsx("span",{className:"ears-fixed-sm",children:", "}),N]});break;case"complex":T=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-fixed-sm",children:"While "}),x.jsx(S,{fieldKey:"precondition",placeholder:"‹precondition›"}),x.jsx("span",{className:"ears-fixed-sm",children:", when "}),x.jsx(S,{fieldKey:"trigger",placeholder:"‹trigger›"}),x.jsx("span",{className:"ears-fixed-sm",children:", "}),N]});break;default:T=x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"ears-subject-sm",children:w.charAt(0).toUpperCase()+w.slice(1)}),x.jsx("span",{className:"ears-fixed-sm",children:" shall "}),x.jsx(S,{fieldKey:"action",placeholder:"‹action›"}),x.jsx("span",{className:"ears-fixed-sm",children:"."})]})}return x.jsx("div",{className:"ears-sentence-sm",children:T})}function Ygn(s,u){return s.replace(/\{\{([A-Z0-9_]+)\}\}/g,(f,d)=>u[d]??`{{${d}}}`)}function Qgn(s,u,f){for(const[d,g]of Object.entries(s.originalNodes)){const m={};for(const[w,S]of Object.entries(g))["id","type","parentId","x","y","width","height","collapsed"].includes(w)||typeof S=="string"&&(m[w]=Ygn(S,u));f(d,m)}}function Zgn({record:s,importId:u,nodeId:f,readOnly:d,updateNode:g}){const m=xe(O=>O.upsertHubTemplate),[w,S]=fe.useState(!1),[N,T]=fe.useState(s.paramValues),P=s.nodeParams?s.nodeParams[f]:s.templateParams;return P!=null&&P.length?(fe.useEffect(()=>{T({...s.paramValues})},[u,JSON.stringify(s.paramValues)]),w?x.jsxs("div",{style:{marginTop:12},children:[x.jsx("div",{className:"props-section-title",children:"Hub Template"}),x.jsx("div",{style:{display:"flex",flexDirection:"column",gap:8},children:P.map(O=>x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:O.label}),O.hint&&x.jsx("span",{style:{fontSize:11,color:"var(--text-muted)"},children:O.hint}),x.jsx("input",{className:"props-input",type:O.type==="number"?"number":"text",value:N[O.key]??"",onChange:I=>T(C=>({...C,[O.key]:I.target.value}))})]},O.key))}),x.jsxs("div",{style:{display:"flex",gap:6,marginTop:8},children:[x.jsx("button",{className:"props-delete",style:{flex:1,background:"var(--accent)",color:"#fff",padding:"5px 0",marginTop:0},onClick:()=>{Qgn(s,N,g),m(u,{...s,paramValues:N}),S(!1)},children:"Apply"}),x.jsx("button",{className:"props-delete",style:{padding:"5px 12px",marginTop:0},onClick:()=>{T({...s.paramValues}),S(!1)},children:"Cancel"})]})]}):x.jsxs("div",{style:{marginTop:12},children:[x.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:6},children:[x.jsx("span",{className:"props-section-title",style:{margin:0},children:"Hub Template"}),!d&&x.jsx("button",{className:"props-delete",style:{padding:"3px 10px",fontSize:11,background:"var(--accent)",color:"#fff",marginTop:0},onClick:()=>{T({...s.paramValues}),S(!0)},children:"✏ Edit"})]}),x.jsx("div",{style:{display:"flex",flexDirection:"column",gap:4},children:P.map(O=>x.jsxs("div",{className:"props-field",style:{marginBottom:0},children:[x.jsx("label",{className:"props-label",children:O.label}),x.jsx("div",{style:{fontSize:13,color:"var(--text-secondary)",padding:"4px 0"},children:s.paramValues[O.key]??"—"})]},O.key))})]})):null}function ewn({readOnly:s=!1}){const u=xe(C=>C.selectedNodeId),f=xe(C=>C.selectedEdgeId),d=xe(C=>C.c4Nodes),g=xe(C=>C.c4Relations),m=xe(C=>C.metamodel),w=xe(C=>C.updateNode),S=xe(C=>C.removeNode),N=xe(C=>C.updateRelation),T=xe(C=>C.removeRelation),P=xe(C=>C.selectNode),O=xe(C=>C.selectEdge),I=xe(C=>C.hubTemplates);if(u&&d[u]){const C=d[u],M=(Z,re,de="text")=>{const U=C[re],se=we=>{s||w(C.id,{[re]:de==="checkbox"?we.target.checked:we.target.value})};return de==="checkbox"?x.jsx("div",{className:"props-field",children:x.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12},children:[x.jsx("input",{type:"checkbox",checked:!!U,onChange:se,disabled:s,style:{accentColor:"var(--accent)"}}),Z]})},re):de==="textarea"?x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:Z}),x.jsx(gxt,{value:String(U??""),onChange:se,readOnly:s})]},re):x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:Z}),x.jsx("input",{className:"props-input",value:String(U??""),onChange:se,readOnly:s})]},re)},_=Z=>{const re=C[Z.key],de=U=>{s||w(C.id,{[Z.key]:Z.type==="boolean"?U.target.checked:Z.type==="number"?Number(U.target.value):U.target.value})};return Z.type==="boolean"?x.jsx("div",{className:"props-field",children:x.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12},children:[x.jsx("input",{type:"checkbox",checked:!!re,onChange:de,disabled:s,style:{accentColor:"var(--accent)"}}),Z.label]})},Z.key):Z.type==="enum"&&Z.options?x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:Z.label}),x.jsx("select",{className:"props-input",value:String(re??""),disabled:s,onChange:de,children:Z.options.map(U=>x.jsx("option",{value:U,children:U},U))})]},Z.key):Z.type==="textarea"?x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:Z.label}),x.jsx(gxt,{value:String(re??""),onChange:de,readOnly:s})]},Z.key):x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:Z.label}),x.jsx("input",{className:"props-input",value:String(re??""),onChange:de,readOnly:s})]},Z.key)},F=m==null?void 0:m.nodeTypes[C.type],R=new Set(["trigger","precondition","unwanted_condition","feature","action"]),B=((F==null?void 0:F.properties)??[]).filter(Z=>{if(Z.key==="label"||C.type==="requirement"&&R.has(Z.key))return!1;if(Z.visibleWhen){const re=String(C[Z.visibleWhen.key]??"");return Z.visibleWhen.values.includes(re)}return!0}),G=F?null:x.jsxs(x.Fragment,{children:[M("Description","description","textarea"),(C.type==="container"||C.type==="component"||C.type==="database"||C.type==="webapp"||C.type==="queue")&&M("Technology","technology"),M("External","external","checkbox")]}),z=(F==null?void 0:F.allowedParents)??(C.type==="container"||C.type==="component"||C.type==="database"||C.type==="webapp"||C.type==="queue"?{container:["system"],component:["container"],database:["system"],webapp:["system"],queue:["system"]}[C.type]:void 0),Q=z&&z.length>0?x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:"Parent"}),x.jsxs("select",{className:"props-input",value:C.parentId??"",disabled:s,onChange:Z=>!s&&w(C.id,{parentId:Z.target.value||void 0}),children:[x.jsx("option",{value:"",children:"(none)"}),Object.values(d).filter(Z=>Z.id!==C.id&&z.includes(Z.type)).map(Z=>x.jsx("option",{value:Z.id,children:Z.label},Z.id))]})]}):null,te=(F==null?void 0:F.color)??Qh[C.type]??"#334155",ne=(F==null?void 0:F.fg)??Zee[C.type]??"#fff",Y=(F==null?void 0:F.label)??py[C.type]??C.type,oe=(F==null?void 0:F.iconPath)??pb[C.type];return x.jsxs("div",{className:"props-content",children:[x.jsxs("div",{className:"props-type-badge",style:{background:te,color:ne},children:[oe&&x.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:ne,style:{marginRight:6},children:x.jsx("path",{d:oe})}),Y.toUpperCase()]}),C.type==="requirement"&&x.jsx("div",{className:"props-ears-sentence",children:x.jsx(Jgn,{node:C,nodeId:C.id,subject:ete(C.id,g,d),readOnly:s,updateNode:(Z,re)=>w(Z,re)})}),x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Properties"}),M("Label","label"),B.length>0?B.map(Z=>_(Z)):G,Q]}),(()=>{const Z=Object.entries(I).find(([,U])=>U.nodeIds.includes(C.id));if(!Z)return null;const[re,de]=Z;return x.jsx(Zgn,{record:de,importId:re,nodeId:C.id,readOnly:s,updateNode:(U,se)=>w(U,se)})})(),!s&&x.jsx("button",{className:"props-delete",onClick:()=>{S(C.id),P(null)},children:"🗑 Delete node (and children)"})]})}if(f){const C=f.startsWith("virtual-")?null:f,M=C?g[C]:null;if(M){const _=m==null?void 0:m.relationTypes[M.relationType??""],F=(Y,oe,Z="text",re)=>{const de=M[Y],U=de!=null?String(de):"",se=we=>{s||N(M.id,{[Y]:we})};return Z==="boolean"?x.jsx("div",{className:"props-field",children:x.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12},children:[x.jsx("input",{type:"checkbox",checked:!!de,disabled:s,onChange:we=>se(we.target.checked),style:{accentColor:"var(--accent)"}}),oe]})},Y):Z==="enum"&&re?x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:oe}),x.jsxs("select",{className:"props-input",value:U,disabled:s,onChange:we=>se(we.target.value),children:[x.jsx("option",{value:""}),re.map(we=>x.jsx("option",{value:we,children:we},we))]})]},Y):Z==="textarea"?x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:oe}),x.jsx("textarea",{className:"props-input",value:U,readOnly:s,rows:3,onChange:we=>se(we.target.value)})]},Y):x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:oe}),x.jsx("input",{className:"props-input",value:U,readOnly:s,onChange:we=>se(we.target.value)})]},Y)},R=(_==null?void 0:_.properties)??[],B=(_==null?void 0:_.color)??"#334155",G="#fff",z=(_==null?void 0:_.label)??"RELATION",Q=d[M.sourceId],te=d[M.targetId],ne=m?Object.values(m.relationTypes).filter(Y=>Y.allowedPairs.length===0||Y.allowedPairs.some(oe=>oe.from===(Q==null?void 0:Q.type)&&oe.to===(te==null?void 0:te.type))):[];return x.jsxs("div",{className:"props-content",children:[x.jsx("div",{className:"props-type-badge",style:{background:B,color:G},children:z.toUpperCase()}),x.jsxs("div",{children:[x.jsx("div",{className:"props-section-title",children:"Properties"}),ne.length>1&&x.jsxs("div",{className:"props-field",children:[x.jsx("label",{className:"props-label",children:"Type"}),x.jsxs("select",{className:"props-input",value:M.relationType??"",disabled:s,onChange:Y=>!s&&N(M.id,{relationType:Y.target.value||void 0}),children:[x.jsx("option",{value:"",children:"(generic)"}),ne.map(Y=>x.jsx("option",{value:Y.id,children:Y.label},Y.id))]})]}),F("label","Label"),R.length>0?R.map(Y=>F(Y.key,Y.label,Y.type,Y.options)):!_&&F("technology","Technology")]}),!s&&x.jsx("button",{className:"props-delete",onClick:()=>{T(M.id),O(null)},children:"🗑 Delete relation"})]})}return x.jsx("div",{className:"props-content",children:x.jsxs("div",{className:"props-empty",children:["Virtual relation (collapsed nodes)",x.jsx("br",{}),"Expand parent nodes to edit individual relations."]})})}return null}function bxt({readOnly:s=!1,collapsed:u=!1,onToggleCollapsed:f}){const d=xe(G=>G.c4Nodes),g=xe(G=>G.selectedNodeId),m=xe(G=>G.selectedEdgeId),w=xe(G=>G.selectNode),S=xe(G=>G.selectEdge),N=xe(G=>G.activeSequenceId),T=xe(G=>G.setActiveSequence),P=xe(G=>Object.keys(G.c4Nodes).length),O=xe(G=>Object.keys(G.c4Relations).length),I=xe(G=>Object.keys(G.sequences).length),C=Object.values(d).filter(G=>!G.parentId),[M,_]=fe.useState("nodes"),F=!!(g||m||N),R=()=>{w(null),S(null),T(null)},B=()=>g||m?x.jsx(ewn,{readOnly:s}):N?x.jsx(Xgn,{sequenceId:N,readOnly:s}):null;return x.jsxs("div",{className:`right-panel${u?" collapsed":""}`,children:[x.jsx("div",{className:"panel-content",children:x.jsxs("div",{className:`rp-slider${F?" show-props":""}`,children:[x.jsxs("div",{className:"rp-pane",children:[x.jsx(rM,{title:"Nodes",count:P,open:M==="nodes",onToggle:()=>_("nodes"),children:C.length===0?x.jsx("div",{className:"lp-empty-state",style:{padding:"4px 12px 8px"},children:"No nodes."}):C.map(G=>x.jsx(ajt,{nodeId:G.id,depth:0},G.id))}),x.jsx(rM,{title:"Relations",count:O,open:M==="relations",onToggle:()=>_("relations"),children:x.jsx(Kgn,{})}),x.jsx(rM,{title:"Sequences",count:I,open:M==="sequences",onToggle:()=>_("sequences"),children:x.jsx(Vgn,{readOnly:s,compact:!0})})]}),x.jsxs("div",{className:"rp-pane",children:[x.jsx("button",{className:"rp-back-btn",onClick:R,children:"◀ Back"}),B()]})]})}),f&&x.jsx(fjt,{side:"right",collapsed:u,onToggle:f})]})}const Eee=()=>x.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",children:x.jsx("path",{d:"M8 3v10M3 8h10"})}),Iee=()=>x.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M3 4.5 h10 M6 4.5 V3 h4 v1.5 M5 4.5 l.7 8.5 a1 1 0 0 0 1 1 h2.6 a1 1 0 0 0 1 -1 l.7 -8.5"})});function hjt({properties:s,onChange:u}){const f=(m,w)=>{const S=s.map((N,T)=>T===m?{...N,...w}:N);u(S)},d=m=>u(s.filter((w,S)=>S!==m)),g=()=>u([...s,{key:`prop${s.length+1}`,label:"New property",type:"text"}]);return x.jsxs("div",{className:"mm-prop-list",children:[s.length===0&&x.jsx("div",{className:"mm-empty",children:"No custom properties."}),s.map((m,w)=>x.jsxs("div",{className:"mm-prop-row",children:[x.jsx("input",{className:"mm-input mm-prop-key",value:m.key,placeholder:"key",onChange:S=>f(w,{key:S.target.value})}),x.jsx("input",{className:"mm-input mm-prop-label",value:m.label,placeholder:"Label",onChange:S=>f(w,{label:S.target.value})}),x.jsxs("select",{className:"mm-input mm-prop-type",value:m.type,onChange:S=>f(w,{type:S.target.value}),children:[x.jsx("option",{value:"text",children:"text"}),x.jsx("option",{value:"textarea",children:"textarea"}),x.jsx("option",{value:"number",children:"number"}),x.jsx("option",{value:"boolean",children:"boolean"}),x.jsx("option",{value:"enum",children:"enum"})]}),x.jsxs("label",{className:"mm-checkbox",title:"Required",children:[x.jsx("input",{type:"checkbox",checked:!!m.required,onChange:S=>f(w,{required:S.target.checked})}),"req"]}),m.type==="enum"&&x.jsx("input",{className:"mm-input mm-prop-options",value:(m.options??[]).join(", "),placeholder:"opt1, opt2",onChange:S=>f(w,{options:S.target.value.split(",").map(N=>N.trim()).filter(Boolean)})}),x.jsx("button",{className:"mm-icon-btn danger",title:"Remove property",onClick:()=>d(w),children:x.jsx(Iee,{})})]},w)),x.jsxs("button",{className:"mm-add-btn",onClick:g,children:[x.jsx(Eee,{})," Add property"]})]})}function twn({def:s,allTypes:u,onChange:f,onDelete:d}){var w,S;const[g,m]=fe.useState(!1);return x.jsxs("div",{className:"mm-card",children:[x.jsxs("div",{className:"mm-card-header",onClick:()=>m(N=>!N),children:[x.jsx("svg",{className:`mm-chevron${g?" open":""}`,viewBox:"0 0 16 16",width:"10",height:"10",children:x.jsx("path",{d:"M5 3 L11 8 L5 13",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})}),x.jsx("span",{className:"mm-type-badge",style:{background:s.color,color:s.fg},children:x.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:s.fg,children:x.jsx("path",{d:s.iconPath})})}),x.jsx("span",{className:"mm-type-label",children:s.label}),x.jsx("span",{className:"mm-type-id",children:s.id}),s.builtin&&x.jsx("span",{className:"mm-builtin-tag",children:"built-in"}),x.jsx("div",{style:{flex:1}}),!s.builtin&&x.jsx("button",{className:"mm-icon-btn danger",title:"Delete type",onClick:N=>{N.stopPropagation(),d()},children:x.jsx(Iee,{})})]}),g&&x.jsxs("div",{className:"mm-card-body",children:[x.jsxs("div",{className:"mm-row",children:[x.jsxs("label",{className:"mm-field",children:[x.jsx("span",{children:"Label"}),x.jsx("input",{className:"mm-input",value:s.label,onChange:N=>f({label:N.target.value})})]}),x.jsxs("label",{className:"mm-field mm-field-color",children:[x.jsx("span",{children:"Color"}),x.jsx("input",{type:"color",value:s.color,onChange:N=>f({color:N.target.value})})]}),x.jsxs("label",{className:"mm-field mm-field-color",children:[x.jsx("span",{children:"Text"}),x.jsx("input",{type:"color",value:s.fg,onChange:N=>f({fg:N.target.value})})]})]}),x.jsxs("div",{className:"mm-row",children:[x.jsxs("label",{className:"mm-field",children:[x.jsx("span",{children:"Default width"}),x.jsx("input",{className:"mm-input",type:"number",value:s.width,onChange:N=>f({width:Number(N.target.value)||0})})]}),x.jsxs("label",{className:"mm-field",children:[x.jsx("span",{children:"Default height"}),x.jsx("input",{className:"mm-input",type:"number",value:s.height,onChange:N=>f({height:Number(N.target.value)||0})})]})]}),x.jsxs("div",{className:"mm-row",children:[x.jsxs("label",{className:"mm-field",children:[x.jsx("span",{children:"Min instances"}),x.jsx("input",{className:"mm-input",type:"number",value:((w=s.cardinality)==null?void 0:w.min)??"",onChange:N=>f({cardinality:{...s.cardinality,min:N.target.value===""?void 0:Number(N.target.value)}})})]}),x.jsxs("label",{className:"mm-field",children:[x.jsx("span",{children:"Max instances"}),x.jsx("input",{className:"mm-input",type:"number",value:((S=s.cardinality)==null?void 0:S.max)??"",onChange:N=>f({cardinality:{...s.cardinality,max:N.target.value===""?void 0:Number(N.target.value)}})})]})]}),x.jsx("div",{className:"mm-section-label",children:"Allowed parents"}),x.jsxs("div",{className:"mm-parent-grid",children:[x.jsxs("label",{className:"mm-checkbox",children:[x.jsx("input",{type:"checkbox",checked:!s.allowedParents||s.allowedParents.length===0,onChange:N=>f({allowedParents:N.target.checked?void 0:[]})}),"Root only"]}),u.filter(N=>N.id!==s.id).map(N=>{var P;const T=((P=s.allowedParents)==null?void 0:P.includes(N.id))??!1;return x.jsxs("label",{className:"mm-checkbox",children:[x.jsx("input",{type:"checkbox",checked:T,onChange:O=>{const I=new Set(s.allowedParents??[]);O.target.checked?I.add(N.id):I.delete(N.id);const C=Array.from(I);f({allowedParents:C.length?C:void 0})}}),N.label]},N.id)})]}),x.jsx("div",{className:"mm-section-label",children:"Custom properties"}),x.jsx(hjt,{properties:s.properties??[],onChange:N=>f({properties:N})})]})]})}function nwn({def:s,allTypes:u,onChange:f,onDelete:d}){const[g,m]=fe.useState(!1),w=(T,P)=>f({allowedPairs:s.allowedPairs.map((O,I)=>I===T?{...O,...P}:O)}),S=T=>f({allowedPairs:s.allowedPairs.filter((P,O)=>O!==T)}),N=()=>{var P;const T=((P=u[0])==null?void 0:P.id)??"";f({allowedPairs:[...s.allowedPairs,{from:T,to:T}]})};return x.jsxs("div",{className:"mm-card",children:[x.jsxs("div",{className:"mm-card-header",onClick:()=>m(T=>!T),children:[x.jsx("svg",{className:`mm-chevron${g?" open":""}`,viewBox:"0 0 16 16",width:"10",height:"10",children:x.jsx("path",{d:"M5 3 L11 8 L5 13",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})}),x.jsx("span",{className:"mm-rel-arrow",children:"→"}),x.jsx("span",{className:"mm-type-label",children:s.label}),x.jsx("span",{className:"mm-type-id",children:s.id}),s.builtin&&x.jsx("span",{className:"mm-builtin-tag",children:"built-in"}),x.jsx("span",{className:"mm-pair-count",children:s.allowedPairs.length===0?"any pair":`${s.allowedPairs.length} pair(s)`}),x.jsx("div",{style:{flex:1}}),!s.builtin&&x.jsx("button",{className:"mm-icon-btn danger",title:"Delete relation type",onClick:T=>{T.stopPropagation(),d()},children:x.jsx(Iee,{})})]}),g&&x.jsxs("div",{className:"mm-card-body",children:[x.jsx("div",{className:"mm-row",children:x.jsxs("label",{className:"mm-field",children:[x.jsx("span",{children:"Label"}),x.jsx("input",{className:"mm-input",value:s.label,onChange:T=>f({label:T.target.value})})]})}),x.jsxs("div",{className:"mm-section-label",children:["Allowed pairs",x.jsx("span",{className:"mm-hint",children:"Empty list ⇒ any pair allowed."})]}),x.jsxs("div",{className:"mm-pair-list",children:[s.allowedPairs.map((T,P)=>x.jsxs("div",{className:"mm-pair-row",children:[x.jsx("select",{className:"mm-input",value:T.from,onChange:O=>w(P,{from:O.target.value}),children:u.map(O=>x.jsx("option",{value:O.id,children:O.label},O.id))}),x.jsx("span",{className:"mm-pair-arrow",children:"→"}),x.jsx("select",{className:"mm-input",value:T.to,onChange:O=>w(P,{to:O.target.value}),children:u.map(O=>x.jsx("option",{value:O.id,children:O.label},O.id))}),x.jsx("input",{className:"mm-input mm-num",type:"number",placeholder:"min",value:T.min??"",onChange:O=>w(P,{min:O.target.value===""?void 0:Number(O.target.value)})}),x.jsx("input",{className:"mm-input mm-num",type:"number",placeholder:"max",value:T.max??"",onChange:O=>w(P,{max:O.target.value===""?void 0:Number(O.target.value)})}),x.jsx("button",{className:"mm-icon-btn danger",onClick:()=>S(P),title:"Remove",children:x.jsx(Iee,{})})]},P)),x.jsxs("button",{className:"mm-add-btn",onClick:N,children:[x.jsx(Eee,{})," Add pair"]})]}),x.jsx("div",{className:"mm-section-label",children:"Custom properties"}),x.jsx(hjt,{properties:s.properties??[],onChange:T=>f({properties:T})})]})]})}function iwn(){const s=xe(w=>w.c4Nodes),u=xe(w=>w.c4Relations),f=xe(w=>w.metamodel),d=xe(w=>w.selectNode),g=xe(w=>w.setAppMode),m=fe.useMemo(()=>rhn(s,u,f),[s,u,f]);return x.jsxs("div",{className:"mm-issues",children:[x.jsxs("div",{className:"mm-issues-header",children:[x.jsx("strong",{children:"Validation"}),x.jsx("span",{className:`mm-issues-count${m.length?" has":""}`,children:m.length})]}),m.length===0&&x.jsx("div",{className:"mm-empty",children:"Model is consistent with metamodel."}),m.map(w=>x.jsxs("div",{className:`mm-issue mm-issue-${w.severity}`,children:[x.jsx("div",{className:"mm-issue-msg",children:w.message}),w.nodeId&&x.jsx("button",{className:"mm-link",onClick:()=>{d(w.nodeId),g("designer")},children:"Open in Designer →"})]},w.id))]})}function rwn(){const s=xe(C=>C.metamodel),u=xe(C=>C.upsertNodeType),f=xe(C=>C.removeNodeType),d=xe(C=>C.upsertRelationType),g=xe(C=>C.removeRelationType),m=xe(C=>C.resetMetamodelToC4),w=xe(C=>C.setMetamodel),S=fe.useMemo(()=>Object.values(s.nodeTypes),[s]),N=fe.useMemo(()=>Object.values(s.relationTypes),[s]),T=()=>{const C=iv().nodeTypes.system;let M=1,_=`type${M}`;for(;s.nodeTypes[_];)M+=1,_=`type${M}`;u({...C,id:_,label:`New type ${M}`,builtin:!1,color:"#6b7280",fg:"#ffffff",allowedParents:void 0,properties:[]})},P=()=>{let C=1,M=`rel${C}`;for(;s.relationTypes[M];)C+=1,M=`rel${C}`;d({id:M,label:`New relation ${C}`,allowedPairs:[],builtin:!1})},O=xe(C=>C.setAppMode),I=()=>O("designer");return fe.useEffect(()=>{const C=M=>{M.key==="Escape"&&I()};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[]),kM.createPortal(x.jsx("div",{className:"milestone-modal-backdrop",onMouseDown:C=>{if(C.target!==C.currentTarget)return;const M=C.currentTarget,_=F=>{window.removeEventListener("mouseup",_,!0),F.target===M&&I()};window.addEventListener("mouseup",_,!0)},children:x.jsxs("div",{className:"milestone-modal mm-editor-modal",onMouseDown:C=>C.stopPropagation(),onClick:C=>C.stopPropagation(),role:"dialog","aria-label":"Metamodel editor",children:[x.jsx("button",{type:"button",className:"mm-editor-modal-close","aria-label":"Close metamodel editor",title:"Close (Esc)",onClick:I,children:"✕"}),x.jsxs("div",{className:"mm-editor",children:[x.jsxs("div",{className:"mm-editor-main",children:[x.jsxs("div",{className:"mm-editor-header",children:[x.jsxs("div",{children:[x.jsx("input",{className:"mm-input mm-name",value:s.name,onChange:C=>w({...s,name:C.target.value})}),x.jsxs("div",{className:"mm-subhead",children:["Per-document metamodel · ",S.length," node type(s) · ",N.length," relation type(s)"]})]}),x.jsx("div",{style:{flex:1}}),x.jsx("button",{className:"mm-btn",onClick:()=>{window.confirm("Reset metamodel to built-in C4? Custom types will be lost.")&&m()},children:"Reset to C4 preset"})]}),x.jsxs("div",{className:"mm-section",children:[x.jsxs("div",{className:"mm-section-header",children:[x.jsx("h3",{children:"Node types"}),x.jsxs("button",{className:"mm-btn primary",onClick:T,children:[x.jsx(Eee,{})," Add node type"]})]}),x.jsx("div",{className:"mm-card-list",children:S.map(C=>x.jsx(twn,{def:C,allTypes:S,onChange:M=>u({...C,...M}),onDelete:()=>f(C.id)},C.id))})]}),x.jsxs("div",{className:"mm-section",children:[x.jsxs("div",{className:"mm-section-header",children:[x.jsx("h3",{children:"Relation types"}),x.jsxs("button",{className:"mm-btn primary",onClick:P,children:[x.jsx(Eee,{})," Add relation type"]})]}),x.jsx("div",{className:"mm-card-list",children:N.map(C=>x.jsx(nwn,{def:C,allTypes:S,onChange:M=>d({...C,...M}),onDelete:()=>g(C.id)},C.id))})]}),x.jsx("div",{className:"mm-footer-note",children:"Note: changes to built-in C4 types affect this document only. Newly added types are stored in the metamodel and surface in the Issues panel; full canvas styling for custom types lands in a follow-up."})]}),x.jsx("aside",{className:"mm-editor-side",children:x.jsx(iwn,{})})]})]})}),document.body)}const mxt=5e3,swn={error:x.jsxs("svg",{viewBox:"0 0 20 20",width:"18",height:"18",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("circle",{cx:"10",cy:"10",r:"8"}),x.jsx("path",{d:"M10 6v4.5"}),x.jsx("circle",{cx:"10",cy:"13.5",r:"0.6",fill:"currentColor",stroke:"none"})]}),warning:x.jsxs("svg",{viewBox:"0 0 20 20",width:"18",height:"18",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M10 2.5 18 17H2L10 2.5Z"}),x.jsx("path",{d:"M10 8v4"}),x.jsx("circle",{cx:"10",cy:"14.5",r:"0.6",fill:"currentColor",stroke:"none"})]}),info:x.jsxs("svg",{viewBox:"0 0 20 20",width:"18",height:"18",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("circle",{cx:"10",cy:"10",r:"8"}),x.jsx("path",{d:"M10 9v5"}),x.jsx("circle",{cx:"10",cy:"6.5",r:"0.6",fill:"currentColor",stroke:"none"})]})},own={error:"Action blocked",warning:"Warning",info:"Notice"};function cwn({id:s,severity:u,message:f}){const d=xe(P=>P.dismissNotification),[g,m]=fe.useState(!1),[w,S]=fe.useState(!1),N=fe.useRef(performance.now()),T=fe.useRef(0);return fe.useEffect(()=>{let P=0;const O=()=>{if(w)N.current=performance.now();else{const I=performance.now();if(T.current+=I-N.current,N.current=I,T.current>=mxt){m(!0),window.setTimeout(()=>d(s),200);return}}P=requestAnimationFrame(O)};return P=requestAnimationFrame(O),()=>cancelAnimationFrame(P)},[s,d,w]),x.jsxs("div",{className:`toast toast-${u}${g?" toast-leaving":""}`,onMouseEnter:()=>S(!0),onMouseLeave:()=>S(!1),role:u==="error"?"alert":"status",children:[x.jsx("div",{className:"toast-icon-wrap","aria-hidden":!0,children:swn[u]}),x.jsxs("div",{className:"toast-body",children:[x.jsx("div",{className:"toast-title",children:own[u]}),x.jsx("div",{className:"toast-message",children:f})]}),x.jsx("button",{type:"button",className:"toast-close",onClick:()=>{m(!0),window.setTimeout(()=>d(s),200)},"aria-label":"Dismiss notification",children:x.jsx("svg",{viewBox:"0 0 16 16",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",children:x.jsx("path",{d:"M4 4l8 8M12 4l-8 8"})})}),x.jsx("div",{className:"toast-progress",style:{animationDuration:`${mxt}ms`,animationPlayState:w?"paused":"running"}})]})}function uwn(){const s=xe(u=>u.notifications);return s.length===0?null:x.jsx("div",{className:"toast-host",role:"region","aria-label":"Notifications",children:s.map(u=>x.jsx(cwn,{id:u.id,severity:u.severity,message:u.message},u.id))})}function lwn(){const s=xe(Y=>Y.selectedNodeIds),u=xe(Y=>Y.c4Nodes),f=xe(Y=>Y.metamodel),d=xe(Y=>Y.wrapSelectionInNewParent),g=xe(Y=>Y.removeNode),m=xe(Y=>Y.unwrapNode),w=xe(Y=>Y.reparentNodes),S=xe(Y=>Y.setSelectedNodeIds),N=xe(Y=>Y.appMode),T=xe(Y=>Y.activeViewId),P=xe(Y=>Y.removeNodeFromView),[O,I]=fe.useState(!1),[C,M]=fe.useState(!1),_=fe.useRef(null),F=fe.useRef(null);fe.useEffect(()=>{if(!O&&!C)return;const Y=oe=>{O&&_.current&&!_.current.contains(oe.target)&&I(!1),C&&F.current&&!F.current.contains(oe.target)&&M(!1)};return window.addEventListener("mousedown",Y),()=>window.removeEventListener("mousedown",Y)},[O,C]);const R=fe.useMemo(()=>{var se;if(s.length===0||!f)return[];const Y=s.map(we=>u[we]).filter(Boolean);if(Y.length===0)return[];const oe=Y[0].parentId??null,Z=Y.every(we=>(we.parentId??null)===oe),re=oe?u[oe]:void 0,de=re?((se=f.nodeTypes[re.type])==null?void 0:se.label)??re.type:"the canvas root",U=[];for(const we of Object.values(f.nodeTypes)){let ve=!1,Ke;if(!Z)ve=!0,Ke="Selected nodes have different parents — select siblings only.";else if(Y.length===1&&Y[0].type===we.id)ve=!0,Ke=`Already a ${we.label}.`;else if(Wh(f,we.id,re==null?void 0:re.type)){const je=Y.find(ae=>!Wh(f,ae.type,we.id));if(je){const ae=f.nodeTypes[je.type],ge=(ae==null?void 0:ae.label)??je.type,_e=ae==null?void 0:ae.allowedParents,Be=_e&&_e.length?_e.map(ht=>{var xt;return((xt=f.nodeTypes[ht])==null?void 0:xt.label)??ht}).join(", "):"the canvas root";ve=!0,Ke=`${ge} "${je.label}" cannot live inside ${we.label}. Allowed: ${Be}.`}}else{ve=!0;const je=we.allowedParents,ae=je&&je.length?je.map(ge=>{var _e;return((_e=f.nodeTypes[ge])==null?void 0:_e.label)??ge}).join(", "):"the canvas root";Ke=`${we.label} cannot live inside ${de}. Allowed: ${ae}.`}U.push({id:we.id,label:we.label,disabled:ve,reason:Ke})}return U.filter(we=>!we.disabled).sort((we,ve)=>we.label.localeCompare(ve.label))},[s,u,f]),B=fe.useMemo(()=>{if(s.length===0||!f)return[];const Y=s.map(ve=>u[ve]).filter(Boolean);if(Y.length===0)return[];const oe=Y[0].parentId??null;if(!Y.every(ve=>(ve.parentId??null)===oe))return[];const re=new Set(s),de=ve=>{for(const Ke of Object.values(u))Ke.parentId===ve&&!re.has(Ke.id)&&(re.add(Ke.id),de(Ke.id))};for(const ve of s)de(ve);const U=ve=>{if(!ve)return"Canvas root";const Ke=[];let je=u[ve];const ae=new Set;for(;je&&!ae.has(je.id);)ae.add(je.id),Ke.unshift(je.label||je.type),je=je.parentId?u[je.parentId]:void 0;return Ke.join(" / ")},se=ve=>Y.every(Ke=>Wh(f,Ke.type,ve)),we=[];oe!==null&&se(void 0)&&we.push({id:null,label:"Canvas root",path:"Canvas root"});for(const ve of Object.values(u)){if(re.has(ve.id)||ve.id===oe||!se(ve.type))continue;const Ke=f.nodeTypes[ve.type],je=(Ke==null?void 0:Ke.label)??ve.type;we.push({id:ve.id,label:`${ve.label||ve.type} (${je})`,path:U(ve.id)})}return we.sort((ve,Ke)=>ve.path.localeCompare(Ke.path))},[s,u,f]);if(N!=="designer"||s.length===0)return null;const G=s.length===1?s[0]:null,z=G?u[G]:null,Q=!!z&&Object.values(u).some(Y=>Y.parentId===z.id),te=!!z&&Q,ne=()=>{const Y=[...s];S([]);for(const oe of Y)g(oe)};return x.jsxs("div",{className:"sel-bar",role:"toolbar","aria-label":"Selection actions",children:[x.jsxs("div",{className:"sel-bar-count",children:[x.jsx("span",{className:"sel-bar-badge",children:s.length}),x.jsx("span",{className:"sel-bar-label",children:s.length===1?"node selected":"nodes selected"})]}),R.length>0&&x.jsx("div",{className:"sel-bar-divider"}),R.length>0&&x.jsxs("div",{className:"sel-bar-wrap",ref:_,children:[x.jsxs("button",{type:"button",className:"sel-bar-btn",onClick:()=>I(Y=>!Y),title:"Wrap into a new container",children:[x.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),x.jsx("path",{d:"M5 7h6M5 10h4"})]}),"Wrap into…",x.jsx("svg",{viewBox:"0 0 10 10",width:"9",height:"9",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.7},children:x.jsx("path",{d:"M2 4l3 3 3-3"})})]}),O&&x.jsx("div",{className:"sel-bar-menu",role:"menu",children:R.map(Y=>x.jsx("button",{type:"button",role:"menuitem",className:"sel-bar-menu-item",onClick:()=>{I(!1),d(Y.id)},children:x.jsx("span",{children:Y.label})},Y.id))})]}),x.jsx("div",{className:"sel-bar-divider"}),B.length>0&&x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"sel-bar-wrap",ref:F,children:[x.jsxs("button",{type:"button",className:"sel-bar-btn",onClick:()=>M(Y=>!Y),title:"Move the selected nodes into a different parent",children:[x.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M3 8h10M9 4l4 4-4 4"})}),"Move to…",x.jsx("svg",{viewBox:"0 0 10 10",width:"9",height:"9",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.7},children:x.jsx("path",{d:"M2 4l3 3 3-3"})})]}),C&&x.jsx("div",{className:"sel-bar-menu",role:"menu",children:B.map(Y=>x.jsxs("button",{type:"button",role:"menuitem",className:"sel-bar-menu-item",onClick:()=>{M(!1),w([...s],Y.id)},children:[x.jsx("span",{children:Y.label}),Y.id!==null&&x.jsx("span",{className:"sel-bar-menu-reason",children:Y.path})]},Y.id??"__root__"))})]}),x.jsx("div",{className:"sel-bar-divider"})]}),te&&x.jsxs(x.Fragment,{children:[x.jsxs("button",{type:"button",className:"sel-bar-btn",onClick:()=>{const Y=z.id;m(Y)},title:"Remove this container but keep its direct children and their relations",children:[x.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M2 4h12M2 8h12M2 12h12",strokeDasharray:"2 2"}),x.jsx("path",{d:"M5 2l-3 2 3 2M11 10l3 2-3 2"})]}),"Unwrap"]}),x.jsx("div",{className:"sel-bar-divider"})]}),T&&x.jsxs(x.Fragment,{children:[x.jsxs("button",{type:"button",className:"sel-bar-btn",onClick:()=>{const Y=[...s];S([]);for(const oe of Y)P(T,oe)},title:"Hide selected nodes from the active view (model is not changed)",children:[x.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M2 8s2.5-4 6-4 6 4 6 4-2.5 4-6 4-6-4-6-4z"}),x.jsx("path",{d:"M2 2l12 12"})]}),"Hide from view"]}),x.jsx("div",{className:"sel-bar-divider"})]}),x.jsxs("button",{type:"button",className:"sel-bar-btn sel-bar-btn-danger",onClick:ne,title:"Delete selected nodes from the model",children:[x.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M3 4h10M6 4V2.5h4V4M5 4l1 9h4l1-9"})}),"Delete"]})]})}function awn(){const s=xe(Z=>Z.selectedEdgeId),u=xe(Z=>Z.c4Relations),f=xe(Z=>Z.c4Nodes),d=xe(Z=>Z.metamodel),g=xe(Z=>Z.updateRelation),m=xe(Z=>Z.removeRelation),w=xe(Z=>Z.selectEdge),S=xe(Z=>Z.appMode),N=xe(Z=>Z.selectedNodeIds),T=xe(Z=>Z.activeViewId),P=xe(Z=>Z.hideRelationFromView),[O,I]=fe.useState(!1),[C,M]=fe.useState(!1),_=fe.useRef(null),F=fe.useRef(null);fe.useEffect(()=>{if(!O&&!C)return;const Z=re=>{O&&_.current&&!_.current.contains(re.target)&&I(!1),C&&F.current&&!F.current.contains(re.target)&&M(!1)};return window.addEventListener("mousedown",Z),()=>window.removeEventListener("mousedown",Z)},[O,C]);const R=s?u[s]:void 0,B=R?f[R.sourceId]:void 0,G=R?f[R.targetId]:void 0,z=fe.useMemo(()=>Z=>{const re=[];let de=f[Z];const U=new Set;for(;de&&!U.has(de.id);)U.add(de.id),re.unshift(de.label||de.type),de=de.parentId?f[de.parentId]:void 0;return re.join(" / ")},[f]),Q=fe.useMemo(()=>{var re;if(!R||!G)return[];const Z=[];for(const de of Object.values(f)){if(de.id===R.sourceId||de.id===R.targetId||!$9(d,de.type,G.type))continue;const U=((re=d==null?void 0:d.nodeTypes[de.type])==null?void 0:re.label)??de.type;Z.push({id:de.id,label:`${de.label||de.type} (${U})`,path:z(de.id)})}return Z.sort((de,U)=>de.path.localeCompare(U.path))},[R,G,f,d,z]),te=fe.useMemo(()=>{var re;if(!R||!B)return[];const Z=[];for(const de of Object.values(f)){if(de.id===R.targetId||de.id===R.sourceId||!$9(d,B.type,de.type))continue;const U=((re=d==null?void 0:d.nodeTypes[de.type])==null?void 0:re.label)??de.type;Z.push({id:de.id,label:`${de.label||de.type} (${U})`,path:z(de.id)})}return Z.sort((de,U)=>de.path.localeCompare(U.path))},[R,B,f,d,z]);if(S!=="designer"||N.length>0||!R||!B||!G)return null;const ne=B.label||B.type,Y=G.label||G.type,oe=()=>{w(null),m(R.id)};return x.jsxs("div",{className:"sel-bar",role:"toolbar","aria-label":"Relation actions",children:[x.jsx("div",{className:"sel-bar-count",children:x.jsxs("span",{className:"sel-bar-label",title:`${z(R.sourceId)} → ${z(R.targetId)}`,children:[x.jsx("strong",{children:ne}),x.jsx("span",{style:{opacity:.6,padding:"0 6px"},children:"→"}),x.jsx("strong",{children:Y})]})}),x.jsx("div",{className:"sel-bar-divider"}),x.jsxs("div",{className:"sel-bar-wrap",ref:_,children:[x.jsxs("button",{type:"button",className:"sel-bar-btn",onClick:()=>{I(Z=>!Z),M(!1)},title:"Re-route this relation from a different source node",disabled:Q.length===0,children:[x.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("circle",{cx:"4",cy:"8",r:"2"}),x.jsx("path",{d:"M6 8h7M10 5l3 3-3 3"})]}),"Change source…",x.jsx("svg",{viewBox:"0 0 10 10",width:"9",height:"9",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.7},children:x.jsx("path",{d:"M2 4l3 3 3-3"})})]}),O&&Q.length>0&&x.jsx("div",{className:"sel-bar-menu",role:"menu",children:Q.map(Z=>x.jsxs("button",{type:"button",role:"menuitem",className:"sel-bar-menu-item",onClick:()=>{I(!1),g(R.id,{sourceId:Z.id})},children:[x.jsx("span",{children:Z.label}),x.jsx("span",{className:"sel-bar-menu-reason",children:Z.path})]},Z.id))})]}),x.jsx("div",{className:"sel-bar-divider"}),x.jsxs("div",{className:"sel-bar-wrap",ref:F,children:[x.jsxs("button",{type:"button",className:"sel-bar-btn",onClick:()=>{M(Z=>!Z),I(!1)},title:"Re-route this relation to a different destination node",disabled:te.length===0,children:[x.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M3 8h7M7 5l3 3-3 3"}),x.jsx("circle",{cx:"13",cy:"8",r:"2"})]}),"Change destination…",x.jsx("svg",{viewBox:"0 0 10 10",width:"9",height:"9",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.7},children:x.jsx("path",{d:"M2 4l3 3 3-3"})})]}),C&&te.length>0&&x.jsx("div",{className:"sel-bar-menu",role:"menu",children:te.map(Z=>x.jsxs("button",{type:"button",role:"menuitem",className:"sel-bar-menu-item",onClick:()=>{M(!1),g(R.id,{targetId:Z.id})},children:[x.jsx("span",{children:Z.label}),x.jsx("span",{className:"sel-bar-menu-reason",children:Z.path})]},Z.id))})]}),x.jsx("div",{className:"sel-bar-divider"}),T&&x.jsxs(x.Fragment,{children:[x.jsxs("button",{type:"button",className:"sel-bar-btn",onClick:()=>{const Z=R.id;w(null),P(T,Z)},title:"Hide this relation from the active view (model is not changed)",children:[x.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:[x.jsx("path",{d:"M2 8s2.5-4 6-4 6 4 6 4-2.5 4-6 4-6-4-6-4z"}),x.jsx("path",{d:"M2 2l12 12"})]}),"Hide from view"]}),x.jsx("div",{className:"sel-bar-divider"})]}),x.jsxs("button",{type:"button",className:"sel-bar-btn sel-bar-btn-danger",onClick:oe,title:"Delete this relation",children:[x.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round",children:x.jsx("path",{d:"M3 4h10M6 4V2.5h4V4M5 4l1 9h4l1-9"})}),"Delete"]})]})}const fwn=new Set(["person","system","container","component","database","webapp","queue"]);function hwn(s,u={}){const f=u.knownTypes??fwn;if(!s||typeof s!="object")throw new Error("Patch must be a JSON object");const d=s;if(d.operations===void 0||d.operations===null)return{operations:[],summary:typeof d.summary=="string"?d.summary:void 0};if(!Array.isArray(d.operations))throw new Error("Patch.operations must be an array");const g=[];for(let m=0;mtypeof T!="string"))throw new Error(`Op #${m} add_view: nodeIds must be an array of strings`);N=w.nodeIds}g.push({op:"add_view",tempId:w.tempId,name:w.name.trim(),nodeIds:N,active:w.active===!0?!0:void 0});break}case"set_view_nodes":{if(typeof w.id!="string"||!w.id)throw new Error(`Op #${m} set_view_nodes: id required`);if(!Array.isArray(w.nodeIds)||w.nodeIds.some(N=>typeof N!="string"))throw new Error(`Op #${m} set_view_nodes: nodeIds must be an array of strings`);g.push({op:"set_view_nodes",id:w.id,nodeIds:w.nodeIds});break}case"delete_view":{if(typeof w.id!="string"||!w.id)throw new Error(`Op #${m} delete_view: id required`);g.push({op:"delete_view",id:w.id});break}case"set_active_view":{if(w.id!==null&&(typeof w.id!="string"||!w.id))throw new Error(`Op #${m} set_active_view: id must be a string or null`);g.push({op:"set_active_view",id:w.id});break}case"focus_node":{if(typeof w.id!="string"||!w.id)throw new Error(`Op #${m} focus_node: id required`);g.push({op:"focus_node",id:w.id});break}case"reset_diagram":{g.push({op:"reset_diagram"});break}case"query_model":{if(typeof w.query!="string"||!w.query.trim())throw new Error(`Op #${m} query_model: query required`);g.push({op:"query_model",query:w.query.trim()});break}default:throw new Error(`Op #${m}: unknown op "${String(S)}"`)}}return{operations:g,summary:typeof d.summary=="string"?d.summary:void 0}}function dwn(s,u){var O,I;const f={added:{nodes:0,relations:0,views:0},updated:{nodes:0,views:0},deleted:{nodes:0,relations:0,views:0},errors:[]},d=new Map,g=C=>d.get(C)??C;let m=80,w=80;const S=360,N=4;let T=0;const P=()=>{const C=T%N,M=Math.floor(T/N);return T++,{x:m+C*S,y:w+M*280}};for(let C=0;C0){const F=M.nodeIds.map(g);u.setViewNodes(_,F)}M.active&&u.setActiveView&&u.setActiveView(_),f.added.views++}else if(M.op==="set_view_nodes"){if(!u.setViewNodes||!u.getViews)throw new Error("set_view_nodes: views are not editable in this context");const _=g(M.id);if(!(_ in u.getViews()))throw new Error(`set_view_nodes: unknown view id "${M.id}"`);const F=M.nodeIds.map(g);u.setViewNodes(_,F),f.updated.views++}else if(M.op==="delete_view"){if(!u.removeView||!u.getViews)throw new Error("delete_view: views are not editable in this context");const _=g(M.id);if(!(_ in u.getViews()))throw new Error(`delete_view: unknown view id "${M.id}"`);u.removeView(_),f.deleted.views++}else if(M.op==="set_active_view"){if(!u.setActiveView)throw new Error("set_active_view: views are not editable in this context");if(M.id===null)u.setActiveView(null);else{const _=g(M.id);if(u.getViews&&!(_ in u.getViews()))throw new Error(`set_active_view: unknown view id "${M.id}"`);u.setActiveView(_)}}else if(M.op==="focus_node"){const _=g(M.id);if(!(_ in u.getNodes()))throw new Error(`focus_node: unknown node id "${M.id}"`);f.focusNodeId=_}else if(M.op==="reset_diagram"){if(!u.clearDiagram)throw new Error("reset_diagram: clearDiagram is not wired in this context");u.clearDiagram(),d.clear()}else if(M.op==="query_model")throw new Error("query_model must be handled by the AI runner before applyPatch")}catch(_){f.errors.push(`Op #${C} (${M.op}): ${_.message}`)}}return f}const pwn=`BUILT-IN MODEL QUERY LANGUAGE: -When you need exact information from the CURRENT diagram structure, return one -or more query_model ops and nothing else. The runner will execute them locally -and send the results back to you in the next round. Do NOT mix query_model ops -with mutation ops in the same response. - -Syntax: -- LIST NODES -- LIST NODES WHERE [LIMIT n] -- LIST RELATIONS -- LIST RELATIONS WHERE [LIMIT n] -- LIST VIEWS -- LIST VIEWS WHERE [LIMIT n] -- LIST TECHNOLOGIES -- GET NODE -- GET VIEW -- GET CHILDREN OF -- GET NEIGHBORS OF [DEPTH n] -- GET DEPENDENCIES OF [DEPTH n] -- GET DEPENDENTS OF [DEPTH n] -- STATS MODEL - -Operators: -- = exact match -- != exact non-match -- ~ case-insensitive substring match - -Boolean logic in WHERE: -- AND, OR, NOT -- Parentheses are supported: ( ... ) - -Supported node fields: -- id, type, label, description, technology, parentId, external - -Supported relation fields: -- id, sourceId, targetId, label, technology, - source.label, source.type, target.label, target.type - -Supported view fields: -- id, name - -Examples: -- { "op": "query_model", "query": "LIST TECHNOLOGIES" } -- { "op": "query_model", "query": "LIST NODES WHERE label ~ "auth" OR technology ~ "oauth" LIMIT 5" } -- { "op": "query_model", "query": "LIST RELATIONS WHERE NOT technology = "SQL"" } -- { "op": "query_model", "query": "GET NEIGHBORS OF node-123 DEPTH 2" } -- { "op": "query_model", "query": "GET DEPENDENTS OF database-1 DEPTH 4" }`.trim(),x$=s=>{const u=s.trim();return u.startsWith('"')&&u.endsWith('"')||u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u},gwn=s=>{const u=x$(s);return/^true$/i.test(u)?!0:/^false$/i.test(u)?!1:/^null$/i.test(u)?null:u};function wwn(s,u){if(u.op==="~")return s==null?!1:String(s).toLowerCase().includes(String(u.value).toLowerCase());if(u.value===null){const g=s==null||s==="";return u.op==="="?g:!g}if(typeof u.value=="boolean")return u.op==="="?s===u.value:s!==u.value;const f=s==null?"":String(s),d=String(u.value);return u.op==="="?f===d:f!==d}function bwn(s){const u=[];let f=0;for(;f=s.length)throw new Error("Unterminated string in WHERE clause");f++,u.push({kind:"string",value:w});continue}const g=s.slice(f).match(/^[A-Za-z0-9_.-]+/);if(g){const m=g[0],w=m.toUpperCase();w==="AND"||w==="OR"||w==="NOT"?u.push({kind:"logic",value:w}):u.push({kind:"ident",value:m}),f+=m.length;continue}throw new Error(`Unexpected token in WHERE clause near: ${s.slice(f)}`)}return u}function mwn(s){if(!s)return null;const u=bwn(s);let f=0;const d=()=>{const T=u[f];if(!T)throw new Error("Expected value in WHERE clause");if(T.kind==="string"||T.kind==="ident")return f++,gwn(T.value);throw new Error("Expected value in WHERE clause")},g=()=>{const T=u[f];if(!T)throw new Error("Unexpected end of WHERE clause");if(T.kind==="lparen"){f++;const I=S();if(!u[f]||u[f].kind!=="rparen")throw new Error("Expected closing parenthesis in WHERE clause");return f++,I}if(T.kind!=="ident")throw new Error("Expected field name in WHERE clause");const P=T.value;f++;const O=u[f];if(!O||O.kind!=="op")throw new Error(`Expected operator after field ${P}`);return f++,{kind:"condition",condition:{field:P,op:O.value,value:d()}}},m=()=>{const T=u[f];return(T==null?void 0:T.kind)==="logic"&&T.value==="NOT"?(f++,{kind:"not",expr:m()}):g()},w=()=>{let T=m(),P=u[f];for(;(P==null?void 0:P.kind)==="logic"&&P.value==="AND";)f++,T={kind:"and",left:T,right:m()},P=u[f];return T},S=()=>{let T=w(),P=u[f];for(;(P==null?void 0:P.kind)==="logic"&&P.value==="OR";)f++,T={kind:"or",left:T,right:w()},P=u[f];return T},N=S();if(f!==u.length)throw new Error("Unexpected trailing tokens in WHERE clause");return N}function TC(s,u,f){if(!s)return!0;switch(s.kind){case"condition":return wwn(f(u,s.condition.field),s.condition);case"and":return TC(s.left,u,f)&&TC(s.right,u,f);case"or":return TC(s.left,u,f)||TC(s.right,u,f);case"not":return!TC(s.expr,u,f)}}function X4e(s,u,f){return u?s.filter(d=>TC(u,d,f)):s}function A5e(s,u){const f=new Set;for(const d of s.nodeIds){let g=d;for(;g&&u[g]&&!f.has(g);)f.add(g),g=u[g].parentId??void 0}return f}function m9(s){return{id:s.id,type:s.type,label:s.label,description:s.description??null,technology:s.technology??null,parentId:s.parentId??null,external:s.external??!1}}function l$(s,u){const f=u[s.sourceId],d=u[s.targetId];return{id:s.id,sourceId:s.sourceId,sourceLabel:(f==null?void 0:f.label)??null,sourceType:(f==null?void 0:f.type)??null,targetId:s.targetId,targetLabel:(d==null?void 0:d.label)??null,targetType:(d==null?void 0:d.type)??null,label:s.label??null,technology:s.technology??null}}function vxt(s,u,f){const d=A5e(s,u),g=new Set(s.hiddenRelationIds??[]),m=Object.values(f).filter(w=>d.has(w.sourceId)&&d.has(w.targetId)&&!g.has(w.id)).length;return{id:s.id,name:s.name,nodeCount:d.size,relationCount:m,hiddenRelationCount:g.size}}function vwn(s,u){switch(u){case"id":return s.id;case"type":return s.type;case"label":return s.label;case"description":return s.description??null;case"technology":return s.technology??null;case"parentId":return s.parentId??null;case"external":return s.external??!1;default:throw new Error(`Unsupported node field: ${u}`)}}function ywn(s,u,f){const d=f[s.sourceId],g=f[s.targetId];switch(u){case"id":return s.id;case"sourceId":return s.sourceId;case"targetId":return s.targetId;case"label":return s.label??null;case"technology":return s.technology??null;case"source.label":return(d==null?void 0:d.label)??null;case"source.type":return(d==null?void 0:d.type)??null;case"target.label":return(g==null?void 0:g.label)??null;case"target.type":return(g==null?void 0:g.type)??null;default:throw new Error(`Unsupported relation field: ${u}`)}}function xwn(s,u){switch(u){case"id":return s.id;case"name":return s.name;default:throw new Error(`Unsupported view field: ${u}`)}}function J4e(s,u){const f=s.match(new RegExp(`^LIST\\s+${u}(?:\\s+WHERE\\s+(.+?))?(?:\\s+LIMIT\\s+(\\d+))?$`,"i"));if(!f)return null;const d=f[2]?Number(f[2]):null;if(d!==null&&(!Number.isInteger(d)||d<1))throw new Error("LIMIT must be a positive integer");return{expr:mwn(f[1]),limit:d}}function Y4e(s,u){const f=s.match(new RegExp(`^${u}\\s+(.+?)(?:\\s+DEPTH\\s+(\\d+))?$`,"i"));if(!f)return null;const d=f[2]?Number(f[2]):1;if(!Number.isInteger(d)||d<1)throw new Error("DEPTH must be a positive integer");return{id:x$(f[1]),depth:d}}function Q4e(s,u,f){const d=new Set([s]),g=new Map,m=[{id:s,depth:0}];for(;m.length>0;){const w=m.shift();if(!(w.depth>=u))for(const S of f(w.id)){if(d.has(S))continue;d.add(S);const N=w.depth+1;g.set(S,N),m.push({id:S,depth:N})}}return g}function Z4e(s,u,f,d){const g=[...u.entries()].map(([S,N])=>({id:S,depth:N,node:f[S]})).filter(S=>!!S.node).sort((S,N)=>S.depth-N.depth||S.node.label.localeCompare(N.node.label)||S.id.localeCompare(N.id)).map(({node:S,depth:N})=>({node:m9(S),depth:N})),m=new Set(u.keys()),w=d.filter(S=>S.sourceId===s&&m.has(S.targetId)||S.targetId===s&&m.has(S.sourceId)||m.has(S.sourceId)&&m.has(S.targetId)).sort((S,N)=>S.id.localeCompare(N.id)).map(S=>l$(S,f));return{nodeId:s,total:g.length,neighbors:g.map(S=>S.node),rows:g,relations:w}}function kwn(s,u){const f=s.trim(),d=f.toUpperCase(),g=u.views??{},m=Object.values(u.relations),w=J4e(f,"NODES");if(w){const _=X4e(Object.values(u.nodes).sort((R,B)=>R.label.localeCompare(B.label)||R.id.localeCompare(B.id)),w.expr,vwn),F=w.limit?_.slice(0,w.limit):_;return{query:f,command:"LIST NODES",result:{total:_.length,rows:F.map(m9)}}}const S=J4e(f,"RELATIONS");if(S){const _=X4e(m.slice().sort((R,B)=>R.id.localeCompare(B.id)),S.expr,(R,B)=>ywn(R,B,u.nodes)),F=S.limit?_.slice(0,S.limit):_;return{query:f,command:"LIST RELATIONS",result:{total:_.length,rows:F.map(R=>l$(R,u.nodes))}}}const N=J4e(f,"VIEWS");if(N){const _=X4e(Object.values(g).sort((R,B)=>R.name.localeCompare(B.name)||R.id.localeCompare(B.id)),N.expr,xwn),F=N.limit?_.slice(0,N.limit):_;return{query:f,command:"LIST VIEWS",result:{total:_.length,rows:F.map(R=>vxt(R,u.nodes,u.relations))}}}if(d==="LIST TECHNOLOGIES"){const _=new Map;for(const R of Object.values(u.nodes)){if(!R.technology)continue;const B=R.technology,G=_.get(B)??{technology:B,nodeCount:0,relationCount:0};G.nodeCount++,_.set(B,G)}for(const R of m){if(!R.technology)continue;const B=R.technology,G=_.get(B)??{technology:B,nodeCount:0,relationCount:0};G.relationCount++,_.set(B,G)}const F=[..._.values()].sort((R,B)=>R.technology.localeCompare(B.technology));return{query:f,command:"LIST TECHNOLOGIES",result:{total:F.length,rows:F}}}if(d==="STATS MODEL"){const _=Object.values(u.nodes).reduce((F,R)=>(F[R.type]=(F[R.type]??0)+1,F),{});return{query:f,command:"STATS MODEL",result:{nodeCount:Object.keys(u.nodes).length,relationCount:m.length,viewCount:Object.keys(g).length,typeCounts:_}}}const T=f.match(/^GET\s+NODE\s+(.+)$/i);if(T){const _=x$(T[1]),F=u.nodes[_];if(!F)throw new Error(`Unknown node id: ${_}`);const R=Object.values(u.nodes).filter(ne=>ne.parentId===_).sort((ne,Y)=>ne.label.localeCompare(Y.label)||ne.id.localeCompare(Y.id)).map(m9),B=m.filter(ne=>ne.targetId===_).map(ne=>l$(ne,u.nodes)),G=m.filter(ne=>ne.sourceId===_).map(ne=>l$(ne,u.nodes)),z=[];let Q=F.parentId?u.nodes[F.parentId]:void 0;for(;Q;)z.unshift(m9(Q)),Q=Q.parentId?u.nodes[Q.parentId]:void 0;const te=Object.values(g).filter(ne=>A5e(ne,u.nodes).has(_)).map(ne=>({id:ne.id,name:ne.name})).sort((ne,Y)=>ne.name.localeCompare(Y.name)||ne.id.localeCompare(Y.id));return{query:f,command:"GET NODE",result:{node:m9(F),ancestors:z,children:R,incoming:B,outgoing:G,views:te}}}const P=f.match(/^GET\s+VIEW\s+(.+)$/i);if(P){const _=x$(P[1]),F=g[_];if(!F)throw new Error(`Unknown view id: ${_}`);const R=A5e(F,u.nodes),B=new Set(F.hiddenRelationIds??[]),G=[...R].map(Q=>u.nodes[Q]).filter(Q=>!!Q).sort((Q,te)=>Q.label.localeCompare(te.label)||Q.id.localeCompare(te.id)).map(m9),z=m.filter(Q=>R.has(Q.sourceId)&&R.has(Q.targetId)&&!B.has(Q.id)).map(Q=>l$(Q,u.nodes));return{query:f,command:"GET VIEW",result:{view:vxt(F,u.nodes,u.relations),nodes:G,relations:z}}}const O=f.match(/^GET\s+CHILDREN\s+OF\s+(.+)$/i);if(O){const _=x$(O[1]);if(!u.nodes[_])throw new Error(`Unknown node id: ${_}`);const F=Object.values(u.nodes).filter(R=>R.parentId===_).sort((R,B)=>R.label.localeCompare(B.label)||R.id.localeCompare(B.id)).map(m9);return{query:f,command:"GET CHILDREN OF",result:{total:F.length,rows:F}}}const I=Y4e(f,"GET\\s+NEIGHBORS\\s+OF");if(I){const _=I.id;if(!u.nodes[_])throw new Error(`Unknown node id: ${_}`);const F=Q4e(_,I.depth,R=>m.filter(B=>B.sourceId===R||B.targetId===R).map(B=>B.sourceId===R?B.targetId:B.sourceId));return{query:f,command:"GET NEIGHBORS OF",result:Z4e(_,F,u.nodes,m)}}const C=Y4e(f,"GET\\s+DEPENDENCIES\\s+OF");if(C){const _=C.id;if(!u.nodes[_])throw new Error(`Unknown node id: ${_}`);const F=Q4e(_,C.depth,R=>m.filter(B=>B.sourceId===R).map(B=>B.targetId));return{query:f,command:"GET DEPENDENCIES OF",result:Z4e(_,F,u.nodes,m)}}const M=Y4e(f,"GET\\s+DEPENDENTS\\s+OF");if(M){const _=M.id;if(!u.nodes[_])throw new Error(`Unknown node id: ${_}`);const F=Q4e(_,M.depth,R=>m.filter(B=>B.targetId===R).map(B=>B.sourceId));return{query:f,command:"GET DEPENDENTS OF",result:Z4e(_,F,u.nodes,m)}}throw new Error(`Unsupported query: ${f}`)}function jwn(s){return JSON.stringify(s,null,2)}const Swn=["person","system","container","component","database","webapp","queue"],Ewn=`You are a C4 architecture diagram editor embedded in the Radical Diagram tool. - -Your job is to take the user's request and return a JSON patch describing the -changes to apply to the diagram, OR — when the user asks a question about the -model — a detailed text answer in the "summary" field with no ops. - -ALWAYS return ONLY a single JSON object — no prose, no Markdown fences. -The object must have this exact shape: - -{ - "summary": "", - "operations": [ , , ... ] -} - -Each must be one of: - - { "op": "add_node", "tempId": "t1", "type": "", "label": "