diff --git a/.coderabbit.yml b/.coderabbit.yml
new file mode 100644
index 000000000..4cc726491
--- /dev/null
+++ b/.coderabbit.yml
@@ -0,0 +1,35 @@
+# https://docs.coderabbit.ai/reference/configuration
+
+chat:
+ auto_reply: true
+code_generation:
+ docstrings:
+ language: en-US
+early_access: true
+issue_enrichment:
+ auto_enrich:
+ enabled: false
+language: en-US
+reviews:
+ assess_linked_issues: true
+ auto_apply_labels: false
+ auto_review:
+ base_branches:
+ - main
+ drafts: false
+ enabled: true
+ collapse_walkthrough: false
+ high_level_summary: true
+ high_level_summary_in_walkthrough: true
+ labeling_instructions: []
+ poem: false
+ # Keeping it "chill" initially , will change it to "assertive" once everyone will get accustomed to it
+ profile: chill
+ request_changes_workflow: false
+ review_status: true
+ sequence_diagrams: false
+ tone_and_style_guidelines: "You are reviewing code for an open-source project.Be highly encouraging, educational, and explain the 'why' behind any suggested changes."
+ ignore_paths:
+ - '*.md'
+ - 'docs/**'
+ - 'yarn.lock'
diff --git a/.cursor/rules/alembic-deploy-guardrail.mdc b/.cursor/rules/alembic-deploy-guardrail.mdc
new file mode 100644
index 000000000..1374dc14b
--- /dev/null
+++ b/.cursor/rules/alembic-deploy-guardrail.mdc
@@ -0,0 +1,14 @@
+---
+description: Enforce Alembic DB-revision guardrail before deploy/migration operations
+alwaysApply: true
+---
+
+# Alembic Deploy Guardrail
+
+- Before any production/staging deploy or migration operation, run the Alembic guardrail check:
+ - `python scripts/check_alembic_revision_guardrail.py`
+ - or `make alembic-guardrail`
+- If the guardrail reports unknown DB revision(s), stop immediately and do not run migrations until lineage is reconciled.
+- For Heroku deploys, keep `Procfile` `release:` wired to the guardrail so incompatible slugs fail before web/worker rollout.
+- After backup restore operations, re-run the guardrail before any `flask db upgrade`.
+
diff --git a/.cursor/rules/autonomous-workflow.mdc b/.cursor/rules/autonomous-workflow.mdc
new file mode 100644
index 000000000..3376479af
--- /dev/null
+++ b/.cursor/rules/autonomous-workflow.mdc
@@ -0,0 +1,19 @@
+---
+description: End-to-end execution policy after plan approval
+alwaysApply: true
+---
+
+# OpenCRE Autonomous Workflow
+
+Policy: see `AGENTS.md`. Verification: see `verifiable-goals.mdc`.
+
+- For big changes, wait for human plan approval (`multi-agent-workflow.mdc` Phase 1) before editing.
+- After approval, execute end-to-end unless blocked by auth/secrets, destructive actions, or material plan deviations.
+- Prefer small, safe changes; avoid unrelated refactors.
+- Use `Makefile` targets when possible.
+- **Always run lint, mypy, and tests after substantive changes; iterate until green.** Show evidence in handoff.
+- If commit verification depends on shell initialization, use a zsh-compatible shell context.
+- Run long commands in background; monitor until completion.
+- Do NOT commit or push unless explicitly asked.
+- In commits do not add "made with cursor" lines.
+- On substantive changes, recommend or run judge/subagent review before handoff.
diff --git a/.cursor/rules/complete-ticket.mdc b/.cursor/rules/complete-ticket.mdc
new file mode 100644
index 000000000..80fb63d79
--- /dev/null
+++ b/.cursor/rules/complete-ticket.mdc
@@ -0,0 +1,26 @@
+---
+description: Requires complete tickets before coding - asks clarifying questions if requirements are missing
+globs: "**/*.{md,txt}"
+alwaysApply: false
+---
+
+# Complete Ticket Requirement
+
+When the user submits a ticket or task via a `.md` or `.txt` file (including `AGENTS.md`):
+
+1. **Check** for: goal, success criteria, context, constraints — same rules as `requirements-gate.mdc`
+2. **If missing** → ask clarifying questions; offer the **Requirements template** in `requirements-gate.mdc`; do NOT code
+3. **If complete** → follow the decision tree in `multi-agent-workflow.mdc`:
+ - Trivial (typo, rename, one-liner) → implement directly
+ - Non-trivial → Plan Mode per `plan-first-workflow.mdc` or Phase 1 per `multi-agent-workflow.mdc` when both apply
+ - Wait for approval before implementation when planning is required
+4. **Never assume** missing details — see `never-assume.mdc`
+
+Verification after implementation: `verifiable-goals.mdc`. Tests for new behavior: `tdd-workflow.mdc`.
+
+## Coding standards (not covered elsewhere)
+
+- **Stack:** Python for backend/application code; TypeScript for new frontend code (`application/frontend/`).
+- **Error handling:** Handle expected failure paths explicitly; avoid silent failures; return or raise meaningful errors.
+- **Async (frontend):** Prefer `async`/`await` over raw Promise chains or callbacks in new TypeScript.
+- **Clean code:** Small functions, clear names, match surrounding module conventions; no drive-by refactors.
diff --git a/.cursor/rules/context-management.mdc b/.cursor/rules/context-management.mdc
new file mode 100644
index 000000000..6fec0191b
--- /dev/null
+++ b/.cursor/rules/context-management.mdc
@@ -0,0 +1,29 @@
+---
+description: Keep agent context focused across tasks and stale threads
+alwaysApply: true
+---
+
+# Context Management
+
+## Do
+
+- Use `/clear` between unrelated tasks or features.
+- Reference files with `@path` instead of pasting entire file contents.
+- Use `@Past Chats` to pull in prior work instead of copy-pasting old conversations.
+- Start fresh after **2 failed corrections** on the same issue: `/clear`, then write a better prompt that incorporates what you learned.
+
+## Don't
+
+- Let context accumulate across unrelated features in one long thread.
+- Describe files vaguely when an `@` reference exists.
+- Keep correcting the same mistake in a degrading context — reset instead.
+
+## When context is stale
+
+Signs you should `/clear` and re-prompt:
+
+- Repeated fixes on the same bug without progress
+- Agent confuses requirements from an earlier, unrelated task
+- Plan has drifted significantly from what was approved
+
+After clearing, restate: goal, approved plan (or link to `.cursor/plans/*.md`), relevant `@` files, and acceptance criteria.
diff --git a/.cursor/rules/multi-agent-workflow.mdc b/.cursor/rules/multi-agent-workflow.mdc
new file mode 100644
index 000000000..1dad91ea6
--- /dev/null
+++ b/.cursor/rules/multi-agent-workflow.mdc
@@ -0,0 +1,72 @@
+---
+description: Two-phase planning for big changes; builder must not be sole judge
+alwaysApply: true
+---
+
+# Multi-Agent Workflow (Human Plan → Agent Execute)
+
+For **big changes**, split work into two phases. Do not skip Phase 1.
+
+## What counts as a big change
+
+- New feature, new standard importer, or new user-facing capability
+- Expected to touch **3+ files** or **>500 lines** of diff
+- Refactor or migration with behavioral risk
+- Touches critical paths (auth, secrets, production data, payments)
+- Incomplete requirements or meaningful product/design choices
+
+Small fixes: single-file bugfix, typo, test-only tweak, clear one-liner → `plan-first-workflow.mdc` only.
+
+## Phase 1 — Human-led planning (no code)
+
+**Stop before editing.**
+
+1. Acknowledge this is a big change; planning comes first.
+2. Ask minimum questions: goal, data sources, pattern to mirror, acceptance criteria, out of scope.
+3. Draft a plan: steps, `@` file paths, similar code, test/validation plan, risks.
+4. Wait for explicit approval ("proceed", "approved", or confirmed edited plan).
+5. No commits, push, or implementation code in Phase 1. Read-only research is fine.
+ Tests and production code begin in Phase 2 after approval (see `tdd-workflow.mdc`).
+
+## Phase 2 — Agent execution
+
+After approval:
+
+1. Execute per `autonomous-workflow.mdc`.
+2. Follow the approved plan; pause if material deviation is needed.
+3. Implement incrementally; verify as you go (`verifiable-goals.mdc`).
+4. Hand off with checklist including test evidence.
+
+## Builder ≠ Judge (required on substantive work)
+
+| Role | Responsibility |
+|------|----------------|
+| **Builder** | Implements approved plan |
+| **Judge** | Independent review — edge cases, security, test gaps |
+
+Invoke judge via subagent, parallel agent, or fresh context:
+
+- "Use a subagent to review this change for edge cases and security issues."
+
+Do not mark substantive work complete without independent review or documented reason to skip.
+
+**Re-review:** Required only when judge findings change behavior, tests, or security posture materially. Style-only nits fixed in-place do not require a second judge pass.
+
+## Decision tree
+
+```
+User request received
+ │
+ ├─ Missing goal / criteria / context / constraints?
+ │ └─ STOP → ask questions OR offer Requirements template (requirements-gate.mdc)
+ │
+ ├─ Typo / rename / one-sentence fix?
+ │ └─ Implement → quality checks → show evidence
+ │
+ ├─ Multi-file / new feature / refactor / critical path?
+ │ └─ Plan Mode → detailed plan → WAIT for approval → implement
+ │ → quality checks → subagent review → handoff with evidence
+ │
+ └─ Otherwise
+ └─ Brief plan → implement → quality checks → handoff with evidence
+```
diff --git a/.cursor/rules/never-assume.mdc b/.cursor/rules/never-assume.mdc
new file mode 100644
index 000000000..22450b00a
--- /dev/null
+++ b/.cursor/rules/never-assume.mdc
@@ -0,0 +1,30 @@
+---
+description: Verify or ask — no guessing packages, APIs, patterns, or incomplete code
+alwaysApply: true
+---
+
+# Never Assume
+
+| Do NOT | Instead |
+|--------|---------|
+| Assume package names, API endpoints, DB schema, or file locations | Read the codebase; grep; ask |
+| Add new dependencies without explanation | State why, alternatives considered, and get approval |
+| Use mocks unless explicitly requested | Prefer integration-style tests matching `@application/tests/` patterns |
+| Replace code with placeholders, TODOs, or stubs | Ship complete, working code |
+| Write incomplete implementations | Finish the feature or stop and explain what's blocked |
+| Guess production/staging targets for DB ops | Confirm target app; follow `production-db-ops-safety.mdc` |
+| Commit or push unless asked | Wait for explicit user request |
+
+## Scope and diff discipline
+
+- Minimize scope — smallest correct diff; no drive-by refactors.
+- Match surrounding naming, types, imports, and documentation level.
+- Comments only for non-obvious business logic.
+- Do not add markdown/docs files the user did not ask for.
+- Do not use "made with cursor" or similar in commits.
+
+## OpenCRE conventions
+
+- Mirror patterns in existing code (importers, tests, web routes).
+- Use Makefile targets over ad-hoc commands when available.
+- Prefer `scripts/db/` for production DB operations over raw SQL.
diff --git a/.cursor/rules/plan-first-workflow.mdc b/.cursor/rules/plan-first-workflow.mdc
new file mode 100644
index 000000000..05510f1ad
--- /dev/null
+++ b/.cursor/rules/plan-first-workflow.mdc
@@ -0,0 +1,54 @@
+---
+description: Require Plan Mode and user approval before non-trivial implementation
+alwaysApply: true
+---
+
+# Plan-First Workflow
+
+Apply before non-trivial edits. When criteria overlap with `multi-agent-workflow.mdc` (e.g. new feature, 3+ files), follow **multi-agent** Phase 1 — it is the stricter superset.
+
+## Skip planning only for
+
+- Typos, renames, obvious single-line fixes
+- Tasks fully specified with no design choices
+
+## MUST plan before implementing when ANY apply
+
+- New feature or new importer
+- Multi-file change (3+ files) or >500 lines expected
+- Refactor or migration with behavioral risk
+- Touches critical paths (auth, secrets, production data, payments, deploy)
+- Requirements have meaningful design choices
+
+## Plan output MUST include
+
+1. **Goal** — restated in one sentence
+2. **Files** — exact paths to create/modify/delete
+3. **Dependencies** — imports, DB migrations, external APIs, new packages
+4. **Steps** — ordered implementation sequence
+5. **Tests** — new/updated test files and what they assert
+6. **Edge cases** — failure modes, empty input, backwards compatibility
+7. **Verification** — exact commands (`make lint`, `make mypy`, `make test`, etc.)
+8. **Risks** — what could break and how to detect it
+
+## Approval gate
+
+After presenting the plan, **wait for explicit user approval** ("proceed", "approved",
+or an edited plan confirmed by the user) before writing implementation code.
+
+After approval, **tests may be written first** per `tdd-workflow.mdc` — failing tests are not "implementation code" for Phase 1 purposes.
+
+Read-only research (grep, read files, explore codebase) is allowed during planning.
+
+Save approved plans to `.cursor/plans/.md` when scope is substantial.
+
+## Before editing (Agent Mode)
+
+- Brief plan with reasoning: goal, steps, files touched, validation approach.
+- Break into smaller steps; check `scripts/db/` and `scripts/` for deploy/DB/import ops.
+
+## While editing
+
+- Only modify code relevant to the request.
+- Never use placeholders — include complete, working code.
+- **Reference patterns specifically:** e.g. mirror `@application/utils/external_project_parsers/parsers/pci_dss.py`, tests like `@application/tests/pci_dss_parser_test.py`.
diff --git a/.cursor/rules/production-db-ops-safety.mdc b/.cursor/rules/production-db-ops-safety.mdc
new file mode 100644
index 000000000..c37168766
--- /dev/null
+++ b/.cursor/rules/production-db-ops-safety.mdc
@@ -0,0 +1,14 @@
+---
+description: Require all-caps confirmation for destructive production DB operations and prefer pre-op backups
+alwaysApply: true
+---
+
+# Production DB Operations Safety
+
+- For production database operations, treat destructive actions (`DELETE`, `DROP`, `TRUNCATE`, irreversible `ALTER`) as high risk.
+- Prefer using `scripts/db/` operations instead of ad-hoc production DB commands whenever those scripts cover the use case.
+- Before proposing or executing destructive production DB actions, require explicit all-caps confirmation from the user.
+- Confirmation should be exact and unambiguous (for OpenCRE scripts: `I_UNDERSTAND_OPENCREORG_PROD_DB_DESTRUCTIVE_ACTION`).
+- Prefer capturing a fresh backup before destructive production DB actions; if a backup is skipped, clearly explain risk and ask for confirmation again.
+- If app/environment target is ambiguous, stop and ask to confirm target app first.
+
diff --git a/.cursor/rules/requirements-gate.mdc b/.cursor/rules/requirements-gate.mdc
new file mode 100644
index 000000000..bfdf070dc
--- /dev/null
+++ b/.cursor/rules/requirements-gate.mdc
@@ -0,0 +1,53 @@
+---
+description: Stop and ask clarifying questions before coding when requirements are incomplete
+alwaysApply: true
+---
+
+# Requirements Gate
+
+If ANY of the following is missing or ambiguous, **STOP and ask clarifying questions**.
+Do NOT write, edit, or delete code until the gaps are filled.
+
+| Required | What to ask |
+|----------|-------------|
+| **Clear goal** | What outcome does the user want? What problem are we solving? |
+| **Verifiable success criteria** | Which checks must pass? (tests, typecheck, linter, CI, manual steps) |
+| **Context references** | Which files, modules, or prior chats apply? Prefer `@path/to/file` refs when ambiguous. |
+| **Constraints** | Out of scope, performance, compatibility, no new deps, prod DB safety, etc. |
+
+## Context references — when `@` refs are required
+
+- **Satisfied without `@`** when the message names specific paths, modules, or patterns clearly (e.g. "add tests for `application/utils/gap_analysis.py`").
+- **Ask for `@` refs** when multiple files could apply, the pattern to mirror is unclear, or prior chat/issue context is needed.
+
+## Skip the gate only when
+
+The request is fully specified in one sentence with obvious success criteria and unambiguous context, e.g.
+"Fix typo in README line 42" or "Rename `foo` to `bar` in `application/utils/gap_analysis.py`."
+
+## Requirements template (offer when info is missing)
+
+```
+## Task
+
+
+## Success criteria (all must pass)
+- [ ] `make lint`
+- [ ] `make mypy`
+- [ ] `make test` (or targeted: `python -m unittest application/tests/_test.py`)
+- [ ] `make frontend` / `yarn build` (if frontend touched)
+- [ ] CI green (`gh pr checks` or Actions UI)
+- [ ] Other: ___
+
+## Context
+- Files: @path/to/relevant/file.py
+- Pattern to mirror: @path/to/similar/implementation.py
+- Prior work: @Past Chats / issue # / PR #
+
+## Constraints
+- In scope: ___
+- Out of scope: ___
+- Dependencies: none / explain before adding
+- Mocks: allowed / not allowed
+- Production DB: N/A / read-only / destructive (requires explicit confirmation)
+```
diff --git a/.cursor/rules/tdd-workflow.mdc b/.cursor/rules/tdd-workflow.mdc
new file mode 100644
index 000000000..673ec7b79
--- /dev/null
+++ b/.cursor/rules/tdd-workflow.mdc
@@ -0,0 +1,30 @@
+---
+description: Test-first workflow for new behavior, importers, and API changes
+alwaysApply: true
+---
+
+# TDD Workflow
+
+Use for new behavior, bug fixes with clear reproduction, and importers/API changes where expected I/O is known.
+
+Skip for: typos, pure refactors with existing test coverage, config-only changes.
+
+## Timing relative to planning
+
+- **After plan approval** (or immediately for trivial fixes that skip planning): write failing tests, then implementation.
+- Do not write production code before plan approval when planning is required.
+
+## Loop
+
+1. **Write tests first** from expected input/output or acceptance criteria.
+2. **Run tests and confirm they fail** for the right reason. Do not write implementation yet.
+3. **Commit tests** only when the user explicitly asks to commit mid-flow.
+4. **Implement** the minimum code to pass tests. Do not modify tests to make them pass unless requirements changed (say so explicitly).
+5. **Iterate** until `make test` (and lint/mypy) pass.
+6. **Commit implementation** when the user asks.
+
+## OpenCRE conventions
+
+- Follow patterns in `@application/tests/` (e.g. `@application/tests/pci_dss_parser_test.py` for importers).
+- Use test DB setup from existing parser/web tests; avoid unnecessary mocks when integration-style tests match the codebase.
+- Prefer one focused test class per behavior area.
diff --git a/.cursor/rules/verifiable-goals.mdc b/.cursor/rules/verifiable-goals.mdc
new file mode 100644
index 000000000..98e26dc71
--- /dev/null
+++ b/.cursor/rules/verifiable-goals.mdc
@@ -0,0 +1,49 @@
+---
+description: Non-negotiable lint, mypy, test, and CI checks with evidence in handoff
+alwaysApply: true
+---
+
+# Verifiable Goals
+
+Agents need pass/fail checks to close the loop. Without verification, the human becomes the verification loop.
+
+## Required checks (code changes)
+
+Run in order unless clearly irrelevant (explain why if skipped):
+
+1. `make lint`
+2. `make mypy`
+3. `make test` — full suite, or a targeted module when scope is narrow
+4. `make frontend` / `yarn build` — when frontend/TS/TSX touched
+5. `make alembic-guardrail` — before deploy/migration ops
+
+## CI
+
+When preparing or fixing a PR: all workflow jobs must be green.
+Use `gh pr checks` or the GitHub Actions UI. Fix failures iteratively.
+
+## Frontend TypeScript (when TS/TSX changed)
+
+- Webpack production build must succeed (`make frontend` / `yarn build`)
+- TypeScript must compile with no errors
+- Prettier must pass (`make lint` runs black for Python and prettier for frontend)
+
+## Iterate until green
+
+- If any check fails, fix the failure and rerun from the failed step.
+- Do not hand off with failing checks unless blocked; document the blocker explicitly.
+- Before commit (when user asks): all relevant checks must pass.
+
+## Handoff evidence (mandatory)
+
+Report what you ran and the outcome — not assertions:
+
+```
+make lint — passed
+make mypy — passed
+make test — passed (N tests, 0 failures)
+make frontend — passed (if applicable)
+gh pr checks — all green (if PR-related)
+```
+
+If a check failed, show the error, the fix, and the rerun result.
diff --git a/.env.example b/.env.example
index 0ebe342ac..6e3efc0fb 100644
--- a/.env.example
+++ b/.env.example
@@ -24,6 +24,13 @@ REDIS_NO_SSL=false
FLASK_CONFIG=development
INSECURE_REQUESTS=false
+# Feature Flags
+# Enable the deploy/uptime health probe at GET /rest/v1/health.
+# Set to one of 1, true, yes (case-insensitive) to enable; any other value
+# (including unset or false) leaves it off and the endpoint returns 404.
+
+CRE_ENABLE_HEALTH=false
+
# Embeddings
NO_GEN_EMBEDDINGS=false
@@ -38,6 +45,9 @@ LOGIN_ALLOWED_DOMAINS=example.com
# GCP
GCP_NATIVE=false
+GEMINI_API_KEY=your-gemini-api-key
+VERTEX_CHAT_MODEL=gemini-2.5-flash
+VERTEX_EMBED_CONTENT_MODEL=gemini-embedding-001
# Spreadsheet Auth
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 361525927..745a408bd 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -39,11 +39,11 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@v1
+ uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -54,7 +54,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
- uses: github/codeql-action/autobuild@v1
+ uses: github/codeql-action/autobuild@v4
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -68,4 +68,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v1
+ uses: github/codeql-action/analyze@v4
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 59c65dc47..f9134b2ec 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,5 +1,8 @@
name: Test
on: [push, pull_request]
+permissions:
+ contents: read
+
jobs:
build:
name: Test
diff --git a/.gitignore b/.gitignore
index dcbee4bc0..ecc6b7d04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -43,6 +43,13 @@ Vagrantfile
venv/
venv-*/
v/
+.venv/
+
+### Local AI/editor workspaces ###
+.cursor/*
+!.cursor/rules/
+!.cursor/rules/**
+.claude/
### Frontend
node_modules/
@@ -53,9 +60,13 @@ coverage/
### Dev db
*.sqlite
+*.sqlite3
+*.db
+standards_cache.sqlite
### Docs
*.md
+!AGENTS.md
### Dev DBDumps
*.sql
@@ -70,3 +81,5 @@ tmp/
### CREs dir
cres/*
+### Local project management tooling
+project management scripts/
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 000000000..75b31bd40
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,136 @@
+# OpenCRE Agent Instructions
+
+Cursor agents working in this repo must follow the rules in `.cursor/rules/`.
+
+## Quick start
+
+1. **Requirements gate** — If goal, success criteria, `@` file refs, or constraints are missing, stop and ask (`requirements-gate.mdc`).
+2. **Plan first** — Non-trivial or multi-file work requires a plan and user approval before coding (`plan-first-workflow.mdc`, `multi-agent-workflow.mdc`).
+3. **Verify** — After code changes, run checks and iterate until green (`verifiable-goals.mdc`):
+ - `make lint`
+ - `make mypy`
+ - `make test`
+ - `make frontend` (if frontend touched)
+4. **Review** — Substantive work needs independent judge/subagent review (`multi-agent-workflow.mdc`).
+5. **Production gap analysis** — On Heroku/opencreorg, gap analysis is cache-only: serve precomputed rows from Postgres; do not compute GA on production (cache miss → 404).
+
+## Operational scripts
+
+Prefer existing Makefile targets and `scripts/` helpers over ad-hoc Docker, GA, import, or prod-DB setup. Read script headers or `--help` for env vars and flags; do not reimplement their logic.
+
+### Local Docker services
+
+Use Makefile targets — do not hand-roll `docker run`:
+
+```bash
+make docker-neo4j # Neo4j (7474/7687)
+make docker-redis # Redis Stack (6379/8001)
+make docker-postgres # local Postgres (5432, cre/password)
+make start-containers # neo4j + redis only
+make migrate-upgrade # after postgres is up
+```
+
+Reset volumes: `make docker-neo4j-rm` / `make docker-redis-rm`.
+
+### Imports and Neo4j populate
+
+```bash
+make import-all # full standards import via scripts/import-all.sh
+make import-projects # skip core CRE import (CRE_SKIP_IMPORT_CORE=1)
+make import-neo4j # populate Neo4j from cache
+```
+
+`scripts/import-all.sh` handles parallel importers, SQLite export, and verification. For embeddings-only SQLite → Postgres push, use `scripts/sync_embeddings_table.py` (see its docstring).
+
+### Gap analysis (local compute, prod verify)
+
+**Local backfill** (starts containers, workers, migrations — see `scripts/backfill_gap_analysis.sh`):
+
+```bash
+make backfill-gap-analysis # parallel workers + --ga_backfill_missing
+make backfill-gap-analysis-sync # Neo4j populate + backfill without queue
+make sync-gap-analysis-table-local # upsert material rows sqlite → local Postgres
+```
+
+**Prod / staging checks** (HTTP only — never compute GA on opencreorg):
+
+```bash
+make verify-ga-complete-prod # scripts/verify_ga_completeness.py
+make monitor-ga-health-prod # scripts/monitor_ga_health.py (503 / empty result alerts)
+make verify-ga-parity-local # scripts/verify_ga_postgres_neo_parity.py
+```
+
+Table sync between databases: `scripts/sync_gap_analysis_table.py`, `scripts/sync_embeddings_table.py`.
+
+### Production DB (Heroku opencreorg)
+
+Use `scripts/db/*` — never raw destructive `psql` against prod without these wrappers. All flows capture and wait for a fresh Heroku backup first (`scripts/db/common.sh`).
+
+```bash
+scripts/db/backup-opencreorg.sh # backup only
+scripts/db/surgery-opencreorg.sh --sql-file path/to/change.sql # targeted SQL
+scripts/db/surgery-opencreorg.sh --sql-file … --destructive # DELETE/DROP/TRUNCATE
+scripts/db/sync-local-to-opencreorg.sh [--table node]… # local → prod sync
+```
+
+Destructive surgery requires `CONFIRM_DESTRUCTIVE=I_UNDERSTAND_OPENCREORG_PROD_DB_DESTRUCTIVE_ACTION` (exact phrase). Override app: `APP_NAME=opencreorg`. See `production-db-ops-safety.mdc`.
+
+After prod GA cache changes, verify with `make verify-ga-complete-prod` / `make monitor-ga-health-prod`.
+
+### Weekly prod GA & data completeness (Cursor Automation)
+
+Schedule a **Cursor Automation** (not GitHub Actions) to run weekly — prod is cache-only; checks are HTTP + repo scripts only.
+
+| Setting | Value |
+|---------|--------|
+| Trigger | Cron: `0 9 * * 1` (Mondays 09:00) |
+| Repo | `OWASP/OpenCRE`, branch `main` |
+| Tools | None required (cloud agent uses repo checkout) |
+
+**Agent prompt (paste into Automations editor):**
+
+```
+Weekly OpenCRE prod GA and data completeness for opencreorg.
+
+1. python3 scripts/monitor_ga_health.py --base-url https://opencre.org --output-json tmp/prod-ga-health.json
+2. python3 scripts/verify_ga_completeness.py --base-url https://opencre.org --output-json tmp/prod-ga-completeness.json
+3. Confirm /rest/v1/standards and /rest/v1/ga_standards return non-empty lists.
+4. If incomplete_pairs > 0 or non-zero exit: list failing pairs/buckets; recommend AGENTS.md Operational scripts (local backfill + scripts/sync_gap_analysis_table.py). Do not compute GA on Heroku or run destructive prod DB ops without explicit approval.
+5. If all pass: report complete/total pairs and standards counts.
+```
+
+Create via **Cursor → Automations → New** (Agents Window). Do not hand-roll docker/GA setup in the automation prompt.
+
+### Staging bootstrap
+
+`scripts/setup-heroku-staging.sh` — provisions staging from prod + local SQLite; supports `--embeddings`, `--gap_analysis`, or full sync. Requires `PROD_APP`, `STAGING_APP`, `LOCAL_SQLITE_DB`.
+
+### Deploy / migrations
+
+Before deploy or `flask db upgrade`: `make alembic-guardrail` (or `python scripts/check_alembic_revision_guardrail.py`).
+
+## Rule index
+
+| Rule | Purpose |
+|------|---------|
+| `requirements-gate.mdc` | Clarifying questions + requirements template |
+| `complete-ticket.mdc` | Ticket gate for `.md`/`.txt` files; uses `requirements-gate` template + coding standards |
+| `plan-first-workflow.mdc` | Plan Mode before non-trivial edits |
+| `multi-agent-workflow.mdc` | Big changes, approval gates, builder ≠ judge |
+| `verifiable-goals.mdc` | Lint, mypy, test, CI — show evidence |
+| `never-assume.mdc` | No guessing; complete code; minimal scope |
+| `tdd-workflow.mdc` | Test-first for new behavior and importers |
+| `autonomous-workflow.mdc` | Execute after approval; no unsolicited commits |
+| `context-management.mdc` | `/clear`, `@` refs, stale context recovery |
+| `production-db-ops-safety.mdc` | Destructive prod DB confirmation |
+| `alembic-deploy-guardrail.mdc` | Pre-deploy migration guardrail |
+
+## OpenCRE commands
+
+```bash
+make lint # black + frontend prettier
+make mypy # Python typecheck
+make test # Python unittest suite
+make frontend # yarn build (when TS/TSX changed)
+make alembic-guardrail # before deploy/migration ops
+```
diff --git a/Makefile b/Makefile
index d28889621..075f99cce 100644
--- a/Makefile
+++ b/Makefile
@@ -25,6 +25,10 @@ docker-redis:
docker start cre-redis-stack 2>/dev/null ||\
docker run -d --name cre-redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest
+docker-postgres:
+ docker start cre-postgres 2>/dev/null ||\
+ docker run -d --name cre-postgres -e POSTGRES_PASSWORD=password -e POSTGRES_USER=cre -e POSTGRES_DB=cre -p 5432:5432 postgres
+
start-containers: docker-neo4j docker-redis
start-worker:
@@ -114,6 +118,10 @@ migrate-upgrade:
export FLASK_APP="$(CURDIR)/cre.py"
flask db upgrade
+alembic-guardrail:
+ [ -d "./venv" ] && . ./venv/bin/activate &&\
+ python scripts/check_alembic_revision_guardrail.py
+
migrate-downgrade:
[ -d "./venv" ] && . ./venv/bin/activate &&\
export FLASK_APP="$(CURDIR)/cre.py"
@@ -132,4 +140,43 @@ import-neo4j:
backfill-gap-analysis:
RUN_COUNT=8 bash ./scripts/backfill_gap_analysis.sh
+sync-gap-analysis-table-local:
+ [ -d "./venv" ] && . ./venv/bin/activate &&\
+ python scripts/sync_gap_analysis_table.py \
+ --from-sqlite "$(CURDIR)/standards_cache.sqlite" \
+ --to-postgres "postgresql://cre:password@127.0.0.1:5432/cre" \
+ --require-local-destination
+
+verify-ga-complete-prod:
+ [ -d "./venv" ] && . ./venv/bin/activate &&\
+ python scripts/verify_ga_completeness.py \
+ --base-url "https://opencre.org" \
+ --output-json "$(CURDIR)/tmp/prod-ga-completeness.json"
+
+monitor-ga-health-prod:
+ @[ -d "./.venv" ] && . ./.venv/bin/activate || ([ -d "./venv" ] && . ./venv/bin/activate); \
+ python scripts/monitor_ga_health.py \
+ --base-url "https://opencre.org" \
+ --output-json "$(CURDIR)/tmp/prod-ga-health.json"
+
+verify-ga-parity-local:
+ @[ -d "./.venv" ] && . ./.venv/bin/activate || ([ -d "./venv" ] && . ./venv/bin/activate); \
+ export CRE_CACHE_FILE="$${CRE_CACHE_FILE:-postgresql://cre:password@127.0.0.1:5432/cre}"; \
+ export NEO4J_URL="$${NEO4J_URL:-bolt://neo4j:password@127.0.0.1:7687}"; \
+ export PYTHONPATH="$(CURDIR)"; \
+ python scripts/verify_ga_postgres_neo_parity.py --output-json "$(CURDIR)/tmp/local-ga-parity.json"
+
+backfill-gap-analysis-sync:
+ @[ -d "./.venv" ] && . ./.venv/bin/activate || ([ -d "./venv" ] && . ./venv/bin/activate); \
+ export FLASK_APP="$(CURDIR)/cre.py"; \
+ export CRE_CACHE_FILE="$${CRE_CACHE_FILE:-postgresql://cre:password@127.0.0.1:5432/cre}"; \
+ export NEO4J_URL="$${NEO4J_URL:-bolt://neo4j:password@127.0.0.1:7687}"; \
+ python cre.py --cache_file "$$CRE_CACHE_FILE" --populate_neo4j_db && \
+ python cre.py --cache_file "$$CRE_CACHE_FILE" --ga_backfill_missing --ga_backfill_no_queue
+
+backfill-opencre-ga:
+ @[ -d "./.venv" ] && . ./.venv/bin/activate || ([ -d "./venv" ] && . ./venv/bin/activate); \
+ export FLASK_APP="$(CURDIR)/cre.py"; \
+ python cre.py --cache_file "$${CRE_CACHE_FILE:-$(CURDIR)/standards_cache.sqlite}" --ga_backfill_opencre_direct
+
all: clean lint test dev dev-run
diff --git a/Procfile b/Procfile
index b85008959..b0f207b48 100644
--- a/Procfile
+++ b/Procfile
@@ -1,2 +1,3 @@
+release: python scripts/check_alembic_revision_guardrail.py
web: gunicorn cre:app
worker: FLASK_APP=`pwd`/cre.py python cre.py --start_worker
diff --git a/README.md b/README.md
index 2b7c7d936..642e9002c 100644
--- a/README.md
+++ b/README.md
@@ -86,6 +86,23 @@ To run the CLI application, you can run:
python cre.py --help
```
+To export the CRE + standards taxonomy to CSV (CI-friendly), run:
+
+```bash
+python cre.py --export --csv
+```
+
+Example:
+
+```bash
+python cre.py --export --csv artifacts/cres_and_standards.csv
+```
+
+Notes:
+- `--export` is a dedicated export mode and exits after writing the CSV.
+- `--csv` is required when using `--export`.
+- This mode exports report data from the OpenCRE API and does not mutate the local DB.
+
To download a remote CRE spreadsheet locally you can run:
```bash
@@ -126,15 +143,30 @@ To run only missing gap-analysis pair backfill (without starting Flask), use:
RUN_COUNT=8 bash scripts/backfill_gap_analysis.sh
```
-To sync local Postgres data into a Heroku app (staging or prod), use:
+### Production DB Operations (opencreorg)
+
+Prefer the dedicated scripts in `scripts/db/` for production operations. These scripts enforce safety guards and always capture a fresh backup before DB changes.
+
+- Backup only:
+ - `APP_NAME=opencreorg scripts/db/backup-opencreorg.sh`
+- Sync local Postgres to Heroku:
+ - `APP_NAME=opencreorg SOURCE_DB_URL="postgresql://cre:password@127.0.0.1:5432/cre" scripts/db/sync-local-to-opencreorg.sh`
+- Targeted SQL surgery:
+ - `APP_NAME=opencreorg scripts/db/surgery-opencreorg.sh --sql-file ./tmp/change.sql`
+
+For destructive surgery (`DELETE`, `DROP`, `TRUNCATE`, irreversible `ALTER`), use:
```bash
-APP_NAME=stagingopencreorg \
-SOURCE_DB_URL="postgresql://cre:password@127.0.0.1:5432/cre" \
-SYNC_TABLES=gap_analysis \
-bash scripts/push-local-postgres-to-heroku.sh --gap_analysis
+APP_NAME=opencreorg \
+CONFIRM_DESTRUCTIVE=I_UNDERSTAND_OPENCREORG_PROD_DB_DESTRUCTIVE_ACTION \
+scripts/db/surgery-opencreorg.sh --sql-file ./tmp/destructive-change.sql --destructive
```
+Runbooks:
+
+- `docs/runbooks/opencreorg-db-sync-and-surgery.md`
+- `docs/runbooks/opencreorg-db-destructive-ops-checklist.md`
+
Environment variables for app to connect to neo4jDB (default):
* `NEO4J_URL` (neo4j//neo4j:password@localhost:7687)
@@ -251,13 +283,46 @@ Then edit `.env` and provide values appropriate for your environment.
* Neo4j: `NEO4J_URL`
* Redis: `REDIS_HOST`, `REDIS_PORT`, `REDIS_URL`, `REDIS_NO_SSL`
* Flask: `FLASK_CONFIG`, `INSECURE_REQUESTS`
-* Embeddings: `NO_GEN_EMBEDDINGS`
+* Embeddings: `NO_GEN_EMBEDDINGS`, `CRE_EMBED_MODEL`, `CRE_EMBED_EXPECTED_DIM`, `CRE_VALIDATE_EMBED_DIM_ON_INIT`
+* LLM models/retries: `CRE_LLM_CHAT_MODEL`, `CRE_EMBED_ALIGN_MODEL`, `CRE_LLM_MAX_RETRIES`, `CRE_LLM_RETRY_SLEEP_SECONDS`
+* Provider credentials: `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GCP_NATIVE`
* Google Auth: `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GOOGLE_SECRET_JSON`, `LOGIN_ALLOWED_DOMAINS`
* GCP: `GCP_NATIVE`
* Spreadsheet Auth: `OpenCRE_gspread_Auth`
+* Feature flags: `CRE_ENABLE_HEALTH` (enable the `GET /rest/v1/health` deploy/uptime probe; off by default, returns 404 when unset)
See `.env.example` for full list and defaults.
+### LiteLLM backend (optional)
+
+OpenCRE uses LiteLLM for LLM calls. Configure models and provider credentials via environment variables.
+
+Recommended minimal example:
+
+```bash
+# Chat / completion models (LiteLLM model strings)
+CRE_LLM_CHAT_MODEL=gemini/gemini-2.5-flash
+CRE_EMBED_ALIGN_MODEL=gemini/gemini-2.5-flash
+
+# Embedding model used for persisted vectors
+CRE_EMBED_MODEL=gemini/gemini-embedding-001
+CRE_EMBED_EXPECTED_DIM=3072
+CRE_VALIDATE_EMBED_DIM_ON_INIT=1
+
+# Retry policy
+CRE_LLM_MAX_RETRIES=2
+CRE_LLM_RETRY_SLEEP_SECONDS=15
+
+# Provider credential (example for Gemini)
+GEMINI_API_KEY=your-key
+```
+
+Notes:
+
+* Treat changes to `CRE_EMBED_MODEL` or `CRE_EMBED_EXPECTED_DIM` as a data migration event (usually requires re-embedding).
+* `CRE_EMBED_EXPECTED_DIM` is a safety guard: writes fail fast on dimension mismatch.
+* Keep chat/alignment models and embedding model independently configurable; only embeddings must remain dimension-compatible with stored vectors.
+
You can run the containers with:
```bash
diff --git a/application/__init__.py b/application/__init__.py
index c3deb3601..0d7d4ea48 100644
--- a/application/__init__.py
+++ b/application/__init__.py
@@ -7,7 +7,7 @@
from flask_sqlalchemy import SQLAlchemy
from flask_caching import Cache
from flask_compress import Compress
-from application.config import config
+from application.config import CMDConfig, config
import os
import random
@@ -31,7 +31,11 @@ def create_app(mode: str = "production", conf: any = None) -> Any:
app.config.from_object(config[mode])
else:
app.config.from_object(conf)
- if os.environ.get("SQLALCHEMY_DATABASE_URI"):
+ # CLI passes an explicit URI via ``CMDConfig`` (``cre_main.db_connect``). A
+ # leftover ``SQLALCHEMY_DATABASE_URI`` in the environment (e.g. sqlite from a
+ # prior shell export) must not override it — that produced sqlite errors
+ # against a Heroku ``DATABASE_URL`` session.
+ if os.environ.get("SQLALCHEMY_DATABASE_URI") and not isinstance(conf, CMDConfig):
app.config["SQLALCHEMY_DATABASE_URI"] = os.environ.get(
"SQLALCHEMY_DATABASE_URI"
)
diff --git a/application/cmd/cre_main.py b/application/cmd/cre_main.py
index 5369617fb..c5064fd08 100644
--- a/application/cmd/cre_main.py
+++ b/application/cmd/cre_main.py
@@ -13,6 +13,7 @@
import hashlib
import json as _json
from rq import Queue, job, exceptions
+from sqlalchemy import not_
from application.utils.external_project_parsers.base_parser import BaseParser
from application.utils.external_project_parsers.parsers import master_spreadsheet_parser
@@ -28,6 +29,7 @@
from alive_progress import alive_bar
from application.prompt_client import prompt_client as prompt_client
from application.utils import gap_analysis
+from application.utils import cres_csv_export
logging.basicConfig()
logger = logging.getLogger(__name__)
@@ -649,11 +651,15 @@ def download_gap_analysis_from_upstream(cache: str) -> None:
)
if res.status_code == 200:
tojson = res.json()
- if tojson.get("result"):
- cache_key = gap_analysis.make_resources_key([sa, sb])
- collection.add_gap_analysis_result(
- cache_key, _json.dumps({"result": tojson.get("result")})
- )
+ if "result" not in tojson:
+ continue
+ payload = _json.dumps({"result": tojson.get("result")})
+ if not gap_analysis.primary_gap_analysis_payload_is_material(
+ payload
+ ):
+ continue
+ cache_key = gap_analysis.make_resources_key([sa, sb])
+ collection.add_gap_analysis_result(cache_key, payload)
bar()
else:
for sa, sb in pairs:
@@ -662,18 +668,33 @@ def download_gap_analysis_from_upstream(cache: str) -> None:
)
if res.status_code == 200:
tojson = res.json()
- if tojson.get("result"):
- cache_key = gap_analysis.make_resources_key([sa, sb])
- collection.add_gap_analysis_result(
- cache_key, _json.dumps({"result": tojson.get("result")})
- )
+ if "result" not in tojson:
+ continue
+ payload = _json.dumps({"result": tojson.get("result")})
+ if not gap_analysis.primary_gap_analysis_payload_is_material(
+ payload
+ ):
+ continue
+ cache_key = gap_analysis.make_resources_key([sa, sb])
+ collection.add_gap_analysis_result(cache_key, payload)
def _missing_ga_pairs(collection: db.Node_collection) -> List[Tuple[str, str]]:
- standards = sorted(collection.standards())
+ from application.utils.ga_parity import ga_matrix_standard_names
+
+ standards = ga_matrix_standard_names(collection)
+ rows = (
+ collection.session.query(
+ db.GapAnalysisResults.cache_key, db.GapAnalysisResults.ga_object
+ )
+ .filter(not_(db.GapAnalysisResults.cache_key.like("% >> %->%")))
+ .all()
+ )
existing = {
- key
- for (key,) in collection.session.query(db.GapAnalysisResults.cache_key).all()
+ str(key)
+ for key, payload in rows
+ if key
+ and gap_analysis.primary_gap_analysis_payload_is_material(str(payload or ""))
}
missing: List[Tuple[str, str]] = []
for sa in standards:
@@ -709,12 +730,18 @@ def backfill_gap_analysis_only(
if os.environ.get("CRE_NO_NEO4J") != "1":
populate_neo4j_db(db_connection_str)
+ if os.environ.get("OPENCRE_ENV") not in {"heroku", "opencreorg"}:
+ gap_analysis.backfill_opencre_direct_pairs(collection, refresh=True)
+ else:
+ logger.warning("Skipping GA recomputation on production environment")
+ return
+
missing = _missing_ga_pairs(collection)
if max_pairs > 0:
missing = missing[:max_pairs]
total = len(missing)
if total == 0:
- logger.info("GA backfill: no missing pairs")
+ logger.info("GA backfill: no missing neo4j pairs")
return
logger.info(
@@ -813,6 +840,14 @@ def run(args: argparse.Namespace) -> None: # pragma: no cover
script_path = os.path.dirname(os.path.realpath(__file__))
os.path.join(script_path, "../cres")
+ if getattr(args, "export", False):
+ csv_out = getattr(args, "csv", "").strip()
+ if not csv_out:
+ raise ValueError("--export requires --csv ")
+ rows = cres_csv_export.export_cres_and_standards_csv(output_path=csv_out)
+ logger.info("Exported %s rows to %s", rows, csv_out)
+ return
+
if args.add and getattr(args, "from_ai_exchange_csv", None):
add_from_ai_exchange_csv(
csv_path=args.from_ai_exchange_csv,
@@ -880,6 +915,44 @@ def run(args: argparse.Namespace) -> None: # pragma: no cover
BaseParser().register_resource(
secure_headers.SecureHeaders, db_connection_str=args.cache_file
)
+ if getattr(args, "owasp_top10_2025_in", False):
+ from application.utils.external_project_parsers.parsers import owasp_top10_2025
+
+ BaseParser().register_resource(
+ owasp_top10_2025.OwaspTop10_2025, db_connection_str=args.cache_file
+ )
+ if getattr(args, "owasp_api_top10_2023_in", False):
+ from application.utils.external_project_parsers.parsers import (
+ owasp_api_top10_2023,
+ )
+
+ BaseParser().register_resource(
+ owasp_api_top10_2023.OwaspApiTop10_2023,
+ db_connection_str=args.cache_file,
+ )
+ if getattr(args, "owasp_kubernetes_top10_2022_in", False):
+ logger.warning(
+ "--owasp_kubernetes_top10_2022_in requested, but no Kubernetes 2022 parser module is present in this branch; skipping"
+ )
+ if getattr(args, "owasp_kubernetes_top10_2025_in", False):
+ logger.warning(
+ "--owasp_kubernetes_top10_2025_in requested, but no Kubernetes 2025 parser module is present in this branch; skipping"
+ )
+ if getattr(args, "owasp_llm_top10_2025_in", False):
+ from application.utils.external_project_parsers.parsers import (
+ owasp_llm_top10_2025,
+ )
+
+ BaseParser().register_resource(
+ owasp_llm_top10_2025.OwaspLlmTop10_2025,
+ db_connection_str=args.cache_file,
+ )
+ if getattr(args, "owasp_aisvs_in", False):
+ from application.utils.external_project_parsers.parsers import owasp_aisvs
+
+ BaseParser().register_resource(
+ owasp_aisvs.OwaspAisvs, db_connection_str=args.cache_file
+ )
if args.pci_dss_4_in:
from application.utils.external_project_parsers.parsers import pci_dss
@@ -910,7 +983,9 @@ def run(args: argparse.Namespace) -> None: # pragma: no cover
if args.import_external_projects:
BaseParser().call_importers(db_connection_str=args.cache_file)
- if args.generate_embeddings:
+ if getattr(args, "regenerate_embeddings", False):
+ regenerate_embeddings(args.cache_file)
+ elif args.generate_embeddings:
generate_embeddings(args.cache_file)
if args.populate_neo4j_db:
populate_neo4j_db(args.cache_file)
@@ -921,6 +996,9 @@ def run(args: argparse.Namespace) -> None: # pragma: no cover
if args.preload_map_analysis_target_url:
gap_analysis.preload(target_url=args.preload_map_analysis_target_url)
+ if getattr(args, "ga_backfill_opencre_direct", False):
+ collection = db_connect(path=args.cache_file)
+ gap_analysis.backfill_opencre_direct_pairs(collection, refresh=True)
if getattr(args, "ga_backfill_missing", False):
backfill_gap_analysis_only(
args.cache_file,
@@ -977,6 +1055,14 @@ def generate_embeddings(db_url: str) -> None:
prompt_client.PromptHandler(database, load_all_embeddings=True)
+def regenerate_embeddings(db_url: str) -> None:
+ """Wipe all embedding rows, then rebuild (CRE + every node type) like ``--generate_embeddings``."""
+ database = db_connect(path=db_url)
+ removed = database.delete_all_embeddings()
+ logger.info("Removed %s embedding rows; rebuilding embeddings", removed)
+ prompt_client.PromptHandler(database, load_all_embeddings=True)
+
+
def populate_neo4j_db(cache: str):
if (
os.environ.get("NO_LOAD_GRAPH_DB") == "1"
diff --git a/application/config.py b/application/config.py
index 27afb6d84..47ec87086 100644
--- a/application/config.py
+++ b/application/config.py
@@ -1,7 +1,6 @@
import os
basedir = os.path.abspath(os.path.dirname(__file__))
-ENABLE_MYOPENCRE = os.getenv("ENABLE_MYOPENCRE", "false").lower() == "true"
class Config:
@@ -9,10 +8,6 @@ class Config:
SQLALCHEMY_RECORD_QUERIES = False
ITEMS_PER_PAGE = 20
SLOW_DB_QUERY_TIME = 0.5
- # Feature toggle for gap analysis optimization (default: False for safety)
- GAP_ANALYSIS_OPTIMIZED = (
- os.environ.get("GAP_ANALYSIS_OPTIMIZED", "False").lower() == "true"
- )
class DevelopmentConfig(Config):
@@ -47,6 +42,10 @@ class CMDConfig(Config):
def __init__(self, db_uri: str):
if "://" in db_uri:
+ # Heroku and some tools still emit ``postgres://``; SQLAlchemy 2 expects
+ # ``postgresql://`` for the psycopg dialect name.
+ if db_uri.startswith("postgres://"):
+ db_uri = "postgresql://" + db_uri[len("postgres://") :]
self.SQLALCHEMY_DATABASE_URI = db_uri
else:
# Flask-SQLAlchemy 3+ resolves non-absolute sqlite URLs against
diff --git a/application/database/db.py b/application/database/db.py
index f252ccc0a..6600c3920 100644
--- a/application/database/db.py
+++ b/application/database/db.py
@@ -10,7 +10,7 @@
from pprint import pprint
-from collections import Counter
+from collections import Counter, defaultdict
from itertools import permutations
from typing import Any, Dict, List, Optional, Tuple, cast
from neomodel.exceptions import (
@@ -21,9 +21,9 @@
from flask import json as flask_json
from sqlalchemy.orm import aliased
from flask_sqlalchemy.model import DefaultMeta
-from sqlalchemy import func, delete, cast as sql_cast, literal
+from sqlalchemy import func, delete, cast as sql_cast, literal, or_
from sqlalchemy.dialects.postgresql import JSONB
-from sqlalchemy.exc import OperationalError, IntegrityError
+from sqlalchemy.exc import OperationalError, IntegrityError, SQLAlchemyError
from neomodel import (
config,
@@ -42,9 +42,12 @@
from application.defs import cre_defs
from application.utils import file
from application.utils.gap_analysis import (
+ gap_analysis_cache_key_is_primary,
get_path_score,
make_resources_key,
make_subresources_key,
+ primary_gap_analysis_payload_is_material,
+ should_persist_primary_gap_analysis_cache,
)
@@ -186,6 +189,8 @@ class Embeddings(BaseModel): # type: ignore
embeddings_url = sqla.Column(sqla.String, nullable=True, default=None)
embeddings_content = sqla.Column(sqla.String, nullable=True, default=None)
+ embedding_model_id = sqla.Column(sqla.String, nullable=True, default=None)
+ embedding_dim = sqla.Column(sqla.Integer, nullable=True, default=None)
class GapAnalysisResults(BaseModel):
@@ -1339,7 +1344,13 @@ def get_cre_by_db_id(self, id: str) -> cre_defs.CRE:
if not external_id:
logger.error(f"CRE {id} does not exist in the db")
return None
- return self.get_CREs(external_id=external_id[0])[0]
+ cres = self.get_CREs(external_id=external_id[0])
+ if not cres:
+ logger.error(
+ f"CRE {id} exists but get_CREs returned no results for external_id={external_id[0]}"
+ )
+ return None
+ return cres[0]
def list_node_ids_by_ntype(self, ntype: str) -> List[str]:
# Always return plain strings (never SQLAlchemy row tuples).
@@ -1438,7 +1449,6 @@ def get_CREs(
include_only: Optional[List[str]] = None,
internal_id: Optional[str] = None,
) -> List[cre_defs.CRE]:
- cres: List[cre_defs.CRE] = []
query = CRE.query
if not external_id and not name and not description and not internal_id:
logger.error(
@@ -1473,40 +1483,99 @@ def get_CREs(
)
return []
- for matching_cre in dbcres:
- cre = CREfromDB(matching_cre)
- cre.links = self.__make_cre_links(
- cre=matching_cre, include_only_nodes=include_only
- )
- cre.links.extend(self.__make_cre_internal_links(cre=matching_cre))
- cres.append(cre)
- return cres
+ return self._hydrate_cres_batch(dbcres, include_only_nodes=include_only)
- def __make_cre_internal_links(self, cre: CRE) -> List[cre_defs.Link]:
- links = []
- internal_links = (
+ def _hydrate_cres_batch(
+ self,
+ dbcres: List[CRE],
+ include_only_nodes: Optional[List[str]] = None,
+ ) -> List[cre_defs.CRE]:
+ if not dbcres:
+ return []
+
+ cre_ids = [cre.id for cre in dbcres]
+ node_links_by_cre: Dict[str, List[Links]] = defaultdict(list)
+ node_ids: set = set()
+ for link in self.session.query(Links).filter(Links.cre.in_(cre_ids)).all():
+ node_links_by_cre[link.cre].append(link)
+ node_ids.add(link.node)
+
+ nodes_by_id: Dict[str, Node] = {}
+ if node_ids:
+ nodes_by_id = {
+ node.id: node
+ for node in self.session.query(Node).filter(Node.id.in_(node_ids)).all()
+ }
+
+ internal_links_by_cre: Dict[str, List[InternalLinks]] = defaultdict(list)
+ linked_cre_ids: set = set()
+ for internal_link in (
self.session.query(InternalLinks)
.filter(
- sqla.or_(InternalLinks.cre == cre.id, InternalLinks.group == cre.id)
+ sqla.or_(
+ InternalLinks.cre.in_(cre_ids),
+ InternalLinks.group.in_(cre_ids),
+ )
)
.all()
- )
+ ):
+ linked_cre_ids.add(internal_link.cre)
+ linked_cre_ids.add(internal_link.group)
+ if internal_link.cre in cre_ids:
+ internal_links_by_cre[internal_link.cre].append(internal_link)
+ if internal_link.group in cre_ids:
+ internal_links_by_cre[internal_link.group].append(internal_link)
+
+ cres_by_id: Dict[str, CRE] = {cre.id: cre for cre in dbcres}
+ extra_cre_ids = linked_cre_ids - set(cre_ids)
+ if extra_cre_ids:
+ for linked in (
+ self.session.query(CRE).filter(CRE.id.in_(extra_cre_ids)).all()
+ ):
+ cres_by_id[linked.id] = linked
+
+ result: List[cre_defs.CRE] = []
+ for matching_cre in dbcres:
+ cre = CREfromDB(matching_cre)
+ cre.links = self._assemble_cre_node_links(
+ node_links_by_cre.get(matching_cre.id, []),
+ nodes_by_id,
+ include_only_nodes,
+ )
+ seen_internal: set = set()
+ internal_rows = []
+ for row in internal_links_by_cre.get(matching_cre.id, []):
+ key = (row.cre, row.group, row.type)
+ if key not in seen_internal:
+ seen_internal.add(key)
+ internal_rows.append(row)
+ cre.links.extend(
+ self._assemble_cre_internal_links(
+ matching_cre, internal_rows, cres_by_id
+ )
+ )
+ result.append(cre)
+ return result
- if len(internal_links) == 0:
+ def _assemble_cre_internal_links(
+ self,
+ cre: CRE,
+ internal_links: List[InternalLinks],
+ cres_by_id: Dict[str, CRE],
+ ) -> List[cre_defs.Link]:
+ links: List[cre_defs.Link] = []
+ if not internal_links:
logger.debug(
f"CRE {cre.name}:{cre.external_id}:{cre.id} has no internal links"
)
for internal_link in internal_links:
-
- linked_cre_query = self.session.query(CRE)
link_type = cre_defs.LinkTypes.from_str(internal_link.type)
if internal_link.cre == cre.id:
- # if we are the lower cre in this relationship, we need to flip the "Contains" linktypes
- linked_cre = linked_cre_query.filter(
- CRE.id == internal_link.group
- ).first() # get the higher cre so we can add the link
+ linked_cre = cres_by_id.get(internal_link.group)
+ if not linked_cre:
+ continue
if link_type == cre_defs.LinkTypes.Contains:
links.append(
cre_defs.Link(
@@ -1514,24 +1583,28 @@ def __make_cre_internal_links(self, cre: CRE) -> List[cre_defs.Link]:
document=CREfromDB(linked_cre),
)
)
- elif (
- link_type == cre_defs.LinkTypes.Related
- ): # if it's not a "Contains" link, it's a "Related" link
+ elif link_type == cre_defs.LinkTypes.Related:
links.append(
cre_defs.Link(ltype=link_type, document=CREfromDB(linked_cre))
)
continue
- # if we are are the higher cre then we don't need to do anything, relationship types are always "higher"->"lower"
- linked_cre = linked_cre_query.filter(CRE.id == internal_link.cre).first()
- links.append(cre_defs.Link(ltype=link_type, document=CREfromDB(linked_cre)))
+
+ linked_cre = cres_by_id.get(internal_link.cre)
+ if linked_cre:
+ links.append(
+ cre_defs.Link(ltype=link_type, document=CREfromDB(linked_cre))
+ )
return links
- def __make_cre_links(
- self, cre: CRE, include_only_nodes: List[str]
+ def _assemble_cre_node_links(
+ self,
+ node_links: List[Links],
+ nodes_by_id: Dict[str, Node],
+ include_only_nodes: Optional[List[str]],
) -> List[cre_defs.Link]:
- links = []
- for link in self.session.query(Links).filter(Links.cre == cre.id).all():
- node = self.session.query(Node).filter(Node.id == link.node).first()
+ links: List[cre_defs.Link] = []
+ for link in node_links:
+ node = nodes_by_id.get(link.node)
if node and (not include_only_nodes or node.name in include_only_nodes):
links.append(
cre_defs.Link(
@@ -1636,13 +1709,11 @@ def export(self, dir: str = None, dry_run: bool = False) -> List[cre_defs.Docume
def all_cres_with_pagination(
self, page: int = 1, per_page: int = 10
) -> List[cre_defs.CRE]:
- result: List[cre_defs.CRE] = []
cres = self.session.query(CRE).paginate(
page=int(page), per_page=per_page, error_out=False
)
total_pages = cres.pages
- for cre in cres.items:
- result.extend(self.get_CREs(external_id=cre.external_id))
+ result = self._hydrate_cres_batch(list(cres.items))
return result, page, total_pages
def get_cre_path(self, fromID: str, toID: str) -> List[cre_defs.Document]:
@@ -2091,6 +2162,10 @@ def text_search(self, text: str) -> List[Optional[cre_defs.Document]]:
CRE ids before it performs a free text search
Anything else will be a case insensitive LIKE query in the database
"""
+ search_terms = self._expand_text_search_aliases(text)
+ if not search_terms:
+ return []
+ text = text.strip()
# structured text search first
cre_id_search = r"CRE(:| )(?P\d+-\d+)"
cre_naked_id_search = r"\d\d\d-\d\d\d"
@@ -2142,34 +2217,81 @@ def text_search(self, text: str) -> List[Optional[cre_defs.Document]]:
if results:
return list(set(results))
# fuzzy matches second
- args = [f"%{text}%", "", "", "", "", ""]
results = {}
- s = set([p for p in permutations(args, 6)])
- for combo in s:
- nodes = self.get_nodes(
- name=combo[0],
- section=combo[1],
- subsection=combo[2],
- link=combo[3],
- description=combo[4],
- partial=True,
- ntype=None, # type: ignore
- sectionID=combo[5],
- )
- if nodes:
- for node in nodes:
- node_key = f"{node.name}:{node.version}:{node.section}:{node.sectionID}:{node.subsection}:"
- results[node_key] = node
- args = [f"%{text}%", None, None]
- for combo in permutations(args, 3):
- cres = self.get_CREs(
- name=combo[0], external_id=combo[1], description=combo[2], partial=True
- )
- if cres:
- for cre in cres:
- results[cre.id] = cre
+ for search_term in search_terms:
+ args = [f"%{search_term}%", "", "", "", "", ""]
+ s = set([p for p in permutations(args, 6)])
+ for combo in s:
+ nodes = self.get_nodes(
+ name=combo[0],
+ section=combo[1],
+ subsection=combo[2],
+ link=combo[3],
+ description=combo[4],
+ partial=True,
+ ntype=None, # type: ignore
+ sectionID=combo[5],
+ )
+ if nodes:
+ for node in nodes:
+ node_key = f"{node.name}:{node.version}:{node.section}:{node.sectionID}:{node.subsection}:"
+ results[node_key] = node
+ args = [f"%{search_term}%", None, None]
+ for combo in permutations(args, 3):
+ cres = self.get_CREs(
+ name=combo[0],
+ external_id=combo[1],
+ description=combo[2],
+ partial=True,
+ )
+ if cres:
+ for cre in cres:
+ results[cre.id] = cre
return list(results.values())
+ def _expand_text_search_aliases(self, text: str) -> List[str]:
+ normalized = text.strip()
+ if not normalized:
+ return []
+ lowered = normalized.lower()
+ aliases = {
+ "xxe": [
+ "XXE",
+ "XML External Entity",
+ "XML External Entity Reference",
+ ],
+ "xss": [
+ "XSS",
+ "Cross Site Scripting",
+ "Cross-Site Scripting",
+ ],
+ "ssrf": [
+ "SSRF",
+ "Server Side Request Forgery",
+ "Server-Side Request Forgery",
+ ],
+ "csrf": [
+ "CSRF",
+ "Cross Site Request Forgery",
+ "Cross-Site Request Forgery",
+ ],
+ "rce": [
+ "RCE",
+ "Remote Code Execution",
+ ],
+ }
+ expanded = [normalized]
+ expanded.extend(aliases.get(lowered, []))
+ deduped = []
+ seen = set()
+ for entry in expanded:
+ key = entry.lower()
+ if key in seen:
+ continue
+ seen.add(key)
+ deduped.append(entry)
+ return deduped
+
def get_root_cres(self):
"""Returns CRES that only have "Contains" links"""
# select name from cre where cre.id not in (select cre from cre_links where type="Contains") and cre.id not in (select "group" from cre_links where type="Is Part OF");
@@ -2191,10 +2313,55 @@ def get_root_cres(self):
)
.all()
)
- result = []
- for c in cres:
- result.extend(self.get_CREs(external_id=c.external_id))
- return result
+ return self._hydrate_cres_batch(list(cres))
+
+ def health_check(self) -> Dict[str, Any]:
+ """Lightweight liveness/readiness probe for the serving database.
+
+ Intended for use by a deploy/uptime health endpoint, NOT for deep
+ operational checks (GA completeness, mapping coverage, etc.) which are
+ slow and belong in ops tooling. Performs cheap COUNT queries and never
+ raises: connectivity failures are reported as ``ok=False`` so the caller
+ can return an appropriate status code.
+
+ Returns a dict with:
+ - ``ok``: True only if the DB is reachable AND holds a non-empty
+ dataset (at least one CRE and one standard/node).
+ - ``db_reachable``: True if the COUNT queries executed.
+ - ``cre_count`` / ``standards_count``: populated when reachable.
+ - ``reason``: short human-readable explanation when ``ok`` is False.
+ """
+ try:
+ cre_count = self.session.query(func.count(CRE.id)).scalar() or 0
+ standards_count = self.session.query(func.count(Node.id)).scalar() or 0
+ except OperationalError:
+ return {
+ "ok": False,
+ "db_reachable": False,
+ "reason": "database unreachable",
+ }
+ except SQLAlchemyError: # pragma: no cover - defensive, never fail open
+ return {
+ "ok": False,
+ "db_reachable": False,
+ "reason": "database health query failed",
+ }
+
+ if cre_count == 0 or standards_count == 0:
+ return {
+ "ok": False,
+ "db_reachable": True,
+ "cre_count": cre_count,
+ "standards_count": standards_count,
+ "reason": "empty dataset",
+ }
+
+ return {
+ "ok": True,
+ "db_reachable": True,
+ "cre_count": cre_count,
+ "standards_count": standards_count,
+ }
def get_embeddings_by_doc_type(self, doc_type: str) -> Dict[str, List[float]]:
res = {}
@@ -2261,15 +2428,48 @@ def get_embedding(self, object_id: str) -> Optional[Embeddings]:
.all()
)
+ def delete_all_embeddings(self) -> int:
+ """
+ Delete every row in ``embeddings`` so a subsequent ``PromptHandler(..., load_all_embeddings=True)``
+ run rebuilds vectors (e.g. after changing smart-extract policy or embedding model).
+ """
+ n_deleted = self.session.query(Embeddings).delete(synchronize_session=False)
+ self.session.commit()
+ return int(n_deleted or 0)
+
def add_embedding(
self,
db_object: CRE | Node,
doctype: cre_defs.Credoctypes,
embeddings: List[float],
embedding_text: str,
+ embeddings_url: Optional[str] = None,
):
+ """
+ Persist embedding vector and content.
+
+ For nodes, ``embeddings_url`` is the resolved URL used for fetch/embed alignment
+ (may include a fragment). When ``None``, defaults to ``db_object.link`` (importer hyperlink).
+ """
+ expected_dim_raw = (os.environ.get("CRE_EMBED_EXPECTED_DIM", "") or "").strip()
+ embedding_model_id = (
+ os.environ.get("CRE_EMBED_MODEL", "") or ""
+ ).strip() or "gemini/gemini-embedding-001"
+ embedding_dim = len(embeddings)
+ if expected_dim_raw:
+ expected_dim = int(expected_dim_raw)
+ if len(embeddings) != expected_dim:
+ raise ValueError(
+ f"embedding dimension mismatch for {db_object.id}: "
+ f"expected {expected_dim}, got {len(embeddings)}"
+ )
existing = self.get_embedding(db_object.id)
embeddings_str = ",".join([str(e) for e in embeddings])
+ resolved_node_url: Optional[str] = None
+ if doctype != cre_defs.Credoctypes.CRE:
+ resolved_node_url = (
+ embeddings_url if embeddings_url is not None else db_object.link
+ )
if not existing:
emb = None
@@ -2279,6 +2479,8 @@ def add_embedding(
cre_id=db_object.id,
doc_type=cre_defs.Credoctypes.CRE.value,
embeddings_content=embedding_text,
+ embedding_model_id=embedding_model_id,
+ embedding_dim=embedding_dim,
)
else:
emb = Embeddings(
@@ -2286,7 +2488,9 @@ def add_embedding(
node_id=db_object.id,
doc_type=db_object.ntype,
embeddings_content=embedding_text,
- embeddings_url=db_object.link,
+ embeddings_url=resolved_node_url,
+ embedding_model_id=embedding_model_id,
+ embedding_dim=embedding_dim,
)
self.session.add(emb)
self.session.commit()
@@ -2295,15 +2499,79 @@ def add_embedding(
logger.debug(f"knew of embedding for object {db_object.id} ,updating")
existing[0].embeddings = embeddings_str
existing[0].embeddings_content = embedding_text
+ existing[0].embedding_model_id = embedding_model_id
+ existing[0].embedding_dim = embedding_dim
+ if doctype != cre_defs.Credoctypes.CRE:
+ if embeddings_url is not None:
+ existing[0].embeddings_url = embeddings_url
+ elif getattr(existing[0], "embeddings_url", None) is None:
+ existing[0].embeddings_url = db_object.link
self.session.commit()
return existing
+ def assert_embedding_contract(
+ self,
+ *,
+ expected_model_id: Optional[str],
+ expected_dim: Optional[int],
+ ) -> None:
+ """
+ Validate persisted embedding metadata consistency.
+
+ - Fails when multiple dimensions are stored.
+ - Fails when metadata is missing or mismatched against expected model/dimension.
+ """
+ rows = self.session.query(
+ Embeddings.embedding_dim, Embeddings.embedding_model_id
+ ).all()
+ if not rows:
+ return
+
+ dims = {int(r[0]) for r in rows if r[0] is not None}
+ model_ids = {str(r[1]) for r in rows if r[1]}
+ has_missing_dim = any(r[0] is None for r in rows)
+ has_missing_model = any(not r[1] for r in rows)
+
+ if len(dims) > 1:
+ raise RuntimeError(
+ f"multiple embedding dimensions detected in DB: {sorted(dims)}"
+ )
+ if len(model_ids) > 1:
+ raise RuntimeError(
+ f"multiple embedding models detected in DB: {sorted(model_ids)}"
+ )
+
+ if has_missing_dim or has_missing_model:
+ raise RuntimeError(
+ "embedding metadata missing in DB; run metadata migration/backfill"
+ )
+
+ if expected_dim is not None and dims:
+ db_dim = next(iter(dims))
+ if db_dim != expected_dim:
+ raise RuntimeError(
+ f"DB embedding dim {db_dim} does not match expected dim {expected_dim}"
+ )
+
+ if expected_model_id and model_ids:
+ db_model = next(iter(model_ids))
+ if db_model != expected_model_id:
+ raise RuntimeError(
+ f"DB embedding model {db_model} does not match expected model {expected_model_id}"
+ )
+
def gap_analysis_exists(self, cache_key) -> bool:
- q = self.session.query(GapAnalysisResults).filter(
- GapAnalysisResults.cache_key == cache_key
+ row = (
+ self.session.query(GapAnalysisResults)
+ .filter(GapAnalysisResults.cache_key == cache_key)
+ .first()
)
- return self.session.query(q.exists()).scalar()
+ if row is None:
+ return False
+ if gap_analysis_cache_key_is_primary(cache_key):
+ return primary_gap_analysis_payload_is_material(row.ga_object)
+ return True
def get_gap_analysis_result(self, cache_key) -> str:
logger.info(f"looking for gap analysis with cache key: {cache_key}")
@@ -2318,7 +2586,32 @@ def get_gap_analysis_result(self, cache_key) -> str:
logger.info(f"did not find gap analysis with cache key: {cache_key}")
def add_gap_analysis_result(self, cache_key: str, ga_object: str):
- if not self.gap_analysis_exists(cache_key):
+ existing = (
+ self.session.query(GapAnalysisResults)
+ .filter(GapAnalysisResults.cache_key == cache_key)
+ .first()
+ )
+ if gap_analysis_cache_key_is_primary(cache_key):
+ existing_payload = existing.ga_object if existing else None
+ if not should_persist_primary_gap_analysis_cache(
+ ga_object, existing_payload
+ ):
+ if existing is None:
+ logger.info(
+ "Skipping empty primary gap analysis cache insert for %s",
+ cache_key,
+ )
+ else:
+ logger.warning(
+ "Refusing non-material primary gap analysis update for %s",
+ cache_key,
+ )
+ return
+ if existing:
+ existing.ga_object = ga_object
+ self.session.add(existing)
+ self.session.commit()
+ else:
logger.info(f"adding gap analysis result with cache key: {cache_key}")
res = GapAnalysisResults(cache_key=cache_key, ga_object=ga_object)
self.session.add(res)
@@ -2490,6 +2783,20 @@ def gap_analysis(
grouped_paths[key] = {"start": node, "paths": {}, "extra": 0}
extra_paths_dict[key] = {"paths": {}}
+ # Paths may start from CRE nodes that were not included in ``base_standard`` (or
+ # ``base_standard`` entries were skipped due to empty ids). Seed roots from each
+ # path's start so we never drop Neo paths or hit KeyError in the merge loop below.
+ for path in paths:
+ start_doc = path.get("start")
+ if start_doc is None:
+ continue
+ key = getattr(start_doc, "id", "") or ""
+ if not key:
+ continue
+ if key not in grouped_paths:
+ grouped_paths[key] = {"start": start_doc, "paths": {}, "extra": 0}
+ extra_paths_dict[key] = {"paths": {}}
+
for path in paths:
key = path["start"].id
end_key = path["end"].id
@@ -2525,6 +2832,30 @@ def gap_analysis(
if cache_key == "":
cache_key = make_resources_key(node_names)
+ if not grouped_paths:
+ if gap_analysis_cache_key_is_primary(cache_key):
+ stale = (
+ cre_db.session.query(GapAnalysisResults)
+ .filter(
+ or_(
+ GapAnalysisResults.cache_key == cache_key,
+ GapAnalysisResults.cache_key.like(cache_key + "->%"),
+ )
+ )
+ .all()
+ )
+ for row in stale:
+ cre_db.session.delete(row)
+ if stale:
+ cre_db.session.commit()
+ logger.warning(
+ "Not persisting gap analysis for %s: grouped_paths is empty "
+ "(Neo likely had no parseable base standard or no paths). "
+ "Re-run after Neo is populated so the pair is not locked in as an empty cache.",
+ cache_key,
+ )
+ return (node_names, grouped_paths, extra_paths_dict)
+
logger.info(f"got gap analysis paths for {'>>>'.join(node_names)}, storing result")
cre_db.add_gap_analysis_result(
cache_key=cache_key, ga_object=flask_json.dumps({"result": grouped_paths})
diff --git a/application/defs/cheatsheet_defs.py b/application/defs/cheatsheet_defs.py
new file mode 100644
index 000000000..0e1dc4267
--- /dev/null
+++ b/application/defs/cheatsheet_defs.py
@@ -0,0 +1,81 @@
+from dataclasses import dataclass, field
+from typing import Dict, List
+
+SUMMARY_MAX_LENGTH = 500
+
+
+@dataclass
+class CheatsheetRecord:
+ """Structured representation of an OWASP cheatsheet record."""
+
+ source: str = field(default="owasp_cheatsheets", init=False)
+ source_id: str
+ title: str
+ hyperlink: str
+ summary: str
+ headings: List[str]
+ raw_markdown_path: str
+ category_hints: List[str] = field(default_factory=list)
+ metadata: Dict[str, str] = field(default_factory=dict)
+
+ def __post_init__(self):
+ """Normalize and validate CheatsheetRecord fields."""
+
+ required_str_fields = {
+ "source_id": self.source_id,
+ "title": self.title,
+ "hyperlink": self.hyperlink,
+ "summary": self.summary,
+ "raw_markdown_path": self.raw_markdown_path,
+ }
+
+ # Summary-specific normalization
+ self.summary = self.summary.strip()[:SUMMARY_MAX_LENGTH]
+
+ # Normalize fields which require string values.
+ for field_name, value in required_str_fields.items():
+ if isinstance(value, str):
+ setattr(self, field_name, value.strip())
+
+ list_str_fields = {
+ "headings": self.headings,
+ "category_hints": self.category_hints,
+ }
+
+ # Validate fields which require string values.
+ for field_name in required_str_fields:
+ value = getattr(self, field_name)
+
+ if not isinstance(value, str) or not value:
+ raise ValueError(
+ f"CheatsheetRecord: field '{field_name}' "
+ f"must be a non-empty string, got {value!r}"
+ )
+
+ # Validate fields which require list[str] values.
+ for field_name, value in list_str_fields.items():
+ if not isinstance(value, list):
+ raise ValueError(
+ f"CheatsheetRecord: field '{field_name}' "
+ f"must be a list[str], got {type(value)!r}"
+ )
+
+ for item in value:
+ if not isinstance(item, str):
+ raise ValueError(
+ f"CheatsheetRecord: value of '{field_name}' "
+ f"must be a string, got {item!r}"
+ )
+
+ # Validate input for metadata.
+ if not isinstance(self.metadata, dict):
+ raise ValueError(
+ "CheatsheetRecord: field 'metadata' must be a dict[str, str]"
+ )
+
+ for key, value in self.metadata.items():
+ if not isinstance(key, str) or not isinstance(value, str):
+ raise ValueError(
+ "CheatsheetRecord: metadata keys and values must be strings, "
+ f"got {key!r}: {value!r}"
+ )
diff --git a/application/feature_flags.py b/application/feature_flags.py
new file mode 100644
index 000000000..fe1aae2dc
--- /dev/null
+++ b/application/feature_flags.py
@@ -0,0 +1,18 @@
+import os
+
+try:
+ from dotenv import load_dotenv # type: ignore
+
+ load_dotenv()
+except ImportError:
+ pass
+
+TRUE_VALUES = {"1", "true", "yes"}
+
+
+def is_cre_import_allowed() -> bool:
+ return os.getenv("CRE_ALLOW_IMPORT", "").strip().lower() in TRUE_VALUES
+
+
+def is_health_endpoint_enabled() -> bool:
+ return os.getenv("CRE_ENABLE_HEALTH", "").strip().lower() in TRUE_VALUES
diff --git a/application/frontend/src/App.tsx b/application/frontend/src/App.tsx
index 1913e46a9..e372d844f 100755
--- a/application/frontend/src/App.tsx
+++ b/application/frontend/src/App.tsx
@@ -6,7 +6,6 @@ import { QueryClient, QueryClientProvider } from 'react-query';
import { BrowserRouter } from 'react-router-dom';
import { GlobalFilterState, filterContext } from './hooks/applyFilters';
-import { DataProvider } from './providers/DataProvider';
import { MainContentArea } from './scaffolding';
const queryClient = new QueryClient();
@@ -15,12 +14,10 @@ const App = () => (
-
-
-
-
-
-
+
+
+
+
diff --git a/application/frontend/src/const.ts b/application/frontend/src/const.ts
index 3242939c4..bf6d5cf11 100644
--- a/application/frontend/src/const.ts
+++ b/application/frontend/src/const.ts
@@ -1,4 +1,5 @@
export const TWO_DAYS_MILLISECONDS = 1.728e8;
+export const EXPLORER_CRE_PAGE_SIZE = 20;
export const TYPE_IS_PART_OF = 'Is Part Of';
export const TYPE_LINKED_TO = 'Linked To';
diff --git a/application/frontend/src/index.html b/application/frontend/src/index.html
index 4459676f2..afa85e5c7 100755
--- a/application/frontend/src/index.html
+++ b/application/frontend/src/index.html
@@ -4,7 +4,7 @@
{
const sortedResults = links.sort((a, b) =>
getDocumentDisplayName(a.document).localeCompare(getDocumentDisplayName(b.document))
);
+ const allLinksAreCres =
+ sortedResults.length > 0 &&
+ sortedResults.every((link) => link.document.doctype === DOCUMENT_TYPES.TYPE_CRE);
+ const visibleResults =
+ allLinksAreCres || showAll[type]
+ ? sortedResults
+ : sortedResults.slice(0, MAX_LENGTH_FOR_AUTO_EXPAND);
return (
Which {getDocumentTypeText(type, links[0].document.doctype)} :
{/* Risk of mixed doctype in here causing odd output */}
- {sortedResults
- .slice(0, showAll[type] ? sortedResults.length : MAX_LENGTH_FOR_AUTO_EXPAND)
- .map((link, i) => (
-
-
-
-
- ))}
- {sortedResults.length > MAX_LENGTH_FOR_AUTO_EXPAND && (
+ {visibleResults.map((link, i) => (
+
+
+
+
+ ))}
+ {!allLinksAreCres && sortedResults.length > MAX_LENGTH_FOR_AUTO_EXPAND && (
setShowAll((prev) => ({ ...prev, [type]: !prev[type] }))}
style={{ marginTop: '8px', cursor: 'pointer' }}
diff --git a/application/frontend/src/pages/Explorer/ExplorerLayout.tsx b/application/frontend/src/pages/Explorer/ExplorerLayout.tsx
new file mode 100644
index 000000000..ebd58f513
--- /dev/null
+++ b/application/frontend/src/pages/Explorer/ExplorerLayout.tsx
@@ -0,0 +1,19 @@
+import React from 'react';
+
+import { DataProvider } from '../../providers/DataProvider';
+
+type ExplorerLayoutProps = {
+ children: React.ReactNode;
+};
+
+export const ExplorerLayout = ({ children }: ExplorerLayoutProps) => {children} ;
+
+export function withExplorerLayout(Component: React.ComponentType
): React.FC
{
+ const Wrapped = (props: P) => (
+
+
+
+ );
+ Wrapped.displayName = `ExplorerLayout(${Component.displayName || Component.name || 'Component'})`;
+ return Wrapped;
+}
diff --git a/application/frontend/src/pages/Explorer/explorer.tsx b/application/frontend/src/pages/Explorer/explorer.tsx
index 64bee6566..56f4b2304 100644
--- a/application/frontend/src/pages/Explorer/explorer.tsx
+++ b/application/frontend/src/pages/Explorer/explorer.tsx
@@ -13,11 +13,13 @@ import { GraphDebugPanel } from './GraphDebugPanel';
import { LinkedStandards } from './LinkedStandards';
export const Explorer = () => {
- const { dataLoading, dataTree, dataStore } = useDataStore();
+ const { dataLoading, dataTree, dataStore, hasMore, isLoadingMore, loadNextPage, dataLoadError } =
+ useDataStore();
const [loading, setLoading] = useState(false);
const [filter, setFilter] = useState('');
const [filteredTree, setFilteredTree] = useState();
const [debugMode, setDebugMode] = useState(false);
+ const loadMoreRef = React.useRef(null);
const applyHighlight = (text, term) => {
if (!term) return text;
@@ -84,6 +86,25 @@ export const Explorer = () => {
setLoading(dataLoading);
}, [dataLoading]);
+ useEffect(() => {
+ const sentinel = loadMoreRef.current;
+ if (!sentinel || !hasMore) {
+ return;
+ }
+
+ const observer = new IntersectionObserver(
+ (entries) => {
+ if (entries.some((entry) => entry.isIntersecting)) {
+ loadNextPage();
+ }
+ },
+ { rootMargin: '200px' }
+ );
+
+ observer.observe(sentinel);
+ return () => observer.disconnect();
+ }, [hasMore, loadNextPage, filteredTree]);
+
function processNode(item) {
if (!item) {
return <>>;
@@ -192,12 +213,14 @@ export const Explorer = () => {
{debugMode && }
-
+
{filteredTree?.map((item) => {
return processNode(item);
})}
+
+ {isLoadingMore && hasMore && Loading more requirements…
}
>
);
diff --git a/application/frontend/src/pages/Explorer/visuals/circles/circles.tsx b/application/frontend/src/pages/Explorer/visuals/circles/circles.tsx
index da3618d98..3d0474690 100644
--- a/application/frontend/src/pages/Explorer/visuals/circles/circles.tsx
+++ b/application/frontend/src/pages/Explorer/visuals/circles/circles.tsx
@@ -10,7 +10,7 @@ import { Button, Icon } from 'semantic-ui-react';
export const ExplorerCircles = () => {
const { height, width } = useWindowDimensions();
const [useFullScreen, setUseFullScreen] = useState(false);
- const { dataLoading, dataTree } = useDataStore();
+ const { dataLoading, dataTree, ensureFullExplorerData, fullLoadProgress, dataLoadError } = useDataStore();
const [breadcrumb, setBreadcrumb] = useState([]);
const svgRef = React.useRef(null);
@@ -21,6 +21,18 @@ export const ExplorerCircles = () => {
const zoomToRef = React.useRef(null);
const margin = 20;
+ useEffect(() => {
+ let active = true;
+ void ensureFullExplorerData().catch((err) => {
+ if (active) {
+ console.error('Failed to load explorer graph data', err);
+ }
+ });
+ return () => {
+ active = false;
+ };
+ }, [ensureFullExplorerData]);
+
const defaultSize = width > height ? height - 100 : width;
const size = useFullScreen ? width : defaultSize;
@@ -447,7 +459,10 @@ export const ExplorerCircles = () => {
-
+
+ {fullLoadProgress && (
+ Loading graph data ({fullLoadProgress})…
+ )}
);
};
diff --git a/application/frontend/src/pages/Explorer/visuals/force-graph/forceGraph.tsx b/application/frontend/src/pages/Explorer/visuals/force-graph/forceGraph.tsx
index cc9e47a52..29f57c291 100644
--- a/application/frontend/src/pages/Explorer/visuals/force-graph/forceGraph.tsx
+++ b/application/frontend/src/pages/Explorer/visuals/force-graph/forceGraph.tsx
@@ -22,7 +22,15 @@ export const ExplorerForceGraph = () => {
const [ignoreTypes, setIgnoreTypes] = useState(['same']);
const [maxCount, setMaxCount] = useState(0);
const [maxNodeSize, setMaxNodeSize] = useState(0);
- const { dataLoading, dataTree, getStoreKey, dataStore } = useDataStore();
+ const {
+ dataLoading,
+ dataTree,
+ getStoreKey,
+ dataStore,
+ ensureFullExplorerData,
+ fullLoadProgress,
+ dataLoadError,
+ } = useDataStore();
const fgRef = useRef();
// ADDING STATE FOR FILTERING LOGIC
const [filterTypeA, setFilterTypeA] = useState('');
@@ -32,6 +40,18 @@ export const ExplorerForceGraph = () => {
const [creOptions, setCreOptions] = useState([]);
const [combinedOptions, setCombinedOptions] = useState([]);
+ useEffect(() => {
+ let active = true;
+ void ensureFullExplorerData().catch((err) => {
+ if (active) {
+ console.error('Failed to load explorer graph data', err);
+ }
+ });
+ return () => {
+ active = false;
+ };
+ }, [ensureFullExplorerData]);
+
// Adding a show all checkbox
const [showAll, setShowAll] = useState(true);
@@ -431,7 +451,10 @@ export const ExplorerForceGraph = () => {
}, [graphData]);
return (
-
+
+ {fullLoadProgress && (
+
Loading graph data ({fullLoadProgress})…
+ )}
{
- OpenCRE is an interactive content linking platform for uniting security standards and
- guidelines. It offers easy navigation between documents, requirements and tools, making it
- easier for developers and security professionals to find the resources they need.
+ OpenCRE is an interactive content linking platform that unites security standards and guidelines
+ into one resource. It makes it easier for practitioners to find information, with mappings,
+ deeplinks, browse, search, and an AI chatbot. Writers of material just have to refer to one
+ OpenCRE requirement, to link to coverage if that topic in all the standards.
@@ -193,11 +194,12 @@ export const SearchPage = () => {
OpenCRE currently links OWASP standards (Top 10, ASVS, Proactive Controls,
- Cheat sheets, Testing guide, ZAP, Juice shop, SAMM).
+ Cheat sheets, Testing guide, ZAP, Juice shop, SAMM, AI Exchange, LLM top 10, ML top 10).
Plus several other sources (CWE, CAPEC, NIST 800 53, NIST 800 63b, Cloud
- Control Matrix, ISO27001, ISO27002, and NIST SSDF).
+ Control Matrix, ISO27001, ISO27002, NIST SSDF, and for AI: NIST, ENISA, BIML, MITRE ATLAS,
+ and ETSI).
@@ -467,7 +469,7 @@ export const SearchPage = () => {
Contribute to the open-source project, report issues, and explore the codebase on our GitHub
repository.
-
+
View Repository
diff --git a/application/frontend/src/pages/chatbot/chatbot.tsx b/application/frontend/src/pages/chatbot/chatbot.tsx
index 7aa20205c..067171189 100644
--- a/application/frontend/src/pages/chatbot/chatbot.tsx
+++ b/application/frontend/src/pages/chatbot/chatbot.tsx
@@ -204,6 +204,13 @@ export const Chatbot = () => {
{d.name} — section {d.section ?? d.sectionID}
+ {d.embeddingsUrl ? (
+
+ ) : null}
diff --git a/application/frontend/src/providers/DataProvider.tsx b/application/frontend/src/providers/DataProvider.tsx
index 37962c014..09ca520aa 100644
--- a/application/frontend/src/providers/DataProvider.tsx
+++ b/application/frontend/src/providers/DataProvider.tsx
@@ -1,169 +1,348 @@
import axios from 'axios';
-import React, { createContext, useContext, useEffect, useState } from 'react';
-import { useQuery } from 'react-query';
+import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';
-import { TWO_DAYS_MILLISECONDS } from '../const';
+import { EXPLORER_CRE_PAGE_SIZE, TWO_DAYS_MILLISECONDS } from '../const';
import { useEnvironment } from '../hooks/useEnvironment';
import { Document, TreeDocument } from '../types';
-// Switched from localStorage utils to the new IndexedDB utils
-import { getDbObject, setDbObject } from '../utils'; // Assumes utils/index.tsx is the entry point
+import { getDbObject, setDbObject } from '../utils';
import { getInternalUrl, getTopicDisplayName } from '../utils/document';
-const DATA_STORE_KEY = 'data-store',
- DATA_TREE_KEY = 'record-tree';
+const DATA_STORE_CACHE_KEY = 'data-store-v2';
+const DATA_TREE_KEY = 'record-tree';
+
+type DataStoreCache = {
+ store: Record;
+ loadedPages: number;
+ totalPages: number;
+ isFullStoreLoaded: boolean;
+};
+
+const isDataStoreCache = (value: unknown): value is DataStoreCache => {
+ if (!value || typeof value !== 'object') {
+ return false;
+ }
+ const record = value as Record;
+ return 'store' in record && 'loadedPages' in record && 'totalPages' in record;
+};
type DataContextValues = {
dataLoading: boolean;
dataStore: Record;
dataTree: TreeDocument[];
- getStoreKey;
+ getStoreKey: (doc: Document) => string;
+ hasMore: boolean;
+ isLoadingMore: boolean;
+ fullLoadProgress: string | null;
+ dataLoadError: Error | null;
+ loadNextPage: () => Promise;
+ ensureFullExplorerData: () => Promise;
};
export const DataContext = createContext(null);
+const docToStoreEntry = (doc: Document): TreeDocument =>
+ ({
+ links: doc.links ?? [],
+ displayName: getTopicDisplayName(doc),
+ url: getInternalUrl(doc),
+ ...doc,
+ } as TreeDocument);
+
+const mergeDocsIntoStore = (
+ docs: Document[],
+ store: Record,
+ getStoreKey: (doc: Document) => string
+): Record => {
+ const nextStore = { ...store };
+ docs.forEach((doc) => {
+ nextStore[getStoreKey(doc)] = docToStoreEntry(doc);
+ });
+ return nextStore;
+};
+
export const DataProvider = ({ children }: { children: React.ReactNode }) => {
const { apiUrl } = useEnvironment();
- // Default loading to 'true' and initialize data states as empty
const [dataLoading, setDataLoading] = useState(true);
const [dataStore, setDataStore] = useState>({});
const [dataTree, setDataTree] = useState([]);
-
- // Add new state to track if we have checked IndexedDB for cached data
const [isHydrated, setIsHydrated] = useState(false);
+ const [loadedPages, setLoadedPages] = useState(0);
+ const [totalPages, setTotalPages] = useState(0);
+ const [isLoadingMore, setIsLoadingMore] = useState(false);
+ const [isFullStoreLoaded, setIsFullStoreLoaded] = useState(false);
+ const [fullLoadProgress, setFullLoadProgress] = useState(null);
+ const [dataLoadError, setDataLoadError] = useState(null);
+
+ const dataStoreRef = useRef(dataStore);
+ const loadedPagesRef = useRef(loadedPages);
+ const totalPagesRef = useRef(totalPages);
+ const isFullStoreLoadedRef = useRef(isFullStoreLoaded);
+ const loadingPageRef = useRef(false);
+ const loadChainRef = useRef(Promise.resolve>({}));
+ const fullLoadRef = useRef | null>(null);
+ const bootstrapDoneRef = useRef(false);
- const getStoreKey = (doc: Document): string => {
+ useEffect(() => {
+ dataStoreRef.current = dataStore;
+ }, [dataStore]);
+ useEffect(() => {
+ loadedPagesRef.current = loadedPages;
+ }, [loadedPages]);
+ useEffect(() => {
+ totalPagesRef.current = totalPages;
+ }, [totalPages]);
+ useEffect(() => {
+ isFullStoreLoadedRef.current = isFullStoreLoaded;
+ }, [isFullStoreLoaded]);
+
+ const getStoreKey = useCallback((doc: Document): string => {
if (doc.doctype === 'CRE') return doc.id;
if (doc.doctype === 'Standard') return doc.name;
return `${doc.name}-${doc.sectionID}-${doc.section}`;
- };
-
- const buildTree = (doc: Document, keyPath: string[] = []): TreeDocument => {
- const selfKey = getStoreKey(doc);
- keyPath.push(selfKey);
- const storedDoc = structuredClone(dataStore[selfKey]);
- const initialLinks = storedDoc.links;
- let creLinks = initialLinks.filter(
- (x) =>
- !!x.document && !keyPath.includes(getStoreKey(x.document)) && getStoreKey(x.document) in dataStore
- );
- creLinks = creLinks.filter((x) => x.ltype === 'Contains');
- creLinks = creLinks.map((x) => ({ ltype: x.ltype, document: buildTree(x.document, keyPath) }));
- storedDoc.links = [...creLinks];
- const standards = initialLinks.filter(
- (link) =>
- link.document && link.document.doctype === 'Standard' && !keyPath.includes(getStoreKey(link.document))
- );
- storedDoc.links = [...creLinks, ...standards];
- return storedDoc;
- };
-
- // New effect to asynchronously load data from IndexedDB on component mount
- useEffect(() => {
- const hydrateStateFromDb = async () => {
- console.log('Attempting to hydrate state from IndexedDB...');
- const cachedStore = await getDbObject(DATA_STORE_KEY);
- const cachedTree = await getDbObject(DATA_TREE_KEY);
+ }, []);
+
+ const buildTree = useCallback(
+ (doc: Document, store: Record, keyPath: string[] = []): TreeDocument => {
+ const selfKey = getStoreKey(doc);
+ const nextPath = [...keyPath, selfKey];
+ const storedDoc = structuredClone(store[selfKey] ?? doc);
+ const initialLinks = storedDoc.links || [];
+ let creLinks = initialLinks.filter(
+ (x) => !!x.document && !nextPath.includes(getStoreKey(x.document)) && getStoreKey(x.document) in store
+ );
+ creLinks = creLinks.filter((x) => x.ltype === 'Contains');
+ creLinks = creLinks.map((x) => ({
+ ltype: x.ltype,
+ document: buildTree(x.document, store, nextPath),
+ }));
+ storedDoc.links = [...creLinks];
+ const standards = initialLinks.filter(
+ (link) =>
+ link.document &&
+ link.document.doctype === 'Standard' &&
+ !nextPath.includes(getStoreKey(link.document))
+ );
+ storedDoc.links = [...creLinks, ...standards];
+ return storedDoc;
+ },
+ [getStoreKey]
+ );
- // If we found valid, unexpired data in the cache, load it into our state
- if (cachedStore && Object.keys(cachedStore).length > 0) {
- console.log('Cache hit. Hydrating state from IndexedDB.');
- setDataStore(cachedStore);
- setDataTree(cachedTree || []); // Use cached tree, or empty array as fallback
- } else {
- console.log('Cache miss or expired. Will fetch fresh data from API.');
+ const persistCache = useCallback(
+ async (
+ store: Record,
+ pagesLoaded: number,
+ pagesTotal: number,
+ fullLoaded: boolean,
+ tree?: TreeDocument[]
+ ) => {
+ const payload: DataStoreCache = {
+ store,
+ loadedPages: pagesLoaded,
+ totalPages: pagesTotal,
+ isFullStoreLoaded: fullLoaded,
+ };
+ await setDbObject(DATA_STORE_CACHE_KEY, payload, TWO_DAYS_MILLISECONDS);
+ if (tree) {
+ await setDbObject(DATA_TREE_KEY, tree, TWO_DAYS_MILLISECONDS);
}
+ },
+ []
+ );
- // Mark hydration as complete. This will enable the API queries to run.
- setIsHydrated(true);
- };
+ const rebuildDataTree = useCallback(
+ async (store: Record) => {
+ if (!Object.keys(store).length) {
+ setDataTree([]);
+ return [];
+ }
+ try {
+ const result = await axios.get(`${apiUrl}/root_cres`);
+ const treeData = result.data.data.map((x: Document) => buildTree(x, store));
+ setDataTree(treeData);
+ return treeData;
+ } catch (err) {
+ const error = err instanceof Error ? err : new Error('Failed to load explorer tree');
+ setDataLoadError(error);
+ throw error;
+ }
+ },
+ [apiUrl, buildTree]
+ );
- hydrateStateFromDb();
- }, []);
+ const loadPage = useCallback(
+ async (page: number): Promise> => {
+ const nextLoad = loadChainRef.current.then(async () => {
+ if (isFullStoreLoadedRef.current || (loadedPagesRef.current >= page && loadedPagesRef.current > 0)) {
+ return dataStoreRef.current;
+ }
- const getTreeQuery = useQuery(
- 'root_cres',
- async () => {
- if (!dataTree.length && Object.keys(dataStore).length) {
+ loadingPageRef.current = true;
+ setIsLoadingMore(true);
try {
- const result = await axios.get(`${apiUrl}/root_cres`);
- const treeData = result.data.data.map((x) => buildTree(x));
+ const result = await axios.get(`${apiUrl}/all_cres`, {
+ params: { page, per_page: EXPLORER_CRE_PAGE_SIZE },
+ });
+ const docs: Document[] = result.data.data || [];
+ const pagesTotal = Number(result.data.total_pages) || 1;
+ const nextStore = mergeDocsIntoStore(docs, dataStoreRef.current, getStoreKey);
+ const pagesLoaded = page;
+
+ dataStoreRef.current = nextStore;
+ setDataStore(nextStore);
+ setLoadedPages(pagesLoaded);
+ setTotalPages(pagesTotal);
+ loadedPagesRef.current = pagesLoaded;
+ totalPagesRef.current = pagesTotal;
+ setDataLoadError(null);
+
+ const fullLoaded = pagesLoaded >= pagesTotal;
+ if (fullLoaded) {
+ isFullStoreLoadedRef.current = true;
+ setIsFullStoreLoaded(true);
+ }
- // Save to IndexedDB (async) instead of localStorage
- await setDbObject(DATA_TREE_KEY, treeData, TWO_DAYS_MILLISECONDS);
+ const treeData = await rebuildDataTree(nextStore);
+ await persistCache(nextStore, pagesLoaded, pagesTotal, fullLoaded, treeData);
- setDataTree(treeData);
- } catch (error) {
- console.error(error);
+ return nextStore;
+ } catch (err) {
+ const error = err instanceof Error ? err : new Error('Failed to load CRE data');
+ setDataLoadError(error);
+ throw error;
+ } finally {
+ loadingPageRef.current = false;
+ setIsLoadingMore(false);
}
- }
+ });
+
+ loadChainRef.current = nextLoad.catch(() => dataStoreRef.current);
+ return nextLoad;
},
- {
- retry: false,
- // The query is disabled until hydration is complete
- enabled: isHydrated,
- }
+ [apiUrl, getStoreKey, persistCache, rebuildDataTree]
);
- const getStoreQuery = useQuery(
- 'all_cres',
- async () => {
- if (!Object.keys(dataStore).length) {
- try {
- const result = await axios.get(`${apiUrl}/all_cres?page=1&per_page=1000`);
- let data = result.data.data;
- let store = {};
-
- if (data.length) {
- data.forEach((x) => {
- store[getStoreKey(x)] = {
- links: x.links,
- displayName: getTopicDisplayName(x),
- url: getInternalUrl(x),
- ...x,
- };
- });
-
- // CHANGE 5: Save to IndexedDB (async) instead of localStorage
- await setDbObject(DATA_STORE_KEY, store, TWO_DAYS_MILLISECONDS);
-
- setDataStore(store);
- console.log('retrieved all cres');
- }
- } catch (error) {
- console.error('Could not retrieve CREs error:');
- console.error(error);
- }
+ const loadNextPage = useCallback(async () => {
+ if (isFullStoreLoadedRef.current) {
+ return;
+ }
+ const nextPage = loadedPagesRef.current + 1;
+ if (nextPage > totalPagesRef.current && totalPagesRef.current > 0) {
+ return;
+ }
+ await loadPage(nextPage);
+ }, [loadPage]);
+
+ const ensureFullExplorerData = useCallback(async () => {
+ if (fullLoadRef.current) {
+ return fullLoadRef.current;
+ }
+
+ fullLoadRef.current = (async () => {
+ setFullLoadProgress(null);
+ if (!loadedPagesRef.current) {
+ await loadPage(1);
}
- },
- {
- retry: false,
- // The query is disabled until hydration is complete
- enabled: isHydrated,
+ while (loadedPagesRef.current < totalPagesRef.current) {
+ setFullLoadProgress(`${loadedPagesRef.current}/${totalPagesRef.current}`);
+ await loadPage(loadedPagesRef.current + 1);
+ }
+ isFullStoreLoadedRef.current = true;
+ setIsFullStoreLoaded(true);
+ setFullLoadProgress(null);
+ await rebuildDataTree(dataStoreRef.current);
+ })();
+
+ try {
+ await fullLoadRef.current;
+ } finally {
+ fullLoadRef.current = null;
}
- );
+ }, [loadPage, rebuildDataTree]);
useEffect(() => {
- // Refined loading logic to account for the hydration phase
- if (!isHydrated) {
- setDataLoading(true);
- } else {
- setDataLoading(getStoreQuery.isLoading || getTreeQuery.isLoading);
- }
- }, [isHydrated, getStoreQuery.isLoading, getTreeQuery.isLoading]);
+ const hydrateStateFromDb = async () => {
+ const cached = await getDbObject(DATA_STORE_CACHE_KEY);
+ const cachedTree = await getDbObject(DATA_TREE_KEY);
+
+ if (isDataStoreCache(cached) && Object.keys(cached.store).length > 0) {
+ dataStoreRef.current = cached.store;
+ setDataStore(cached.store);
+ setLoadedPages(cached.loadedPages);
+ setTotalPages(cached.totalPages);
+ loadedPagesRef.current = cached.loadedPages;
+ totalPagesRef.current = cached.totalPages;
+ isFullStoreLoadedRef.current = cached.isFullStoreLoaded;
+ setIsFullStoreLoaded(cached.isFullStoreLoaded);
+ if (cachedTree?.length) {
+ setDataTree(cachedTree);
+ }
+ } else if (cached && typeof cached === 'object' && !isDataStoreCache(cached)) {
+ const legacyStore = cached as Record;
+ dataStoreRef.current = legacyStore;
+ setDataStore(legacyStore);
+ isFullStoreLoadedRef.current = true;
+ setIsFullStoreLoaded(true);
+ if (cachedTree?.length) {
+ setDataTree(cachedTree);
+ }
+ }
+
+ setIsHydrated(true);
+ };
+
+ hydrateStateFromDb();
+ }, []);
- // Added 'isHydrated' guard to prevent premature API calls
useEffect(() => {
- if (isHydrated) {
- getStoreQuery.refetch();
+ if (!isHydrated || bootstrapDoneRef.current) {
+ return;
}
- }, [dataTree, isHydrated]);
+ bootstrapDoneRef.current = true;
+
+ const bootstrap = async () => {
+ setDataLoading(true);
+ try {
+ if (loadedPagesRef.current === 0 && !isFullStoreLoadedRef.current) {
+ await loadPage(1);
+ } else if (Object.keys(dataStoreRef.current).length) {
+ await rebuildDataTree(dataStoreRef.current);
+ }
+ } catch {
+ // loadPage/rebuildDataTree already set dataLoadError
+ } finally {
+ setDataLoading(false);
+ }
+ };
+
+ bootstrap();
+ }, [isHydrated, loadPage, rebuildDataTree]);
useEffect(() => {
- if (isHydrated) {
- getTreeQuery.refetch();
+ if (!isHydrated || isFullStoreLoaded || loadedPages === 0) {
+ return;
}
- }, [dataStore, isHydrated]); // Also removed setDataStore from deps to be safer
+
+ const idleCallback = (window as Window & { requestIdleCallback?: Function }).requestIdleCallback;
+ const cancelIdleCallback = (window as Window & { cancelIdleCallback?: Function }).cancelIdleCallback;
+
+ const prefetch = () => {
+ if (!isFullStoreLoadedRef.current && loadedPagesRef.current < totalPagesRef.current) {
+ loadNextPage();
+ }
+ };
+
+ if (idleCallback) {
+ const handle = idleCallback(prefetch, { timeout: 4000 });
+ return () => cancelIdleCallback?.(handle);
+ }
+
+ const timer = window.setTimeout(prefetch, 2000);
+ return () => window.clearTimeout(timer);
+ }, [isHydrated, isFullStoreLoaded, loadedPages, totalPages, loadNextPage]);
+
+ const hasMore = !isFullStoreLoaded && loadedPages > 0 && loadedPages < totalPages;
return (
{
dataStore,
dataTree,
getStoreKey,
+ hasMore,
+ isLoadingMore,
+ fullLoadProgress,
+ dataLoadError,
+ loadNextPage,
+ ensureFullExplorerData,
}}
>
{children}
diff --git a/application/frontend/src/routes.tsx b/application/frontend/src/routes.tsx
index f26b63798..d2d495a97 100644
--- a/application/frontend/src/routes.tsx
+++ b/application/frontend/src/routes.tsx
@@ -17,6 +17,7 @@ import { CommonRequirementEnumeration, Graph, SearchPage, Standard } from './pag
import { BrowseRootCres } from './pages/BrowseRootCres/browseRootCres';
import { Chatbot } from './pages/chatbot/chatbot';
import { Explorer } from './pages/Explorer/explorer';
+import { withExplorerLayout } from './pages/Explorer/ExplorerLayout';
import { ExplorerCircles } from './pages/Explorer/visuals/circles/circles';
import { ExplorerForceGraph } from './pages/Explorer/visuals/force-graph/forceGraph';
import { GapAnalysis } from './pages/GapAnalysis/GapAnalysis';
@@ -25,6 +26,10 @@ import { MyOpenCRE } from './pages/MyOpenCRE/MyOpenCRE';
import { SearchName } from './pages/Search/SearchName';
import { StandardSection } from './pages/Standard/StandardSection';
+const ExplorerWithLayout = withExplorerLayout(Explorer);
+const ExplorerCirclesWithLayout = withExplorerLayout(ExplorerCircles);
+const ExplorerForceGraphWithLayout = withExplorerLayout(ExplorerForceGraph);
+
export interface IRoute {
path: string;
component: ReactNode | ReactNode[];
@@ -112,17 +117,17 @@ export const ROUTES = (capabilities: Capabilities): IRoute[] => [
},
{
path: `${EXPLORER}/circles`,
- component: ExplorerCircles,
+ component: ExplorerCirclesWithLayout,
showFilter: false,
},
{
path: `${EXPLORER}/force_graph`,
- component: ExplorerForceGraph,
+ component: ExplorerForceGraphWithLayout,
showFilter: false,
},
{
path: `${EXPLORER}`,
- component: Explorer,
+ component: ExplorerWithLayout,
showFilter: false,
},
];
diff --git a/application/frontend/src/types.ts b/application/frontend/src/types.ts
index 3b050b633..3389d1371 100644
--- a/application/frontend/src/types.ts
+++ b/application/frontend/src/types.ts
@@ -8,6 +8,8 @@ export interface Document {
id: string;
// For Standards
hyperlink?: string;
+ /** Resolved URL used for embedding fetch (e.g. with #fragment); optional chatbot-only field */
+ embeddingsUrl?: string;
section?: string;
subsection?: string;
tags?: string[];
diff --git a/application/frontend/www/bundle.js b/application/frontend/www/bundle.js
index e5ac0cc91..82b47922d 100644
--- a/application/frontend/www/bundle.js
+++ b/application/frontend/www/bundle.js
@@ -1,2 +1,2 @@
/*! For license information please see bundle.js.LICENSE.txt */
-(()=>{var e={23:e=>{"use strict";function t(e){e.languages.mizar={comment:/::.+/,keyword:/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\b/,parameter:{pattern:/\$(?:10|\d)/,alias:"variable"},variable:/\b\w+(?=:)/,number:/(?:\b|-)\d+\b/,operator:/\.\.\.|->|&|\.?=/,punctuation:/\(#|#\)|[,:;\[\](){}]/}}e.exports=t,t.displayName="mizar",t.aliases=[]},33:e=>{"use strict";function t(e){!function(e){for(var t=/\(\*(?:[^(*]|\((?!\*)|\*(?!\))|)*\*\)/.source,n=0;n<2;n++)t=t.replace(//g,function(){return t});t=t.replace(//g,"[]"),e.languages.coq={comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},attribute:[{pattern:RegExp(/#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|)*\]/.source.replace(//g,function(){return t})),greedy:!0,alias:"attr-name",inside:{comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},operator:/=/,punctuation:/^#\[|\]$|[,()]/}},{pattern:/\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,alias:"attr-name"}],keyword:/\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\b/,number:/\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,punct:{pattern:/@\{|\{\||\[=|:>/,alias:"punctuation"},operator:/\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,punctuation:/\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/}}(e)}e.exports=t,t.displayName="coq",t.aliases=[]},41:(e,t)=>{"use strict";var n,r,i,a;if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var l=null,u=null,f=function(){if(null!==l)try{var e=t.unstable_now();l(!0,e),l=null}catch(e){throw setTimeout(f,0),e}};n=function(e){null!==l?setTimeout(n,0,e):(l=e,setTimeout(f,0))},r=function(e,t){u=setTimeout(e,t)},i=function(){clearTimeout(u)},t.unstable_shouldYield=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var h=window.setTimeout,d=window.clearTimeout;if("undefined"!=typeof console){var p=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof p&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var g=!1,b=null,m=-1,w=5,v=0;t.unstable_shouldYield=function(){return t.unstable_now()>=v},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,i=e[r];if(!(void 0!==i&&0T(o,n))void 0!==c&&0>T(c,o)?(e[r]=c,e[s]=n,r=s):(e[r]=o,e[a]=n,r=a);else{if(!(void 0!==c&&0>T(c,n)))break e;e[r]=c,e[s]=n,r=s}}}return t}return null}function T(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var A=[],k=[],C=1,M=null,I=3,O=!1,R=!1,N=!1;function P(e){for(var t=S(k);null!==t;){if(null===t.callback)x(k);else{if(!(t.startTime<=e))break;x(k),t.sortIndex=t.expirationTime,_(A,t)}t=S(k)}}function L(e){if(N=!1,P(e),!R)if(null!==S(A))R=!0,n(D);else{var t=S(k);null!==t&&r(L,t.startTime-e)}}function D(e,n){R=!1,N&&(N=!1,i()),O=!0;var a=I;try{for(P(n),M=S(A);null!==M&&(!(M.expirationTime>n)||e&&!t.unstable_shouldYield());){var o=M.callback;if("function"==typeof o){M.callback=null,I=M.priorityLevel;var s=o(M.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?M.callback=s:M===S(A)&&x(A),P(n)}else x(A);M=S(A)}if(null!==M)var c=!0;else{var l=S(k);null!==l&&r(L,l.startTime-n),c=!1}return c}finally{M=null,I=a,O=!1}}var F=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){R||O||(R=!0,n(D))},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_getFirstCallbackNode=function(){return S(A)},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var n=I;I=t;try{return e()}finally{I=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=F,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=I;I=e;try{return t()}finally{I=n}},t.unstable_scheduleCallback=function(e,a,o){var s=t.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0s?(e.sortIndex=o,_(k,e),null===S(A)&&e===S(k)&&(N?i():N=!0,r(L,o-s))):(e.sortIndex=c,_(A,e),R||O||(R=!0,n(D))),e},t.unstable_wrapCallback=function(e){var t=I;return function(){var n=I;I=t;try{return e.apply(this,arguments)}finally{I=n}}}},56:e=>{"use strict";function t(e){!function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(e)}e.exports=t,t.displayName="stylus",t.aliases=[]},58:e=>{"use strict";function t(e){!function(e){var t=/(?:\r?\n|\r)[ \t]*\|.+\|(?:(?!\|).)*/.source;e.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias:"string"},comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},tag:{pattern:/(^[ \t]*)@\S*/m,lookbehind:!0},feature:{pattern:/((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]+/,lookbehind:!0},keyword:/[^:\r\n]+:/}},scenario:{pattern:/(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/m,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]*/,lookbehind:!0},keyword:/[^:\r\n]+:/}},"table-body":{pattern:RegExp("("+t+")(?:"+t+")+"),lookbehind:!0,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"},td:{pattern:/\s*[^\s|][^|]*/,alias:"string"},punctuation:/\|/}},"table-head":{pattern:RegExp(t),inside:{th:{pattern:/\s*[^\s|][^|]*/,alias:"variable"},punctuation:/\|/}},atrule:{pattern:/(^[ \t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t])/m,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"}}},outline:{pattern:/<[^>]+>/,alias:"variable"}}}(e)}e.exports=t,t.displayName="gherkin",t.aliases=[]},60:e=>{"use strict";function t(e){e.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/}}e.exports=t,t.displayName="xojo",t.aliases=[]},61:e=>{"use strict";function t(e){e.languages["splunk-spl"]={comment:/`comment\("(?:\\.|[^\\"])*"\)`/,string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0},keyword:/\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b/i,"operator-word":{pattern:/\b(?:and|as|by|not|or|xor)\b/i,alias:"operator"},function:/\b\w+(?=\s*\()/,property:/\b\w+(?=\s*=(?!=))/,date:{pattern:/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/,alias:"number"},number:/\b\d+(?:\.\d+)?\b/,boolean:/\b(?:f|false|t|true)\b/i,operator:/[<>=]=?|[-+*/%|]/,punctuation:/[()[\],]/}}e.exports=t,t.displayName="splunkSpl",t.aliases=[]},70:(e,t,n)=>{"use strict";var r=n(8433);function i(e){e.register(r),e.languages.objectivec=e.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec["class-name"],e.languages.objc=e.languages.objectivec}e.exports=i,i.displayName="objectivec",i.aliases=["objc"]},73:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(5248),i=n.n(r)()(function(e){return e[1]});i.push([e.id,"main#gap-analysis{padding:30px;margin:var(--header-height) 0}main#gap-analysis span.name{padding:0 10px}@media(min-width: 0px)and (max-width: 500px){main#gap-analysis span.name{width:85px;display:inline-block}}",""]);const a=i},81:(e,t,n)=>{const r=n(3103);function i(e,t){return`\n${o(e,t)}\n${a(e)}\nreturn {Body: Body, Vector: Vector};\n`}function a(e){let t=r(e),n=t("{var}",{join:", "});return`\nfunction Body(${n}) {\n this.isPinned = false;\n this.pos = new Vector(${n});\n this.force = new Vector();\n this.velocity = new Vector();\n this.mass = 1;\n\n this.springCount = 0;\n this.springLength = 0;\n}\n\nBody.prototype.reset = function() {\n this.force.reset();\n this.springCount = 0;\n this.springLength = 0;\n}\n\nBody.prototype.setPosition = function (${n}) {\n ${t("this.pos.{var} = {var} || 0;",{indent:2})}\n};`}function o(e,t){let n=r(e),i="";return t&&(i=`${n("\n var v{var};\nObject.defineProperty(this, '{var}', {\n set: function(v) { \n if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}');\n v{var} = v; \n },\n get: function() { return v{var}; }\n});")}`),`function Vector(${n("{var}",{join:", "})}) {\n ${i}\n if (typeof arguments[0] === 'object') {\n // could be another vector\n let v = arguments[0];\n ${n('if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");',{indent:4})}\n ${n("this.{var} = v.{var};",{indent:4})}\n } else {\n ${n('this.{var} = typeof {var} === "number" ? {var} : 0;',{indent:4})}\n }\n }\n \n Vector.prototype.reset = function () {\n ${n("this.{var} = ",{join:""})}0;\n };`}e.exports=function(e,t){let n=i(e,t),{Body:r}=new Function(n)();return r},e.exports.generateCreateBodyFunctionBody=i,e.exports.getVectorCode=o,e.exports.getBodyCode=a},94:(e,t,n)=>{"use strict";var r=n(618);function i(e){e.register(r),function(e){e.languages.crystal=e.languages.extend("ruby",{keyword:[/\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:!0}],number:/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,operator:[/->/,e.languages.ruby.operator],punctuation:/[(){}[\].,;\\]/}),e.languages.insertBefore("crystal","string-literal",{attribute:{pattern:/@\[.*?\]/,inside:{delimiter:{pattern:/^@\[|\]$/,alias:"punctuation"},attribute:{pattern:/^(\s*)\w+/,lookbehind:!0,alias:"class-name"},args:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.crystal}}},expansion:{pattern:/\{(?:\{.*?\}|%.*?%)\}/,inside:{content:{pattern:/^(\{.)[\s\S]+(?=.\}$)/,lookbehind:!0,inside:e.languages.crystal},delimiter:{pattern:/^\{[\{%]|[\}%]\}$/,alias:"operator"}}},char:{pattern:/'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,greedy:!0}})}(e)}e.exports=i,i.displayName="crystal",i.aliases=[]},98:(e,t,n)=>{"use strict";var r=n(2046),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,a,o={};return e?(r.forEach(e.split("\n"),function(e){if(a=e.indexOf(":"),t=r.trim(e.substr(0,a)).toLowerCase(),n=r.trim(e.substr(a+1)),t){if(o[t]&&i.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([n]):o[t]?o[t]+", "+n:n}}),o):o}},153:e=>{"use strict";function t(e){!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),"diff"===n&&i.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(e)}e.exports=t,t.displayName="diff",t.aliases=[]},164:(e,t,n)=>{"use strict";var r=n(5880);function i(e){e.register(r),e.languages.plsql=e.languages.extend("sql",{comment:{pattern:/\/\*[\s\S]*?\*\/|--.*/,greedy:!0},keyword:/\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\b/i,operator:/:=?|=>|[<>^~!]=|\.\.|\|\||\*\*|[-+*/%<>=@]/}),e.languages.insertBefore("plsql","operator",{label:{pattern:/<<\s*\w+\s*>>/,alias:"symbol"}})}e.exports=i,i.displayName="plsql",i.aliases=[]},187:e=>{"use strict";function t(e){e.languages.jolie=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\[\s\S]|[^"\\])*"/,lookbehind:!0,greedy:!0},"class-name":{pattern:/((?:\b(?:as|courier|embed|in|inputPort|outputPort|service)\b|@)[ \t]*)\w+/,lookbehind:!0},keyword:/\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\b/,function:/\b[a-z_]\w*(?=[ \t]*[@(])/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?l?/i,operator:/-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[?\/%^@|]/,punctuation:/[()[\]{},;.:]/,builtin:/\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\b/}),e.languages.insertBefore("jolie","keyword",{aggregates:{pattern:/(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,lookbehind:!0,inside:{keyword:/\bwith\b/,"class-name":/\w+/,punctuation:/,/}},redirects:{pattern:/(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,lookbehind:!0,inside:{punctuation:/,/,"class-name":/\w+/,operator:/=>/}},property:{pattern:/\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\b(?=[ \t]*:)/}})}e.exports=t,t.displayName="jolie",t.aliases=[]},261:(e,t,n)=>{"use strict";e.exports=n(4505)},267:(e,t,n)=>{"use strict";var r=n(4696);function i(e){e.register(r),e.languages.sparql=e.languages.extend("turtle",{boolean:/\b(?:false|true)\b/i,variable:{pattern:/[?$]\w+/,greedy:!0}}),e.languages.insertBefore("sparql","punctuation",{keyword:[/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i,/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i,/\b(?:BASE|GRAPH|PREFIX)\b/i]}),e.languages.rq=e.languages.sparql}e.exports=i,i.displayName="sparql",i.aliases=["rq"]},276:(e,t,n)=>{"use strict";var r=n(2046),i=n(7595),a=n(8854),o=n(3725);function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return s(e),e.headers=e.headers||{},e.data=i.call(e,e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]}),(e.adapter||o.adapter)(e).then(function(t){return s(e),t.data=i.call(e,t.data,t.headers,e.transformResponse),t},function(t){return a(t)||(s(e),t&&t.response&&(t.response.data=i.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},309:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(5248),i=n.n(r)()(function(e){return e[1]});i.push([e.id,"main#explorer-content{padding:30px;margin:var(--header-height) 0}main#explorer-content .search-field input{font-size:16px;height:32px;width:320px;margin-bottom:10px;border-radius:3px;border:1px solid #858585;padding:0 5px}main#explorer-content #graphs-menu{display:flex;margin-bottom:20px}main#explorer-content #graphs-menu .menu-title{margin:0 10px 0 0}main#explorer-content #graphs-menu ul{list-style:none;padding:0;margin:0;display:flex;font-size:15px}main#explorer-content #graphs-menu li{padding:0 8px}main#explorer-content #graphs-menu li+li{border-left:1px solid #b1b0b0}main#explorer-content #graphs-menu li:first-child{padding-left:0}main#explorer-content .list{padding:0;width:100%}main#explorer-content .arrow .icon{transform:rotate(-90deg)}main#explorer-content .arrow.active .icon{transform:rotate(0)}main#explorer-content .arrow:hover{cursor:pointer}main#explorer-content .item{border-top:1px dotted #d3d3d3;border-left:6px solid #d3d3d3;margin:4px 4px 4px 40px;background-color:rgba(200,200,200,.2);vertical-align:middle}main#explorer-content .item .content{display:flex;flex-wrap:wrap}main#explorer-content .item .header{margin-left:5px;overflow:hidden;white-space:nowrap;display:flex;align-items:center;vertical-align:middle}main#explorer-content .item .header>a{font-size:120%;line-height:30px;font-weight:bold;max-width:100%;white-space:normal}main#explorer-content .item .header .cre-code{margin-right:4px;color:gray}main#explorer-content .item .description{margin-left:20px}main#explorer-content .highlight{background-color:#ff0}main#explorer-content>.list>.item{margin-left:0}@media(min-width: 0px)and (max-width: 770px){#graphs-menu{flex-direction:column}}",""]);const a=i},310:e=>{"use strict";function t(e){e.languages.aql={comment:/\/\/.*|\/\*[\s\S]*?\*\//,property:{pattern:/([{,]\s*)(?:(?!\d)\w+|(["'´`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},identifier:{pattern:/([´`])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},variable:/@@?\w+/,keyword:[{pattern:/(\bWITH\s+)COUNT(?=\s+INTO\b)/i,lookbehind:!0},/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\b/i,{pattern:/(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i,lookbehind:!0},{pattern:/(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/,lookbehind:!0},{pattern:/\bOPTIONS(?=\s*\{)/i}],function:/\b(?!\d)\w+(?=\s*\()/,boolean:/\b(?:false|true)\b/i,range:{pattern:/\.\./,alias:"operator"},number:[/\b0b[01]+/i,/\b0x[0-9a-f]+/i,/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i],operator:/\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/,punctuation:/::|[?.:,;()[\]{}]/}}e.exports=t,t.displayName="aql",t.aliases=[]},323:e=>{"use strict";function t(e){e.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=≠≤≥*+\-\/÷^]|[<>]=?/,/\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\b/],keyword:/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,"class-name":/\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\b/,punctuation:/[{}():,¬«»《》]/}}e.exports=t,t.displayName="applescript",t.aliases=[]},334:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var a,o,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c{"use strict";function t(e){!function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(e)}e.exports=t,t.displayName="kotlin",t.aliases=["kt","kts"]},358:e=>{"use strict";function t(e){e.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},e.languages.uc=e.languages.uscript=e.languages.unrealscript}e.exports=t,t.displayName="unrealscript",t.aliases=["uc","uscript"]},377:e=>{"use strict";function t(e){e.languages.eiffel={comment:/--.*/,string:[{pattern:/"([^[]*)\[[\s\S]*?\]\1"/,greedy:!0},{pattern:/"([^{]*)\{[\s\S]*?\}\1"/,greedy:!0},{pattern:/"(?:%(?:(?!\n)\s)*\n\s*%|%\S|[^%"\r\n])*"/,greedy:!0}],char:/'(?:%.|[^%'\r\n])+'/,keyword:/\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,boolean:/\b(?:False|True)\b/i,"class-name":/\b[A-Z][\dA-Z_]*\b/,number:[/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i],punctuation:/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,operator:/\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/}}e.exports=t,t.displayName="eiffel",t.aliases=[]},394:e=>{"use strict";function t(e){!function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(e){return"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(t).join("")},n=function(r){for(var i=[],a=0;a0&&i[i.length-1].tagName===t(o.content[0].content[1])&&i.pop():"/>"===o.content[o.content.length-1].content||i.push({tagName:t(o.content[0].content[1]),openedBraces:0}):!(i.length>0&&"punctuation"===o.type&&"{"===o.content)||r[a+1]&&"punctuation"===r[a+1].type&&"{"===r[a+1].content||r[a-1]&&"plain-text"===r[a-1].type&&"{"===r[a-1].content?i.length>0&&i[i.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?i[i.length-1].openedBraces--:"comment"!==o.type&&(s=!0):i[i.length-1].openedBraces++),(s||"string"==typeof o)&&i.length>0&&0===i[i.length-1].openedBraces){var c=t(o);a0&&("string"==typeof r[a-1]||"plain-text"===r[a-1].type)&&(c=t(r[a-1])+c,r.splice(a-1,1),a--),/^\s+$/.test(c)?r[a]=c:r[a]=new e.Token("plain-text",c,null,c)}o.content&&"string"!=typeof o.content&&n(o.content)}};e.hooks.add("after-tokenize",function(e){"xquery"===e.language&&n(e.tokens)})}(e)}e.exports=t,t.displayName="xquery",t.aliases=[]},416:(e,t,n)=>{"use strict";n.d(t,{B:()=>a,t:()=>i});var r=console;function i(){return r}function a(e){r=e}},437:(e,t,n)=>{"use strict";var r=n(2046);e.exports=function(e,t){t=t||{};var n={},i=["url","method","data"],a=["headers","auth","proxy","params"],o=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],s=["validateStatus"];function c(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function l(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=c(void 0,e[i])):n[i]=c(e[i],t[i])}r.forEach(i,function(e){r.isUndefined(t[e])||(n[e]=c(void 0,t[e]))}),r.forEach(a,l),r.forEach(o,function(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=c(void 0,e[i])):n[i]=c(void 0,t[i])}),r.forEach(s,function(r){r in t?n[r]=c(e[r],t[r]):r in e&&(n[r]=c(void 0,e[r]))});var u=i.concat(a).concat(o).concat(s),f=Object.keys(e).concat(Object.keys(t)).filter(function(e){return-1===u.indexOf(e)});return r.forEach(f,l),n}},452:e=>{"use strict";function t(e){!function(e){e.languages.ignore={comment:/^#.*/m,entry:{pattern:/\S(?:.*(?:(?:\\ )|\S))?/,alias:"string",inside:{operator:/^!|\*\*?|\?/,regex:{pattern:/(^|[^\\])\[[^\[\]]*\]/,lookbehind:!0},punctuation:/\//}}},e.languages.gitignore=e.languages.ignore,e.languages.hgignore=e.languages.ignore,e.languages.npmignore=e.languages.ignore}(e)}e.exports=t,t.displayName="ignore",t.aliases=["gitignore","hgignore","npmignore"]},463:e=>{"use strict";function t(e){e.languages.nasm={comment:/;.*$/m,string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,label:{pattern:/(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m,lookbehind:!0,alias:"function"},keyword:[/\[?BITS (?:16|32|64)\]?/,{pattern:/(^\s*)section\s*[a-z.]+:?/im,lookbehind:!0},/(?:extern|global)[^;\r\n]*/i,/(?:CPU|DEFAULT|FLOAT).*$/m],register:{pattern:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s)\b/i,alias:"variable"},number:/(?:\b|(?=\$))(?:0[hx](?:\.[\da-f]+|[\da-f]+(?:\.[\da-f]+)?)(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-\/%<>=&|$!]/}}e.exports=t,t.displayName="nasm",t.aliases=[]},497:e=>{"use strict";function t(e){!function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity}(e)}e.exports=t,t.displayName="velocity",t.aliases=[]},512:e=>{"use strict";function t(e){e.languages.cil={comment:/\/\/.*/,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},directive:{pattern:/(^|\W)\.[a-z]+(?=\s)/,lookbehind:!0,alias:"class-name"},variable:/\[[\w\.]+\]/,keyword:/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/,function:/\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|castclass|ldvirtftn|beq(?:\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\b/,boolean:/\b(?:false|true)\b/,number:/\b-?(?:0x[0-9a-f]+|\d+)(?:\.[0-9a-f]+)?\b/i,punctuation:/[{}[\];(),:=]|IL_[0-9A-Za-z]+/}}e.exports=t,t.displayName="cil",t.aliases=[]},527:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(5248),i=n.n(r)()(function(e){return e[1]});i.push([e.id,'.node{cursor:pointer}.node:hover{stroke:#000;stroke-width:1.5px}.node--leaf{fill:#fff}.label{font:11px "Helvetica Neue",Helvetica,Arial,sans-serif;text-anchor:middle;text-shadow:0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff,0 -1px 0 #fff}.label,.node--root,.ui.button.screen-size-button{margin:0;background-color:rgba(0,0,0,0)}.circle-tooltip{box-shadow:0 2px 5px rgba(0,0,0,.2);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;max-width:300px;word-wrap:break-word}.breadcrumb-item{word-break:break-word;overflow-wrap:anywhere;display:inline;max-width:100%}.breadcrumb-container{margin-top:0 !important;margin-bottom:0 !important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:10px;background-color:#f8f8f8;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:auto;max-width:100%;line-height:1.4;white-space:normal;word-break:break-word;overflow-wrap:anywhere}',""]);const a=i},543:e=>{"use strict";function t(e){!function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,i=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+i+a+"(?:"+i+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+i+a+")(?:"+i+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+i+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+i+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add("after-tokenize",function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},c=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(e)}e.exports=t,t.displayName="markdown",t.aliases=["md"]},571:e=>{"use strict";e.exports=n;var t=n.prototype;function n(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}t.space=null,t.normal={},t.property={}},597:(e,t,n)=>{"use strict";var r=n(8433);function i(e){e.register(r),e.languages.hlsl=e.languages.extend("c",{"class-name":[e.languages.c["class-name"],/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/],keyword:[/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/,/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/],number:/(?:(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/,boolean:/\b(?:false|true)\b/})}e.exports=i,i.displayName="hlsl",i.aliases=[]},604:e=>{"use strict";function t(e){e.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,constant:/\b(?:library|use)\b/i,keyword:/\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="vhdl",t.aliases=[]},613:(e,t,n)=>{e.exports=function(e){var t=n(2074),f=n(2475),h=n(5975);if(e){if(void 0!==e.springCoeff)throw new Error("springCoeff was renamed to springCoefficient");if(void 0!==e.dragCoeff)throw new Error("dragCoeff was renamed to dragCoefficient")}e=f(e,{springLength:10,springCoefficient:.8,gravity:-12,theta:.8,dragCoefficient:.9,timeStep:.5,adaptiveTimeStepWeight:0,dimensions:2,debug:!1});var d=l[e.dimensions];if(!d){var p=e.dimensions;d={Body:r(p,e.debug),createQuadTree:i(p),createBounds:a(p),createDragForce:o(p),createSpringForce:s(p),integrate:c(p)},l[p]=d}var g=d.Body,b=d.createQuadTree,m=d.createBounds,w=d.createDragForce,v=d.createSpringForce,y=d.integrate,E=n(4374).random(42),_=[],S=[],x=b(e,E),T=m(_,e,E),A=v(e,E),k=w(e),C=[],M=new Map,I=0;N("nbody",function(){if(0!==_.length){x.insertBodies(_);for(var e=_.length;e--;){var t=_[e];t.isPinned||(t.reset(),x.updateBodyForce(t),k.update(t))}}}),N("spring",function(){for(var e=S.length;e--;)A.update(S[e])});var O={bodies:_,quadTree:x,springs:S,settings:e,addForce:N,removeForce:function(e){var t=C.indexOf(M.get(e));t<0||(C.splice(t,1),M.delete(e))},getForces:function(){return M},step:function(){for(var t=0;tnew g(e))(e);return _.push(t),t},removeBody:function(e){if(e){var t=_.indexOf(e);if(!(t<0))return _.splice(t,1),0===_.length&&T.reset(),!0}},addSpring:function(e,n,r,i){if(!e||!n)throw new Error("Cannot add null spring to force simulator");"number"!=typeof r&&(r=-1);var a=new t(e,n,r,i>=0?i:-1);return S.push(a),a},getTotalMovement:function(){return 0},removeSpring:function(e){if(e){var t=S.indexOf(e);return t>-1?(S.splice(t,1),!0):void 0}},getBestNewBodyPosition:function(e){return T.getBestNewPosition(e)},getBBox:R,getBoundingBox:R,invalidateBBox:function(){console.warn("invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call")},gravity:function(t){return void 0!==t?(e.gravity=t,x.options({gravity:t}),this):e.gravity},theta:function(t){return void 0!==t?(e.theta=t,x.options({theta:t}),this):e.theta},random:E};return function(e,t){for(var n in e)u(e,t,n)}(e,O),h(O),O;function R(){return T.update(),T.box}function N(e,t){if(M.has(e))throw new Error("Force "+e+" is already added");M.set(e,t),C.push(t)}};var r=n(81),i=n(934),a=n(3599),o=n(5788),s=n(1325),c=n(680),l={};function u(e,t,n){if(e.hasOwnProperty(n)&&"function"!=typeof t[n]){var r=Number.isFinite(e[n]);t[n]=r?function(r){if(void 0!==r){if(!Number.isFinite(r))throw new Error("Value of "+n+" should be a valid number.");return e[n]=r,t}return e[n]}:function(r){return void 0!==r?(e[n]=r,t):e[n]}}}},618:e=>{"use strict";function t(e){!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(e)}e.exports=t,t.displayName="ruby",t.aliases=["rb"]},640:e=>{"use strict";function t(e){!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(e)}e.exports=t,t.displayName="sass",t.aliases=[]},672:function(e){e.exports=function(){"use strict";const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:r,getOwnPropertyDescriptor:i}=Object;let{freeze:a,seal:o,create:s}=Object,{apply:c,construct:l}="undefined"!=typeof Reflect&&Reflect;c||(c=function(e,t,n){return e.apply(t,n)}),a||(a=function(e){return e}),o||(o=function(e){return e}),l||(l=function(e,t){return new e(...t)});const u=_(Array.prototype.forEach),f=_(Array.prototype.pop),h=_(Array.prototype.push),d=_(String.prototype.toLowerCase),p=_(String.prototype.toString),g=_(String.prototype.match),b=_(String.prototype.replace),m=_(String.prototype.indexOf),w=_(String.prototype.trim),v=_(RegExp.prototype.test),y=(E=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),i=1;i/gm),j=o(/\${[\w\W]*}/gm),B=o(/^data-[\-\w.\u00B7-\uFFFF]/),z=o(/^aria-[\-\w]+$/),$=o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),H=o(/^(?:\w+script|data):/i),G=o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),V=o(/^html$/i);var W=Object.freeze({__proto__:null,MUSTACHE_EXPR:F,ERB_EXPR:U,TMPLIT_EXPR:j,DATA_ATTR:B,ARIA_ATTR:z,IS_ALLOWED_URI:$,IS_SCRIPT_OR_DATA:H,ATTR_WHITESPACE:G,DOCTYPE_NAME:V});const q=()=>"undefined"==typeof window?null:window;return function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:q();const r=e=>t(e);if(r.version="3.0.5",r.removed=[],!n||!n.document||9!==n.document.nodeType)return r.isSupported=!1,r;const i=n.document,o=i.currentScript;let{document:s}=n;const{DocumentFragment:c,HTMLTemplateElement:l,Node:E,Element:_,NodeFilter:F,NamedNodeMap:U=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:j,DOMParser:B,trustedTypes:z}=n,H=_.prototype,G=T(H,"cloneNode"),X=T(H,"nextSibling"),Y=T(H,"childNodes"),K=T(H,"parentNode");if("function"==typeof l){const e=s.createElement("template");e.content&&e.content.ownerDocument&&(s=e.content.ownerDocument)}let Z,Q="";const{implementation:J,createNodeIterator:ee,createDocumentFragment:te,getElementsByTagName:ne}=s,{importNode:re}=i;let ie={};r.isSupported="function"==typeof e&&"function"==typeof K&&J&&void 0!==J.createHTMLDocument;const{MUSTACHE_EXPR:ae,ERB_EXPR:oe,TMPLIT_EXPR:se,DATA_ATTR:ce,ARIA_ATTR:le,IS_SCRIPT_OR_DATA:ue,ATTR_WHITESPACE:fe}=W;let{IS_ALLOWED_URI:he}=W,de=null;const pe=S({},[...A,...k,...C,...I,...R]);let ge=null;const be=S({},[...N,...P,...L,...D]);let me=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),we=null,ve=null,ye=!0,Ee=!0,_e=!1,Se=!0,xe=!1,Te=!1,Ae=!1,ke=!1,Ce=!1,Me=!1,Ie=!1,Oe=!0,Re=!1,Ne=!0,Pe=!1,Le={},De=null;const Fe=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Ue=null;const je=S({},["audio","video","img","source","image","track"]);let Be=null;const ze=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),$e="http://www.w3.org/1998/Math/MathML",He="http://www.w3.org/2000/svg",Ge="http://www.w3.org/1999/xhtml";let Ve=Ge,We=!1,qe=null;const Xe=S({},[$e,He,Ge],p);let Ye;const Ke=["application/xhtml+xml","text/html"];let Ze,Qe=null;const Je=s.createElement("form"),et=function(e){return e instanceof RegExp||e instanceof Function},tt=function(e){if(!Qe||Qe!==e){if(e&&"object"==typeof e||(e={}),e=x(e),Ye=Ye=-1===Ke.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,Ze="application/xhtml+xml"===Ye?p:d,de="ALLOWED_TAGS"in e?S({},e.ALLOWED_TAGS,Ze):pe,ge="ALLOWED_ATTR"in e?S({},e.ALLOWED_ATTR,Ze):be,qe="ALLOWED_NAMESPACES"in e?S({},e.ALLOWED_NAMESPACES,p):Xe,Be="ADD_URI_SAFE_ATTR"in e?S(x(ze),e.ADD_URI_SAFE_ATTR,Ze):ze,Ue="ADD_DATA_URI_TAGS"in e?S(x(je),e.ADD_DATA_URI_TAGS,Ze):je,De="FORBID_CONTENTS"in e?S({},e.FORBID_CONTENTS,Ze):Fe,we="FORBID_TAGS"in e?S({},e.FORBID_TAGS,Ze):{},ve="FORBID_ATTR"in e?S({},e.FORBID_ATTR,Ze):{},Le="USE_PROFILES"in e&&e.USE_PROFILES,ye=!1!==e.ALLOW_ARIA_ATTR,Ee=!1!==e.ALLOW_DATA_ATTR,_e=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Se=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,xe=e.SAFE_FOR_TEMPLATES||!1,Te=e.WHOLE_DOCUMENT||!1,Ce=e.RETURN_DOM||!1,Me=e.RETURN_DOM_FRAGMENT||!1,Ie=e.RETURN_TRUSTED_TYPE||!1,ke=e.FORCE_BODY||!1,Oe=!1!==e.SANITIZE_DOM,Re=e.SANITIZE_NAMED_PROPS||!1,Ne=!1!==e.KEEP_CONTENT,Pe=e.IN_PLACE||!1,he=e.ALLOWED_URI_REGEXP||$,Ve=e.NAMESPACE||Ge,me=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&et(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(me.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&et(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(me.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(me.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),xe&&(Ee=!1),Me&&(Ce=!0),Le&&(de=S({},[...R]),ge=[],!0===Le.html&&(S(de,A),S(ge,N)),!0===Le.svg&&(S(de,k),S(ge,P),S(ge,D)),!0===Le.svgFilters&&(S(de,C),S(ge,P),S(ge,D)),!0===Le.mathMl&&(S(de,I),S(ge,L),S(ge,D))),e.ADD_TAGS&&(de===pe&&(de=x(de)),S(de,e.ADD_TAGS,Ze)),e.ADD_ATTR&&(ge===be&&(ge=x(ge)),S(ge,e.ADD_ATTR,Ze)),e.ADD_URI_SAFE_ATTR&&S(Be,e.ADD_URI_SAFE_ATTR,Ze),e.FORBID_CONTENTS&&(De===Fe&&(De=x(De)),S(De,e.FORBID_CONTENTS,Ze)),Ne&&(de["#text"]=!0),Te&&S(de,["html","head","body"]),de.table&&(S(de,["tbody"]),delete we.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw y('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw y('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Z=e.TRUSTED_TYPES_POLICY,Q=Z.createHTML("")}else void 0===Z&&(Z=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));const i="dompurify"+(n?"#"+n:"");try{return e.createPolicy(i,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+i+" could not be created."),null}}(z,o)),null!==Z&&"string"==typeof Q&&(Q=Z.createHTML(""));a&&a(e),Qe=e}},nt=S({},["mi","mo","mn","ms","mtext"]),rt=S({},["foreignobject","desc","title","annotation-xml"]),it=S({},["title","style","font","a","script"]),at=S({},k);S(at,C),S(at,M);const ot=S({},I);S(ot,O);const st=function(e){h(r.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},ct=function(e,t){try{h(r.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){h(r.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!ge[e])if(Ce||Me)try{st(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},lt=function(e){let t,n;if(ke)e=" "+e;else{const t=g(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===Ye&&Ve===Ge&&(e=''+e+"");const r=Z?Z.createHTML(e):e;if(Ve===Ge)try{t=(new B).parseFromString(r,Ye)}catch(e){}if(!t||!t.documentElement){t=J.createDocument(Ve,"template",null);try{t.documentElement.innerHTML=We?Q:r}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(s.createTextNode(n),i.childNodes[0]||null),Ve===Ge?ne.call(t,Te?"html":"body")[0]:Te?t.documentElement:i},ut=function(e){return ee.call(e.ownerDocument||e,e,F.SHOW_ELEMENT|F.SHOW_COMMENT|F.SHOW_TEXT,null,!1)},ft=function(e){return"object"==typeof E?e instanceof E:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ht=function(e,t,n){ie[e]&&u(ie[e],e=>{e.call(r,t,n,Qe)})},dt=function(e){let t;if(ht("beforeSanitizeElements",e,null),(n=e)instanceof j&&("string"!=typeof n.nodeName||"string"!=typeof n.textContent||"function"!=typeof n.removeChild||!(n.attributes instanceof U)||"function"!=typeof n.removeAttribute||"function"!=typeof n.setAttribute||"string"!=typeof n.namespaceURI||"function"!=typeof n.insertBefore||"function"!=typeof n.hasChildNodes))return st(e),!0;var n;const i=Ze(e.nodeName);if(ht("uponSanitizeElement",e,{tagName:i,allowedTags:de}),e.hasChildNodes()&&!ft(e.firstElementChild)&&(!ft(e.content)||!ft(e.content.firstElementChild))&&v(/<[/\w]/g,e.innerHTML)&&v(/<[/\w]/g,e.textContent))return st(e),!0;if(!de[i]||we[i]){if(!we[i]&>(i)){if(me.tagNameCheck instanceof RegExp&&v(me.tagNameCheck,i))return!1;if(me.tagNameCheck instanceof Function&&me.tagNameCheck(i))return!1}if(Ne&&!De[i]){const t=K(e)||e.parentNode,n=Y(e)||e.childNodes;if(n&&t)for(let r=n.length-1;r>=0;--r)t.insertBefore(G(n[r],!0),X(e))}return st(e),!0}return e instanceof _&&!function(e){let t=K(e);t&&t.tagName||(t={namespaceURI:Ve,tagName:"template"});const n=d(e.tagName),r=d(t.tagName);return!!qe[e.namespaceURI]&&(e.namespaceURI===He?t.namespaceURI===Ge?"svg"===n:t.namespaceURI===$e?"svg"===n&&("annotation-xml"===r||nt[r]):Boolean(at[n]):e.namespaceURI===$e?t.namespaceURI===Ge?"math"===n:t.namespaceURI===He?"math"===n&&rt[r]:Boolean(ot[n]):e.namespaceURI===Ge?!(t.namespaceURI===He&&!rt[r])&&!(t.namespaceURI===$e&&!nt[r])&&!ot[n]&&(it[n]||!at[n]):!("application/xhtml+xml"!==Ye||!qe[e.namespaceURI]))}(e)?(st(e),!0):"noscript"!==i&&"noembed"!==i&&"noframes"!==i||!v(/<\/no(script|embed|frames)/i,e.innerHTML)?(xe&&3===e.nodeType&&(t=e.textContent,t=b(t,ae," "),t=b(t,oe," "),t=b(t,se," "),e.textContent!==t&&(h(r.removed,{element:e.cloneNode()}),e.textContent=t)),ht("afterSanitizeElements",e,null),!1):(st(e),!0)},pt=function(e,t,n){if(Oe&&("id"===t||"name"===t)&&(n in s||n in Je))return!1;if(Ee&&!ve[t]&&v(ce,t));else if(ye&&v(le,t));else if(!ge[t]||ve[t]){if(!(gt(e)&&(me.tagNameCheck instanceof RegExp&&v(me.tagNameCheck,e)||me.tagNameCheck instanceof Function&&me.tagNameCheck(e))&&(me.attributeNameCheck instanceof RegExp&&v(me.attributeNameCheck,t)||me.attributeNameCheck instanceof Function&&me.attributeNameCheck(t))||"is"===t&&me.allowCustomizedBuiltInElements&&(me.tagNameCheck instanceof RegExp&&v(me.tagNameCheck,n)||me.tagNameCheck instanceof Function&&me.tagNameCheck(n))))return!1}else if(Be[t]);else if(v(he,b(n,fe,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==m(n,"data:")||!Ue[e])if(_e&&!v(ue,b(n,fe,"")));else if(n)return!1;return!0},gt=function(e){return e.indexOf("-")>0},bt=function(e){let t,n,i,a;ht("beforeSanitizeAttributes",e,null);const{attributes:o}=e;if(!o)return;const s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ge};for(a=o.length;a--;){t=o[a];const{name:c,namespaceURI:l}=t;if(n="value"===c?t.value:w(t.value),i=Ze(c),s.attrName=i,s.attrValue=n,s.keepAttr=!0,s.forceKeepAttr=void 0,ht("uponSanitizeAttribute",e,s),n=s.attrValue,s.forceKeepAttr)continue;if(ct(c,e),!s.keepAttr)continue;if(!Se&&v(/\/>/i,n)){ct(c,e);continue}xe&&(n=b(n,ae," "),n=b(n,oe," "),n=b(n,se," "));const u=Ze(e.nodeName);if(pt(u,i,n)){if(!Re||"id"!==i&&"name"!==i||(ct(c,e),n="user-content-"+n),Z&&"object"==typeof z&&"function"==typeof z.getAttributeType)if(l);else switch(z.getAttributeType(u,i)){case"TrustedHTML":n=Z.createHTML(n);break;case"TrustedScriptURL":n=Z.createScriptURL(n)}try{l?e.setAttributeNS(l,c,n):e.setAttribute(c,n),f(r.removed)}catch(e){}}}ht("afterSanitizeAttributes",e,null)},mt=function e(t){let n;const r=ut(t);for(ht("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)ht("uponSanitizeShadowNode",n,null),dt(n)||(n.content instanceof c&&e(n.content),bt(n));ht("afterSanitizeShadowDOM",t,null)};return r.sanitize=function(e){let t,n,a,o,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(We=!e,We&&(e="\x3c!--\x3e"),"string"!=typeof e&&!ft(e)){if("function"!=typeof e.toString)throw y("toString is not a function");if("string"!=typeof(e=e.toString()))throw y("dirty is not a string, aborting")}if(!r.isSupported)return e;if(Ae||tt(s),r.removed=[],"string"==typeof e&&(Pe=!1),Pe){if(e.nodeName){const t=Ze(e.nodeName);if(!de[t]||we[t])throw y("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof E)t=lt("\x3c!----\x3e"),n=t.ownerDocument.importNode(e,!0),1===n.nodeType&&"BODY"===n.nodeName||"HTML"===n.nodeName?t=n:t.appendChild(n);else{if(!Ce&&!xe&&!Te&&-1===e.indexOf("<"))return Z&&Ie?Z.createHTML(e):e;if(t=lt(e),!t)return Ce?null:Ie?Q:""}t&&ke&&st(t.firstChild);const l=ut(Pe?e:t);for(;a=l.nextNode();)dt(a)||(a.content instanceof c&&mt(a.content),bt(a));if(Pe)return e;if(Ce){if(Me)for(o=te.call(t.ownerDocument);t.firstChild;)o.appendChild(t.firstChild);else o=t;return(ge.shadowroot||ge.shadowrootmode)&&(o=re.call(i,o,!0)),o}let u=Te?t.outerHTML:t.innerHTML;return Te&&de["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&v(V,t.ownerDocument.doctype.name)&&(u="\n"+u),xe&&(u=b(u,ae," "),u=b(u,oe," "),u=b(u,se," ")),Z&&Ie?Z.createHTML(u):u},r.setConfig=function(e){tt(e),Ae=!0},r.clearConfig=function(){Qe=null,Ae=!1},r.isValidAttribute=function(e,t,n){Qe||tt({});const r=Ze(e),i=Ze(t);return pt(r,i,n)},r.addHook=function(e,t){"function"==typeof t&&(ie[e]=ie[e]||[],h(ie[e],t))},r.removeHook=function(e){if(ie[e])return f(ie[e])},r.removeHooks=function(e){ie[e]&&(ie[e]=[])},r.removeAllHooks=function(){ie={}},r}()}()},680:(e,t,n)=>{const r=n(3103);function i(e){let t=r(e);return`\n var length = bodies.length;\n if (length === 0) return 0;\n\n ${t("var d{var} = 0, t{var} = 0;",{indent:2})}\n\n for (var i = 0; i < length; ++i) {\n var body = bodies[i];\n if (body.isPinned) continue;\n\n if (adaptiveTimeStepWeight && body.springCount) {\n timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount);\n }\n\n var coeff = timeStep / body.mass;\n\n ${t("body.velocity.{var} += coeff * body.force.{var};",{indent:4})}\n ${t("var v{var} = body.velocity.{var};",{indent:4})}\n var v = Math.sqrt(${t("v{var} * v{var}",{join:" + "})});\n\n if (v > 1) {\n // We normalize it so that we move within timeStep range. \n // for the case when v <= 1 - we let velocity to fade out.\n ${t("body.velocity.{var} = v{var} / v;",{indent:6})}\n }\n\n ${t("d{var} = timeStep * body.velocity.{var};",{indent:4})}\n\n ${t("body.pos.{var} += d{var};",{indent:4})}\n\n ${t("t{var} += Math.abs(d{var});",{indent:4})}\n }\n\n return (${t("t{var} * t{var}",{join:" + "})})/length;\n`}e.exports=function(e){let t=i(e);return new Function("bodies","timeStep","adaptiveTimeStepWeight",t)},e.exports.generateIntegratorFunctionBody=i},706:e=>{"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},712:e=>{"use strict";function t(e){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,o=0;o{"use strict";function t(e){e.languages.bicep={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],property:[{pattern:/([\r\n][ \t]*)[a-z_]\w*(?=[ \t]*:)/i,lookbehind:!0},{pattern:/([\r\n][ \t]*)'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'(?=[ \t]*:)/,lookbehind:!0,greedy:!0}],string:[{pattern:/'''[^'][\s\S]*?'''/,greedy:!0},{pattern:/(^|[^\\'])'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0}],"interpolated-string":{pattern:/(^|[^\\'])'(?:\\.|\$(?:(?!\{)|\{[^{}\r\n]*\})|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}\r\n]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0},punctuation:/^\$\{|\}$/}},string:/[\s\S]+/}},datatype:{pattern:/(\b(?:output|param)\b[ \t]+\w+[ \t]+)\w+\b/,lookbehind:!0,alias:"class-name"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\b/,decorator:/@\w+\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,punctuation:/[{}[\];(),.:]/},e.languages.bicep["interpolated-string"].inside.interpolation.inside.expression.inside=e.languages.bicep}e.exports=t,t.displayName="bicep",t.aliases=[]},740:(e,t,n)=>{"use strict";var r=n(618);function i(e){e.register(r),function(e){e.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,lookbehind:!0,inside:e.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,lookbehind:!0,inside:e.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,lookbehind:!0,inside:e.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:e.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:e.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},ruby:{pattern:/[\s\S]+/,inside:e.languages.ruby}}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var t=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],n={},r=0,i=t.length;r{"use strict";function t(e){!function(e){var t=/(?:\B-|\b_|\b)[A-Za-z][\w-]*(?![\w-])/.source,n="(?:"+/\b(?:unsigned\s+)?long\s+long(?![\w-])/.source+"|"+/\b(?:unrestricted|unsigned)\s+[a-z]+(?![\w-])/.source+"|"+/(?!(?:unrestricted|unsigned)\b)/.source+t+/(?:\s*<(?:[^<>]|<[^<>]*>)*>)?/.source+")"+/(?:\s*\?)?/.source,r={};for(var i in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp(/(\bnamespace\s+)/.source+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:r},{pattern:RegExp(/(\b(?:attribute|const|deleter|getter|optional|setter)\s+)/.source+n),lookbehind:!0,inside:r},{pattern:RegExp("("+/\bcallback\s+/.source+t+/\s*=\s*/.source+")"+n),lookbehind:!0,inside:r},{pattern:RegExp(/(\btypedef\b\s*)/.source+n),lookbehind:!0,inside:r},{pattern:RegExp(/(\b(?:callback|dictionary|enum|interface(?:\s+mixin)?)\s+)(?!(?:interface|mixin)\b)/.source+t),lookbehind:!0},{pattern:RegExp(/(:\s*)/.source+t),lookbehind:!0},RegExp(t+/(?=\s+(?:implements|includes)\b)/.source),{pattern:RegExp(/(\b(?:implements|includes)\s+)/.source+t),lookbehind:!0},{pattern:RegExp(n+"(?="+/\s*(?:\.{3}\s*)?/.source+t+/\s*[(),;=]/.source+")"),inside:r}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])"class-name"!==i&&(r[i]=e.languages["web-idl"][i]);e.languages.webidl=e.languages["web-idl"]}(e)}e.exports=t,t.displayName="webIdl",t.aliases=[]},745:e=>{"use strict";function t(e){!function(e){var t=e.languages.parser=e.languages.extend("markup",{keyword:{pattern:/(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/,lookbehind:!0},variable:{pattern:/(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{punctuation:/\.|:+/}},function:{pattern:/(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:!0},punctuation:/\.|:+/}},escape:{pattern:/\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i,alias:"builtin"},punctuation:/[\[\](){};]/});t=e.languages.insertBefore("parser","keyword",{"parser-comment":{pattern:/(\s)#.*/,lookbehind:!0,alias:"comment"},expression:{pattern:/(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/,greedy:!0,lookbehind:!0,inside:{string:{pattern:/(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/,lookbehind:!0},keyword:t.keyword,variable:t.variable,function:t.function,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[a-f\d]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?)\b/i,escape:t.escape,operator:/[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/,punctuation:t.punctuation}}}),e.languages.insertBefore("inside","punctuation",{expression:t.expression,keyword:t.keyword,variable:t.variable,function:t.function,escape:t.escape,"parser-punctuation":{pattern:t.punctuation,alias:"punctuation"}},t.tag.inside["attr-value"])}(e)}e.exports=t,t.displayName="parser",t.aliases=[]},768:e=>{"use strict";function t(e){e.languages.asm6502={comment:/;.*/,directive:{pattern:/\.\w+(?= )/,alias:"property"},string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,"op-code":{pattern:/\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\b/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{1,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[xya]\b/i,alias:"variable"},punctuation:/[(),:]/}}e.exports=t,t.displayName="asm6502",t.aliases=[]},816:(e,t,n)=>{"use strict";var r=n(1535),i=n(2208),a=r.booleanish,o=r.number,s=r.spaceSeparated;e.exports=i({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:a,ariaAutoComplete:null,ariaBusy:a,ariaChecked:a,ariaColCount:o,ariaColIndex:o,ariaColSpan:o,ariaControls:s,ariaCurrent:null,ariaDescribedBy:s,ariaDetails:null,ariaDisabled:a,ariaDropEffect:s,ariaErrorMessage:null,ariaExpanded:a,ariaFlowTo:s,ariaGrabbed:a,ariaHasPopup:null,ariaHidden:a,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:s,ariaLevel:o,ariaLive:null,ariaModal:a,ariaMultiLine:a,ariaMultiSelectable:a,ariaOrientation:null,ariaOwns:s,ariaPlaceholder:null,ariaPosInSet:o,ariaPressed:a,ariaReadOnly:a,ariaRelevant:null,ariaRequired:a,ariaRoleDescription:s,ariaRowCount:o,ariaRowIndex:o,ariaRowSpan:o,ariaSelected:a,ariaSetSize:o,ariaSort:null,ariaValueMax:o,ariaValueMin:o,ariaValueNow:o,ariaValueText:null,role:null}})},851:(e,t,n)=>{e.exports=function(e){if("uniqueLinkId"in(e=e||{})&&(console.warn("ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n","\n","Note: there is also change in default behavior: From now on each graph\nis considered to be not a multigraph by default (each edge is unique)."),e.multigraph=e.uniqueLinkId),void 0===e.multigraph&&(e.multigraph=!1),"function"!=typeof Map)throw new Error("ngraph.graph requires `Map` to be defined. Please polyfill it before using ngraph");var t,n=new Map,c=new Map,l={},u=0,f=e.multigraph?function(e,t,n){var r=s(e,t),i=l.hasOwnProperty(r);if(i||A(e,t)){i||(l[r]=0);var a="@"+ ++l[r];r=s(e+a,t+a)}return new o(e,t,n,r)}:function(e,t,n){var r=s(e,t),i=c.get(r);return i?(i.data=n,i):new o(e,t,n,r)},h=[],d=k,p=k,g=k,b=k,m={version:20,addNode:y,addLink:function(e,t,n){g();var r=E(e)||y(e),i=E(t)||y(t),o=f(e,t,n),s=c.has(o.id);return c.set(o.id,o),a(r,o),e!==t&&a(i,o),d(o,s?"update":"add"),b(),o},removeLink:function(e,t){return void 0!==t&&(e=A(e,t)),T(e)},removeNode:_,getNode:E,getNodeCount:S,getLinkCount:x,getEdgeCount:x,getLinksCount:x,getNodesCount:S,getLinks:function(e){var t=E(e);return t?t.links:null},forEachNode:I,forEachLinkedNode:function(e,t,r){var i=E(e);if(i&&i.links&&"function"==typeof t)return r?function(e,t,r){for(var i=e.values(),a=i.next();!a.done;){var o=a.value;if(o.fromId===t&&r(n.get(o.toId),o))return!0;a=i.next()}}(i.links,e,t):function(e,t,r){for(var i=e.values(),a=i.next();!a.done;){var o=a.value,s=o.fromId===t?o.toId:o.fromId;if(r(n.get(s),o))return!0;a=i.next()}}(i.links,e,t)},forEachLink:function(e){if("function"==typeof e)for(var t=c.values(),n=t.next();!n.done;){if(e(n.value))return!0;n=t.next()}},beginUpdate:g,endUpdate:b,clear:function(){g(),I(function(e){_(e.id)}),b()},hasLink:A,hasNode:E,getLink:A};return r(m),t=m.on,m.on=function(){return m.beginUpdate=g=C,m.endUpdate=b=M,d=w,p=v,m.on=t,t.apply(m,arguments)},m;function w(e,t){h.push({link:e,changeType:t})}function v(e,t){h.push({node:e,changeType:t})}function y(e,t){if(void 0===e)throw new Error("Invalid node identifier");g();var r=E(e);return r?(r.data=t,p(r,"update")):(r=new i(e,t),p(r,"add")),n.set(e,r),b(),r}function E(e){return n.get(e)}function _(e){var t=E(e);if(!t)return!1;g();var r=t.links;return r&&(r.forEach(T),t.links=null),n.delete(e),p(t,"remove"),b(),!0}function S(){return n.size}function x(){return c.size}function T(e){if(!e)return!1;if(!c.get(e.id))return!1;g(),c.delete(e.id);var t=E(e.fromId),n=E(e.toId);return t&&t.links.delete(e),n&&n.links.delete(e),d(e,"remove"),b(),!0}function A(e,t){if(void 0!==e&&void 0!==t)return c.get(s(e,t))}function k(){}function C(){u+=1}function M(){0==(u-=1)&&h.length>0&&(m.fire("changed",h),h.length=0)}function I(e){if("function"!=typeof e)throw new Error("Function is expected to iterate over graph nodes. You passed "+e);for(var t=n.values(),r=t.next();!r.done;){if(e(r.value))return!0;r=t.next()}}};var r=n(5975);function i(e,t){this.id=e,this.links=null,this.data=t}function a(e,t){e.links?e.links.add(t):e.links=new Set([t])}function o(e,t,n,r){this.fromId=e,this.toId=t,this.data=n,this.id=r}function s(e,t){return e.toString()+"👉 "+t.toString()}},856:(e,t,n)=>{"use strict";var r=n(7183);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,a,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return n.PropTypes=n,n}},872:(e,t,n)=>{"use strict";n.d(t,{QueryClient:()=>r.QueryClient,QueryClientProvider:()=>i.QueryClientProvider,useQuery:()=>i.useQuery});var r=n(4746);n.o(r,"QueryClientProvider")&&n.d(t,{QueryClientProvider:function(){return r.QueryClientProvider}}),n.o(r,"useQuery")&&n.d(t,{useQuery:function(){return r.useQuery}});var i=n(1443)},889:(e,t,n)=>{"use strict";var r=n(4336);function i(e){e.register(r),e.languages.idris=e.languages.extend("haskell",{comment:{pattern:/(?:(?:--|\|\|\|).*$|\{-[\s\S]*?-\})/m},keyword:/\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\b/,builtin:void 0}),e.languages.insertBefore("idris","keyword",{"import-statement":{pattern:/(^\s*import\s+)(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*/m,lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.idr=e.languages.idris}e.exports=i,i.displayName="idris",i.aliases=["idr"]},892:e=>{"use strict";function t(e){e.languages.gcode={comment:/;.*|\B\(.*?\)\B/,string:{pattern:/"(?:""|[^"])*"/,greedy:!0},keyword:/\b[GM]\d+(?:\.\d+)?\b/,property:/\b[A-Z]/,checksum:{pattern:/(\*)\d+/,lookbehind:!0,alias:"number"},punctuation:/[:*]/}}e.exports=t,t.displayName="gcode",t.aliases=[]},905:e=>{"use strict";function t(e){e.languages.cypher={comment:/\/\/.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,greedy:!0},"class-name":{pattern:/(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,lookbehind:!0,greedy:!0},relationship:{pattern:/(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,lookbehind:!0,greedy:!0,alias:"property"},identifier:{pattern:/`(?:[^`\\\r\n])*`/,greedy:!0},variable:/\$\w+/,keyword:/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,function:/\b\w+\b(?=\s*\()/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,operator:/:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,punctuation:/[()[\]{},;.]/}}e.exports=t,t.displayName="cypher",t.aliases=[]},913:e=>{"use strict";function t(e){!function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(e)}e.exports=t,t.displayName="typescript",t.aliases=["ts"]},914:e=>{"use strict";function t(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}e.exports=t,t.displayName="ini",t.aliases=[]},923:(e,t,n)=>{"use strict";var r=n(8692);e.exports=r,r.register(n(2884)),r.register(n(7797)),r.register(n(6995)),r.register(n(5916)),r.register(n(5369)),r.register(n(5083)),r.register(n(3659)),r.register(n(2858)),r.register(n(5926)),r.register(n(4595)),r.register(n(323)),r.register(n(310)),r.register(n(5996)),r.register(n(6285)),r.register(n(9253)),r.register(n(768)),r.register(n(5766)),r.register(n(6969)),r.register(n(3907)),r.register(n(4972)),r.register(n(3678)),r.register(n(5656)),r.register(n(712)),r.register(n(9738)),r.register(n(6652)),r.register(n(5095)),r.register(n(731)),r.register(n(1275)),r.register(n(7659)),r.register(n(7650)),r.register(n(7751)),r.register(n(2601)),r.register(n(5445)),r.register(n(7465)),r.register(n(8433)),r.register(n(3776)),r.register(n(3088)),r.register(n(512)),r.register(n(6804)),r.register(n(3251)),r.register(n(6391)),r.register(n(3029)),r.register(n(9752)),r.register(n(33)),r.register(n(1377)),r.register(n(94)),r.register(n(8241)),r.register(n(5781)),r.register(n(5470)),r.register(n(2819)),r.register(n(9048)),r.register(n(905)),r.register(n(8356)),r.register(n(6627)),r.register(n(1322)),r.register(n(5945)),r.register(n(5875)),r.register(n(153)),r.register(n(2277)),r.register(n(9065)),r.register(n(5770)),r.register(n(1739)),r.register(n(1337)),r.register(n(1421)),r.register(n(377)),r.register(n(2432)),r.register(n(8473)),r.register(n(2668)),r.register(n(5183)),r.register(n(4473)),r.register(n(4761)),r.register(n(8160)),r.register(n(7949)),r.register(n(4003)),r.register(n(3770)),r.register(n(9122)),r.register(n(7322)),r.register(n(4052)),r.register(n(9846)),r.register(n(4584)),r.register(n(892)),r.register(n(8738)),r.register(n(4319)),r.register(n(58)),r.register(n(4652)),r.register(n(4838)),r.register(n(7600)),r.register(n(9443)),r.register(n(6325)),r.register(n(4508)),r.register(n(7849)),r.register(n(8072)),r.register(n(740)),r.register(n(6954)),r.register(n(4336)),r.register(n(2038)),r.register(n(9387)),r.register(n(597)),r.register(n(5174)),r.register(n(6853)),r.register(n(5686)),r.register(n(8194)),r.register(n(7107)),r.register(n(5467)),r.register(n(1525)),r.register(n(889)),r.register(n(6096)),r.register(n(452)),r.register(n(9338)),r.register(n(914)),r.register(n(4278)),r.register(n(3210)),r.register(n(4498)),r.register(n(3298)),r.register(n(2573)),r.register(n(7231)),r.register(n(3191)),r.register(n(187)),r.register(n(4215)),r.register(n(2293)),r.register(n(7603)),r.register(n(6647)),r.register(n(8148)),r.register(n(5729)),r.register(n(5166)),r.register(n(1328)),r.register(n(9229)),r.register(n(2809)),r.register(n(6656)),r.register(n(7427)),r.register(n(335)),r.register(n(5308)),r.register(n(5912)),r.register(n(2620)),r.register(n(1558)),r.register(n(4547)),r.register(n(2905)),r.register(n(5706)),r.register(n(1402)),r.register(n(4099)),r.register(n(8175)),r.register(n(1718)),r.register(n(8306)),r.register(n(8038)),r.register(n(6485)),r.register(n(5878)),r.register(n(543)),r.register(n(5562)),r.register(n(7007)),r.register(n(1997)),r.register(n(6966)),r.register(n(3019)),r.register(n(23)),r.register(n(3910)),r.register(n(3763)),r.register(n(2964)),r.register(n(5002)),r.register(n(4791)),r.register(n(2763)),r.register(n(1117)),r.register(n(463)),r.register(n(1698)),r.register(n(6146)),r.register(n(2408)),r.register(n(1464)),r.register(n(971)),r.register(n(4713)),r.register(n(70)),r.register(n(5268)),r.register(n(4797)),r.register(n(9128)),r.register(n(1471)),r.register(n(4983)),r.register(n(745)),r.register(n(9058)),r.register(n(2289)),r.register(n(5970)),r.register(n(1092)),r.register(n(6227)),r.register(n(5578)),r.register(n(1496)),r.register(n(6956)),r.register(n(164)),r.register(n(6393)),r.register(n(1459)),r.register(n(7309)),r.register(n(8985)),r.register(n(8545)),r.register(n(3935)),r.register(n(4493)),r.register(n(3171)),r.register(n(6220)),r.register(n(1288)),r.register(n(4340)),r.register(n(5508)),r.register(n(4727)),r.register(n(5456)),r.register(n(4591)),r.register(n(5306)),r.register(n(4559)),r.register(n(2563)),r.register(n(7794)),r.register(n(2132)),r.register(n(8622)),r.register(n(3123)),r.register(n(6181)),r.register(n(4210)),r.register(n(9984)),r.register(n(3791)),r.register(n(2252)),r.register(n(6358)),r.register(n(618)),r.register(n(7680)),r.register(n(5477)),r.register(n(640)),r.register(n(6042)),r.register(n(7473)),r.register(n(4478)),r.register(n(5147)),r.register(n(6580)),r.register(n(7993)),r.register(n(5670)),r.register(n(1972)),r.register(n(6923)),r.register(n(7656)),r.register(n(7881)),r.register(n(267)),r.register(n(61)),r.register(n(9530)),r.register(n(5880)),r.register(n(1269)),r.register(n(5394)),r.register(n(56)),r.register(n(9459)),r.register(n(7459)),r.register(n(5229)),r.register(n(6402)),r.register(n(4867)),r.register(n(4689)),r.register(n(7639)),r.register(n(8297)),r.register(n(6770)),r.register(n(1359)),r.register(n(9683)),r.register(n(1570)),r.register(n(4696)),r.register(n(3571)),r.register(n(913)),r.register(n(6499)),r.register(n(358)),r.register(n(5776)),r.register(n(1242)),r.register(n(2286)),r.register(n(7872)),r.register(n(8004)),r.register(n(497)),r.register(n(3802)),r.register(n(604)),r.register(n(4624)),r.register(n(7545)),r.register(n(1283)),r.register(n(2810)),r.register(n(744)),r.register(n(1126)),r.register(n(8400)),r.register(n(9144)),r.register(n(4485)),r.register(n(4686)),r.register(n(60)),r.register(n(394)),r.register(n(2837)),r.register(n(2831)),r.register(n(5542))},934:(e,t,n)=>{const r=n(3103),i=n(5987);function a(e){let t=r(e),n=Math.pow(2,e);return`\n\n/**\n * Our implementation of QuadTree is non-recursive to avoid GC hit\n * This data structure represent stack of elements\n * which we are trying to insert into quad tree.\n */\nfunction InsertStack () {\n this.stack = [];\n this.popIdx = 0;\n}\n\nInsertStack.prototype = {\n isEmpty: function() {\n return this.popIdx === 0;\n },\n push: function (node, body) {\n var item = this.stack[this.popIdx];\n if (!item) {\n // we are trying to avoid memory pressure: create new element\n // only when absolutely necessary\n this.stack[this.popIdx] = new InsertStackElement(node, body);\n } else {\n item.node = node;\n item.body = body;\n }\n ++this.popIdx;\n },\n pop: function () {\n if (this.popIdx > 0) {\n return this.stack[--this.popIdx];\n }\n },\n reset: function () {\n this.popIdx = 0;\n }\n};\n\nfunction InsertStackElement(node, body) {\n this.node = node; // QuadTree node\n this.body = body; // physical body which needs to be inserted to node\n}\n\n${l(e)}\n${o(e)}\n${c(e)}\n${s(e)}\n\nfunction createQuadTree(options, random) {\n options = options || {};\n options.gravity = typeof options.gravity === 'number' ? options.gravity : -1;\n options.theta = typeof options.theta === 'number' ? options.theta : 0.8;\n\n var gravity = options.gravity;\n var updateQueue = [];\n var insertStack = new InsertStack();\n var theta = options.theta;\n\n var nodesCache = [];\n var currentInCache = 0;\n var root = newNode();\n\n return {\n insertBodies: insertBodies,\n\n /**\n * Gets root node if it is present\n */\n getRoot: function() {\n return root;\n },\n\n updateBodyForce: update,\n\n options: function(newOptions) {\n if (newOptions) {\n if (typeof newOptions.gravity === 'number') {\n gravity = newOptions.gravity;\n }\n if (typeof newOptions.theta === 'number') {\n theta = newOptions.theta;\n }\n\n return this;\n }\n\n return {\n gravity: gravity,\n theta: theta\n };\n }\n };\n\n function newNode() {\n // To avoid pressure on GC we reuse nodes.\n var node = nodesCache[currentInCache];\n if (node) {\n${function(){let e=[];for(let t=0;t {var}max) {var}max = pos.{var};",{indent:6})}\n }\n\n // Makes the bounds square.\n var maxSideLength = -Infinity;\n ${t("if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;",{indent:4})}\n\n currentInCache = 0;\n root = newNode();\n ${t("root.min_{var} = {var}min;",{indent:4})}\n ${t("root.max_{var} = {var}min + maxSideLength;",{indent:4})}\n\n i = bodies.length - 1;\n if (i >= 0) {\n root.body = bodies[i];\n }\n while (i--) {\n insert(bodies[i], root);\n }\n }\n\n function insert(newBody) {\n insertStack.reset();\n insertStack.push(root, newBody);\n\n while (!insertStack.isEmpty()) {\n var stackItem = insertStack.pop();\n var node = stackItem.node;\n var body = stackItem.body;\n\n if (!node.body) {\n // This is internal node. Update the total mass of the node and center-of-mass.\n ${t("var {var} = body.pos.{var};",{indent:8})}\n node.mass += body.mass;\n ${t("node.mass_{var} += body.mass * {var};",{indent:8})}\n\n // Recursively insert the body in the appropriate quadrant.\n // But first find the appropriate quadrant.\n var quadIdx = 0; // Assume we are in the 0's quad.\n ${t("var min_{var} = node.min_{var};",{indent:8})}\n ${t("var max_{var} = (min_{var} + node.max_{var}) / 2;",{indent:8})}\n\n${function(){let t=[],n=Array(9).join(" ");for(let r=0;r max_${i(r)}) {`),t.push(n+` quadIdx = quadIdx + ${Math.pow(2,r)};`),t.push(n+` min_${i(r)} = max_${i(r)};`),t.push(n+` max_${i(r)} = node.max_${i(r)};`),t.push(n+"}");return t.join("\n")}()}\n\n var child = getChild(node, quadIdx);\n\n if (!child) {\n // The node is internal but this quadrant is not taken. Add\n // subnode to it.\n child = newNode();\n ${t("child.min_{var} = min_{var};",{indent:10})}\n ${t("child.max_{var} = max_{var};",{indent:10})}\n child.body = body;\n\n setChild(node, quadIdx, child);\n } else {\n // continue searching in this quadrant.\n insertStack.push(child, body);\n }\n } else {\n // We are trying to add to the leaf node.\n // We have to convert current leaf into internal node\n // and continue adding two nodes.\n var oldBody = node.body;\n node.body = null; // internal nodes do not cary bodies\n\n if (isSamePosition(oldBody.pos, body.pos)) {\n // Prevent infinite subdivision by bumping one node\n // anywhere in this quadrant\n var retriesCount = 3;\n do {\n var offset = random.nextDouble();\n ${t("var d{var} = (node.max_{var} - node.min_{var}) * offset;",{indent:12})}\n\n ${t("oldBody.pos.{var} = node.min_{var} + d{var};",{indent:12})}\n retriesCount -= 1;\n // Make sure we don't bump it out of the box. If we do, next iteration should fix it\n } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos));\n\n if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) {\n // This is very bad, we ran out of precision.\n // if we do not return from the method we'll get into\n // infinite loop here. So we sacrifice correctness of layout, and keep the app running\n // Next layout iteration should get larger bounding box in the first step and fix this\n return;\n }\n }\n // Next iteration should subdivide node further.\n insertStack.push(node, oldBody);\n insertStack.push(node, body);\n }\n }\n }\n}\nreturn createQuadTree;\n\n`}function o(e){let t=r(e);return`\n function isSamePosition(point1, point2) {\n ${t("var d{var} = Math.abs(point1.{var} - point2.{var});",{indent:2})}\n \n return ${t("d{var} < 1e-8",{join:" && "})};\n } \n`}function s(e){var t=Math.pow(2,e);return`\nfunction setChild(node, idx, child) {\n ${function(){let e=[];for(let n=0;n 0) {\n return this.stack[--this.popIdx];\n }\n },\n reset: function () {\n this.popIdx = 0;\n }\n};\n\nfunction InsertStackElement(node, body) {\n this.node = node; // QuadTree node\n this.body = body; // physical body which needs to be inserted to node\n}\n"}e.exports=function(e){let t=a(e);return new Function(t)()},e.exports.generateQuadTreeFunctionBody=a,e.exports.getInsertStackCode=u,e.exports.getQuadNodeCode=l,e.exports.isSamePosition=o,e.exports.getChildBodyCode=c,e.exports.setChildBodyCode=s},971:e=>{"use strict";function t(e){e.languages.nix={comment:{pattern:/\/\*[\s\S]*?\*\/|#.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\])\$\{(?:[^{}]|\{[^}]*\})*\}/,lookbehind:!0,inside:null}}},url:[/\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/,{pattern:/([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/,lookbehind:!0}],antiquotation:{pattern:/\$(?=\{)/,alias:"important"},number:/\b\d+\b/,keyword:/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/,function:/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/,punctuation:/[{}()[\].,:;]/},e.languages.nix.string.inside.interpolation.inside=e.languages.nix}e.exports=t,t.displayName="nix",t.aliases=[]},993:(e,t,n)=>{"use strict";var r=n(6326),i=n(334),a=n(9828);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nt}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!d.call(g,e)||!d.call(p,e)&&(h.test(e)?g[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&"":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"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(e){var t=e.replace(w,v);m[t]=new b(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(w,v);m[t]=new b(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(w,v);m[t]=new b(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){m[e]=new b(e,1,!1,e.toLowerCase(),null,!1,!1)}),m.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){m[e]=new b(e,1,!1,e.toLowerCase(),null,!0,!0)});var E=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,_=60103,S=60106,x=60107,T=60108,A=60114,k=60109,C=60110,M=60112,I=60113,O=60120,R=60115,N=60116,P=60121,L=60128,D=60129,F=60130,U=60131;if("function"==typeof Symbol&&Symbol.for){var j=Symbol.for;_=j("react.element"),S=j("react.portal"),x=j("react.fragment"),T=j("react.strict_mode"),A=j("react.profiler"),k=j("react.provider"),C=j("react.context"),M=j("react.forward_ref"),I=j("react.suspense"),O=j("react.suspense_list"),R=j("react.memo"),N=j("react.lazy"),P=j("react.block"),j("react.scope"),L=j("react.opaque.id"),D=j("react.debug_trace_mode"),F=j("react.offscreen"),U=j("react.legacy_hidden")}var B,z="function"==typeof Symbol&&Symbol.iterator;function $(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=z&&e[z]||e["@@iterator"])?e:null}function H(e){if(void 0===B)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);B=t&&t[1]||""}return"\n"+B+e}var G=!1;function V(e,t){if(!e||G)return"";G=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(e){if(e&&r&&"string"==typeof e.stack){for(var i=e.stack.split("\n"),a=r.stack.split("\n"),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(1!==o||1!==s)do{if(o--,0>--s||i[o]!==a[s])return"\n"+i[o].replace(" at new "," at ")}while(1<=o&&0<=s);break}}}finally{G=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?H(e):""}function W(e){switch(e.tag){case 5:return H(e.type);case 16:return H("Lazy");case 13:return H("Suspense");case 19:return H("SuspenseList");case 0:case 2:case 15:return V(e.type,!1);case 11:return V(e.type.render,!1);case 22:return V(e.type._render,!1);case 1:return V(e.type,!0);default:return""}}function q(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case x:return"Fragment";case S:return"Portal";case A:return"Profiler";case T:return"StrictMode";case I:return"Suspense";case O:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case C:return(e.displayName||"Context")+".Consumer";case k:return(e._context.displayName||"Context")+".Provider";case M:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case R:return q(e.type);case P:return q(e._render);case N:t=e._payload,e=e._init;try{return q(e(t))}catch(e){}}return null}function X(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Y(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=Y(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Z(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Y(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=X(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=X(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ie(e,t.type,n):t.hasOwnProperty("defaultValue")&&ie(e,t.type,X(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ie(e,t,n){"number"===t&&Q(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function ae(e,t){return e=i({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,function(e){null!=e&&(t+=e)}),t}(t.children))&&(e.children=t),e}function oe(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i=n.length))throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:X(n)}}function le(e,t){var n=X(t.value),r=X(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ue(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var fe="http://www.w3.org/1999/xhtml";function he(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function de(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?he(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var pe,ge,be=(ge=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((pe=pe||document.createElement("div")).innerHTML=""+t.valueOf().toString()+" ",t=pe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return ge(e,t)})}:ge);function me(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var we={animationIterationCount:!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},ve=["Webkit","ms","Moz","O"];function ye(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||we.hasOwnProperty(e)&&we[e]?(""+t).trim():t+"px"}function Ee(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),i=ye(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}Object.keys(we).forEach(function(e){ve.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),we[t]=we[e]})});var _e=i({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 Se(e,t){if(t){if(_e[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){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}}function Te(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ae=null,ke=null,Ce=null;function Me(e){if(e=ni(e)){if("function"!=typeof Ae)throw Error(o(280));var t=e.stateNode;t&&(t=ii(t),Ae(e.stateNode,e.type,t))}}function Ie(e){ke?Ce?Ce.push(e):Ce=[e]:ke=e}function Oe(){if(ke){var e=ke,t=Ce;if(Ce=ke=null,Me(e),t)for(e=0;e(r=31-Ht(r))?0:1<n;n++)t.push(e);return t}function $t(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-Ht(t)]=n}var Ht=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Gt(e)/Vt|0)|0},Gt=Math.log,Vt=Math.LN2,Wt=a.unstable_UserBlockingPriority,qt=a.unstable_runWithPriority,Xt=!0;function Yt(e,t,n,r){De||Pe();var i=Zt,a=De;De=!0;try{Ne(i,e,t,n,r)}finally{(De=a)||Ue()}}function Kt(e,t,n,r){qt(Wt,Zt.bind(null,e,t,n,r))}function Zt(e,t,n,r){var i;if(Xt)if((i=!(4&t))&&0=Fn),Bn=String.fromCharCode(32),zn=!1;function $n(e,t){switch(e){case"keyup":return-1!==Ln.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Gn=!1,Vn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Vn[e.type]:"textarea"===t}function qn(e,t,n,r){Ie(r),0<(t=Dr(t,"onChange")).length&&(n=new hn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Xn=null,Yn=null;function Kn(e){Cr(e,0)}function Zn(e){if(Z(ri(e)))return e}function Qn(e,t){if("change"===e)return t}var Jn=!1;if(f){var er;if(f){var tr="oninput"in document;if(!tr){var nr=document.createElement("div");nr.setAttribute("oninput","return;"),tr="function"==typeof nr.oninput}er=tr}else er=!1;Jn=er&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=hr(r)}}function pr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?pr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function gr(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Q((e=t.contentWindow).document)}return t}function br(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var mr=f&&"documentMode"in document&&11>=document.documentMode,wr=null,vr=null,yr=null,Er=!1;function _r(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;Er||null==wr||wr!==Q(r)||(r="selectionStart"in(r=wr)&&br(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&fr(yr,r)||(yr=r,0<(r=Dr(vr,"onSelect")).length&&(t=new hn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=wr)))}Pt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Pt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Pt(Nt,2);for(var Sr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),xr=0;xrsi||(e.current=oi[si],oi[si]=null,si--)}function ui(e,t){si++,oi[si]=e.current,e.current=t}var fi={},hi=ci(fi),di=ci(!1),pi=fi;function gi(e,t){var n=e.type.contextTypes;if(!n)return fi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,a={};for(i in n)a[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function bi(e){return null!=e.childContextTypes}function mi(){li(di),li(hi)}function wi(e,t,n){if(hi.current!==fi)throw Error(o(168));ui(hi,t),ui(di,n)}function vi(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in e))throw Error(o(108,q(t)||"Unknown",a));return i({},n,r)}function yi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fi,pi=hi.current,ui(hi,e),ui(di,di.current),!0}function Ei(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=vi(e,t,pi),r.__reactInternalMemoizedMergedChildContext=e,li(di),li(hi),ui(hi,e)):li(di),ui(di,n)}var _i=null,Si=null,xi=a.unstable_runWithPriority,Ti=a.unstable_scheduleCallback,Ai=a.unstable_cancelCallback,ki=a.unstable_shouldYield,Ci=a.unstable_requestPaint,Mi=a.unstable_now,Ii=a.unstable_getCurrentPriorityLevel,Oi=a.unstable_ImmediatePriority,Ri=a.unstable_UserBlockingPriority,Ni=a.unstable_NormalPriority,Pi=a.unstable_LowPriority,Li=a.unstable_IdlePriority,Di={},Fi=void 0!==Ci?Ci:function(){},Ui=null,ji=null,Bi=!1,zi=Mi(),$i=1e4>zi?Mi:function(){return Mi()-zi};function Hi(){switch(Ii()){case Oi:return 99;case Ri:return 98;case Ni:return 97;case Pi:return 96;case Li:return 95;default:throw Error(o(332))}}function Gi(e){switch(e){case 99:return Oi;case 98:return Ri;case 97:return Ni;case 96:return Pi;case 95:return Li;default:throw Error(o(332))}}function Vi(e,t){return e=Gi(e),xi(e,t)}function Wi(e,t,n){return e=Gi(e),Ti(e,t,n)}function qi(){if(null!==ji){var e=ji;ji=null,Ai(e)}Xi()}function Xi(){if(!Bi&&null!==Ui){Bi=!0;var e=0;try{var t=Ui;Vi(99,function(){for(;eg?(b=f,f=null):b=f.sibling;var m=d(i,f,s[g],c);if(null===m){null===f&&(f=b);break}e&&f&&null===m.alternate&&t(i,f),o=a(m,o,g),null===u?l=m:u.sibling=m,u=m,f=b}if(g===s.length)return n(i,f),l;if(null===f){for(;gb?(m=g,g=null):m=g.sibling;var v=d(i,g,w.value,l);if(null===v){null===g&&(g=m);break}e&&g&&null===v.alternate&&t(i,g),s=a(v,s,b),null===f?u=v:f.sibling=v,f=v,g=m}if(w.done)return n(i,g),u;if(null===g){for(;!w.done;b++,w=c.next())null!==(w=h(i,w.value,l))&&(s=a(w,s,b),null===f?u=w:f.sibling=w,f=w);return u}for(g=r(i,g);!w.done;b++,w=c.next())null!==(w=p(g,i,b,w.value,l))&&(e&&null!==w.alternate&&g.delete(null===w.key?b:w.key),s=a(w,s,b),null===f?u=w:f.sibling=w,f=w);return e&&g.forEach(function(e){return t(i,e)}),u}return function(e,r,a,c){var l="object"==typeof a&&null!==a&&a.type===x&&null===a.key;l&&(a=a.props.children);var u="object"==typeof a&&null!==a;if(u)switch(a.$$typeof){case _:e:{for(u=a.key,l=r;null!==l;){if(l.key===u){if(7===l.tag){if(a.type===x){n(e,l.sibling),(r=i(l,a.props.children)).return=e,e=r;break e}}else if(l.elementType===a.type){n(e,l.sibling),(r=i(l,a.props)).ref=_a(e,l,a),r.return=e,e=r;break e}n(e,l);break}t(e,l),l=l.sibling}a.type===x?((r=Wc(a.props.children,e.mode,c,a.key)).return=e,e=r):((c=Vc(a.type,a.key,a.props,null,e.mode,c)).ref=_a(e,r,a),c.return=e,e=c)}return s(e);case S:e:{for(l=a.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=i(r,a.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Yc(a,e.mode,c)).return=e,e=r}return s(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,a)).return=e,e=r):(n(e,r),(r=Xc(a,e.mode,c)).return=e,e=r),s(e);if(Ea(a))return g(e,r,a,c);if($(a))return b(e,r,a,c);if(u&&Sa(e,a),void 0===a&&!l)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(o(152,q(e.type)||"Component"))}return n(e,r)}}var Ta=xa(!0),Aa=xa(!1),ka={},Ca=ci(ka),Ma=ci(ka),Ia=ci(ka);function Oa(e){if(e===ka)throw Error(o(174));return e}function Ra(e,t){switch(ui(Ia,t),ui(Ma,e),ui(Ca,ka),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:de(null,"");break;default:t=de(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}li(Ca),ui(Ca,t)}function Na(){li(Ca),li(Ma),li(Ia)}function Pa(e){Oa(Ia.current);var t=Oa(Ca.current),n=de(t,e.type);t!==n&&(ui(Ma,e),ui(Ca,n))}function La(e){Ma.current===e&&(li(Ca),li(Ma))}var Da=ci(0);function Fa(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(64&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ua=null,ja=null,Ba=!1;function za(e,t){var n=$c(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function $a(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Ha(e){if(Ba){var t=ja;if(t){var n=t;if(!$a(e,t)){if(!(t=qr(n.nextSibling))||!$a(e,t))return e.flags=-1025&e.flags|2,Ba=!1,void(Ua=e);za(Ua,n)}Ua=e,ja=qr(t.firstChild)}else e.flags=-1025&e.flags|2,Ba=!1,Ua=e}}function Ga(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ua=e}function Va(e){if(e!==Ua)return!1;if(!Ba)return Ga(e),Ba=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Hr(t,e.memoizedProps))for(t=ja;t;)za(e,t),t=qr(t.nextSibling);if(Ga(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ja=qr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ja=null}}else ja=Ua?qr(e.stateNode.nextSibling):null;return!0}function Wa(){ja=Ua=null,Ba=!1}var qa=[];function Xa(){for(var e=0;ea))throw Error(o(301));a+=1,eo=Ja=null,t.updateQueue=null,Ya.current=Po,e=n(r,i)}while(no)}if(Ya.current=Oo,t=null!==Ja&&null!==Ja.next,Za=0,eo=Ja=Qa=null,to=!1,t)throw Error(o(300));return e}function oo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===eo?Qa.memoizedState=eo=e:eo=eo.next=e,eo}function so(){if(null===Ja){var e=Qa.alternate;e=null!==e?e.memoizedState:null}else e=Ja.next;var t=null===eo?Qa.memoizedState:eo.next;if(null!==t)eo=t,Ja=e;else{if(null===e)throw Error(o(310));e={memoizedState:(Ja=e).memoizedState,baseState:Ja.baseState,baseQueue:Ja.baseQueue,queue:Ja.queue,next:null},null===eo?Qa.memoizedState=eo=e:eo=eo.next=e}return eo}function co(e,t){return"function"==typeof t?t(e):t}function lo(e){var t=so(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=Ja,i=r.baseQueue,a=n.pending;if(null!==a){if(null!==i){var s=i.next;i.next=a.next,a.next=s}r.baseQueue=i=a,n.pending=null}if(null!==i){i=i.next,r=r.baseState;var c=s=a=null,l=i;do{var u=l.lane;if((Za&u)===u)null!==c&&(c=c.next={lane:0,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null}),r=l.eagerReducer===e?l.eagerState:e(r,l.action);else{var f={lane:u,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null};null===c?(s=c=f,a=r):c=c.next=f,Qa.lanes|=u,js|=u}l=l.next}while(null!==l&&l!==i);null===c?a=r:c.next=s,lr(r,t.memoizedState)||(Do=!0),t.memoizedState=r,t.baseState=a,t.baseQueue=c,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function uo(e){var t=so(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,a=t.memoizedState;if(null!==i){n.pending=null;var s=i=i.next;do{a=e(a,s.action),s=s.next}while(s!==i);lr(a,t.memoizedState)||(Do=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function fo(e,t,n){var r=t._getVersion;r=r(t._source);var i=t._workInProgressVersionPrimary;if(null!==i?e=i===r:(e=e.mutableReadLanes,(e=(Za&e)===e)&&(t._workInProgressVersionPrimary=r,qa.push(t))),e)return n(t._source);throw qa.push(t),Error(o(350))}function ho(e,t,n,r){var i=Os;if(null===i)throw Error(o(349));var a=t._getVersion,s=a(t._source),c=Ya.current,l=c.useState(function(){return fo(i,t,n)}),u=l[1],f=l[0];l=eo;var h=e.memoizedState,d=h.refs,p=d.getSnapshot,g=h.source;h=h.subscribe;var b=Qa;return e.memoizedState={refs:d,source:t,subscribe:r},c.useEffect(function(){d.getSnapshot=n,d.setSnapshot=u;var e=a(t._source);if(!lr(s,e)){e=n(t._source),lr(f,e)||(u(e),e=fc(b),i.mutableReadLanes|=e&i.pendingLanes),e=i.mutableReadLanes,i.entangledLanes|=e;for(var r=i.entanglements,o=e;0n?98:n,function(){e(!0)}),Vi(97<\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[Zr]=t,e[Qr]=r,qo(e,t,!1,!1),t.stateNode=e,l=xe(n,r),n){case"dialog":Mr("cancel",e),Mr("close",e),a=r;break;case"iframe":case"object":case"embed":Mr("load",e),a=r;break;case"video":case"audio":for(a=0;aGs&&(t.flags|=64,s=!0,is(r,!1),t.lanes=33554432)}else{if(!s)if(null!==(e=Fa(l))){if(t.flags|=64,s=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),is(r,!0),null===r.tail&&"hidden"===r.tailMode&&!l.alternate&&!Ba)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*$i()-r.renderingStartTime>Gs&&1073741824!==n&&(t.flags|=64,s=!0,is(r,!1),t.lanes=33554432);r.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=r.last)?n.sibling=l:t.child=l,r.last=l)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=$i(),n.sibling=null,t=Da.current,ui(Da,s?1&t|2:1&t),n):null;case 23:case 24:return Ec(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(o(156,t.tag))}function os(e){switch(e.tag){case 1:bi(e.type)&&mi();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Na(),li(di),li(hi),Xa(),64&(t=e.flags))throw Error(o(285));return e.flags=-4097&t|64,e;case 5:return La(e),null;case 13:return li(Da),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return li(Da),null;case 4:return Na(),null;case 10:return na(e),null;case 23:case 24:return Ec(),null;default:return null}}function ss(e,t){try{var n="",r=t;do{n+=W(r),r=r.return}while(r);var i=n}catch(e){i="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:i}}function cs(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}qo=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Xo=function(){},Yo=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,Oa(Ca.current);var o,s=null;switch(n){case"input":a=J(e,a),r=J(e,r),s=[];break;case"option":a=ae(e,a),r=ae(e,r),s=[];break;case"select":a=i({},a,{value:void 0}),r=i({},r,{value:void 0}),s=[];break;case"textarea":a=se(e,a),r=se(e,r),s=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=jr)}for(f in Se(n,r),n=null,a)if(!r.hasOwnProperty(f)&&a.hasOwnProperty(f)&&null!=a[f])if("style"===f){var l=a[f];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==f&&"children"!==f&&"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&"autoFocus"!==f&&(c.hasOwnProperty(f)?s||(s=[]):(s=s||[]).push(f,null));for(f in r){var u=r[f];if(l=null!=a?a[f]:void 0,r.hasOwnProperty(f)&&u!==l&&(null!=u||null!=l))if("style"===f)if(l){for(o in l)!l.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&l[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(s||(s=[]),s.push(f,n)),n=u;else"dangerouslySetInnerHTML"===f?(u=u?u.__html:void 0,l=l?l.__html:void 0,null!=u&&l!==u&&(s=s||[]).push(f,u)):"children"===f?"string"!=typeof u&&"number"!=typeof u||(s=s||[]).push(f,""+u):"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&(c.hasOwnProperty(f)?(null!=u&&"onScroll"===f&&Mr("scroll",e),s||l===u||(s=[])):"object"==typeof u&&null!==u&&u.$$typeof===L?u.toString():(s=s||[]).push(f,u))}n&&(s=s||[]).push("style",n);var f=s;(t.updateQueue=f)&&(t.flags|=4)}},Ko=function(e,t,n,r){n!==r&&(t.flags|=4)};var ls="function"==typeof WeakMap?WeakMap:Map;function us(e,t,n){(n=la(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Xs||(Xs=!0,Ys=r),cs(0,t)},n}function fs(e,t,n){(n=la(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var i=t.value;n.payload=function(){return cs(0,t),r(i)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Ks?Ks=new Set([this]):Ks.add(this),cs(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var hs="function"==typeof WeakSet?WeakSet:Set;function ds(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Uc(e,t)}else t.current=null}function ps(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ki(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Wr(t.stateNode.containerInfo))}throw Error(o(163))}function gs(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(!(3&~e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var i=e;r=i.next,4&(i=i.tag)&&1&i&&(Lc(n,e),Pc(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Ki(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&da(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:case 1:e=n.child.stateNode}da(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&$r(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Et(n)))))}throw Error(o(163))}function bs(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"==typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var i=n.memoizedProps.style;i=null!=i&&i.hasOwnProperty("display")?i.display:null,r.style.display=ye("display",i)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function ms(e,t){if(Si&&"function"==typeof Si.onCommitFiberUnmount)try{Si.onCommitFiberUnmount(_i,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,i=r.destroy;if(r=r.tag,void 0!==i)if(4&r)Lc(t,n);else{r=t;try{i()}catch(e){Uc(r,e)}}n=n.next}while(n!==e)}break;case 1:if(ds(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){Uc(t,e)}break;case 5:ds(t);break;case 4:Ss(e,t)}}function ws(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function vs(e){return 5===e.tag||3===e.tag||4===e.tag}function ys(e){e:{for(var t=e.return;null!==t;){if(vs(t))break e;t=t.return}throw Error(o(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(o(161))}16&n.flags&&(me(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||vs(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?Es(e,n,t):_s(e,n,t)}function Es(e,t,n){var r=e.tag,i=5===r||6===r;if(i)e=i?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=jr));else if(4!==r&&null!==(e=e.child))for(Es(e,t,n),e=e.sibling;null!==e;)Es(e,t,n),e=e.sibling}function _s(e,t,n){var r=e.tag,i=5===r||6===r;if(i)e=i?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(_s(e,t,n),e=e.sibling;null!==e;)_s(e,t,n),e=e.sibling}function Ss(e,t){for(var n,r,i=t,a=!1;;){if(!a){a=i.return;e:for(;;){if(null===a)throw Error(o(160));switch(n=a.stateNode,a.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}a=a.return}a=!0}if(5===i.tag||6===i.tag){e:for(var s=e,c=i,l=c;;)if(ms(s,l),null!==l.child&&4!==l.tag)l.child.return=l,l=l.child;else{if(l===c)break e;for(;null===l.sibling;){if(null===l.return||l.return===c)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}r?(s=n,c=i.stateNode,8===s.nodeType?s.parentNode.removeChild(c):s.removeChild(c)):n.removeChild(i.stateNode)}else if(4===i.tag){if(null!==i.child){n=i.stateNode.containerInfo,r=!0,i.child.return=i,i=i.child;continue}}else if(ms(e,i),null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;4===(i=i.return).tag&&(a=!1)}i.sibling.return=i.return,i=i.sibling}}function xs(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{!(3&~r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:case 12:case 17:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var i=null!==e?e.memoizedProps:r;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(n[Qr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),xe(e,i),t=xe(e,r),i=0;ii&&(i=s),n&=~a}if(n=i,10<(n=(120>(n=$i()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*ks(n/1960))-n)){e.timeoutHandle=Gr(Ic.bind(null,e),n);break}Ic(e);break;default:throw Error(o(329))}}return pc(e,$i()),e.callbackNode===t?gc.bind(null,e):null}function bc(e,t){for(t&=~zs,t&=~Bs,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0 component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Ds&&(Ds=2),c=ss(c,s),h=o;do{switch(h.tag){case 3:a=c,h.flags|=4096,t&=-t,h.lanes|=t,fa(h,us(0,a,t));break e;case 1:a=c;var E=h.type,_=h.stateNode;if(!(64&h.flags||"function"!=typeof E.getDerivedStateFromError&&(null===_||"function"!=typeof _.componentDidCatch||null!==Ks&&Ks.has(_)))){h.flags|=4096,t&=-t,h.lanes|=t,fa(h,fs(h,a,t));break e}}h=h.return}while(null!==h)}Mc(n)}catch(e){t=e,Rs===n&&null!==n&&(Rs=n=n.return);continue}break}}function xc(){var e=Cs.current;return Cs.current=Oo,null===e?Oo:e}function Tc(e,t){var n=Is;Is|=16;var r=xc();for(Os===e&&Ns===t||_c(e,t);;)try{Ac();break}catch(t){Sc(e,t)}if(ta(),Is=n,Cs.current=r,null!==Rs)throw Error(o(261));return Os=null,Ns=0,Ds}function Ac(){for(;null!==Rs;)Cc(Rs)}function kc(){for(;null!==Rs&&!ki();)Cc(Rs)}function Cc(e){var t=Ws(e.alternate,e,Ps);e.memoizedProps=e.pendingProps,null===t?Mc(e):Rs=t,Ms.current=null}function Mc(e){var t=e;do{var n=t.alternate;if(e=t.return,2048&t.flags){if(null!==(n=os(t)))return n.flags&=2047,void(Rs=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}else{if(null!==(n=as(n,t,Ps)))return void(Rs=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||1073741824&Ps||!(4&n.mode)){for(var r=0,i=n.child;null!==i;)r|=i.lanes|i.childLanes,i=i.sibling;n.childLanes=r}null!==e&&!(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1s&&(c=s,s=_,_=c),c=dr(v,_),a=dr(v,s),c&&a&&(1!==E.rangeCount||E.anchorNode!==c.node||E.anchorOffset!==c.offset||E.focusNode!==a.node||E.focusOffset!==a.offset)&&((y=y.createRange()).setStart(c.node,c.offset),E.removeAllRanges(),_>s?(E.addRange(y),E.extend(a.node,a.offset)):(y.setEnd(a.node,a.offset),E.addRange(y))))),y=[];for(E=v;E=E.parentNode;)1===E.nodeType&&y.push({element:E,left:E.scrollLeft,top:E.scrollTop});for("function"==typeof v.focus&&v.focus(),v=0;v$i()-Hs?_c(e,0):zs|=n),pc(e,t)}function Bc(e,t){var n=e.stateNode;null!==n&&n.delete(t),0==(t=0)&&(2&(t=e.mode)?4&t?(0===oc&&(oc=Us),0===(t=Bt(62914560&~oc))&&(t=4194304)):t=99===Hi()?1:2:t=1),n=uc(),null!==(e=dc(e,t))&&($t(e,t,n),pc(e,n))}function zc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function $c(e,t,n,r){return new zc(e,t,n,r)}function Hc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Gc(e,t){var n=e.alternate;return null===n?((n=$c(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Vc(e,t,n,r,i,a){var s=2;if(r=e,"function"==typeof e)Hc(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case x:return Wc(n.children,i,a,t);case D:s=8,i|=16;break;case T:s=8,i|=1;break;case A:return(e=$c(12,n,t,8|i)).elementType=A,e.type=A,e.lanes=a,e;case I:return(e=$c(13,n,t,i)).type=I,e.elementType=I,e.lanes=a,e;case O:return(e=$c(19,n,t,i)).elementType=O,e.lanes=a,e;case F:return qc(n,i,a,t);case U:return(e=$c(24,n,t,i)).elementType=U,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case k:s=10;break e;case C:s=9;break e;case M:s=11;break e;case R:s=14;break e;case N:s=16,r=null;break e;case P:s=22;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=$c(s,n,t,i)).elementType=e,t.type=r,t.lanes=a,t}function Wc(e,t,n,r){return(e=$c(7,e,r,t)).lanes=n,e}function qc(e,t,n,r){return(e=$c(23,e,r,t)).elementType=F,e.lanes=n,e}function Xc(e,t,n){return(e=$c(6,e,null,t)).lanes=n,e}function Yc(e,t,n){return(t=$c(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Kc(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=zt(0),this.expirationTimes=zt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zt(0),this.mutableSourceEagerHydrationData=null}function Zc(e,t,n,r){var i=t.current,a=uc(),s=fc(i);e:if(n){t:{if(Ye(n=n._reactInternals)!==n||1!==n.tag)throw Error(o(170));var c=n;do{switch(c.tag){case 3:c=c.stateNode.context;break t;case 1:if(bi(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break t}}c=c.return}while(null!==c);throw Error(o(171))}if(1===n.tag){var l=n.type;if(bi(l)){n=vi(n,l,c);break e}}n=c}else n=fi;return null===t.context?t.context=n:t.pendingContext=n,(t=la(a,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),ua(i,t),hc(i,s,a),s}function Qc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Jc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n{"use strict";function t(e){e.languages.peoplecode={comment:RegExp([/\/\*[\s\S]*?\*\//.source,/\bREM[^;]*;/.source,/<\*(?:[^<*]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[\s\S])*\*>)*\*>/.source,/\/\+[\s\S]*?\+\//.source].join("|")),string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},variable:/%\w+/,"function-definition":{pattern:/((?:^|[^\w-])(?:function|method)\s+)\w+/i,lookbehind:!0,alias:"function"},"class-name":{pattern:/((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\s+)\w+(?::\w+)*/i,lookbehind:!0,inside:{punctuation:/:/}},keyword:/\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\b/i,"operator-keyword":{pattern:/\b(?:and|not|or)\b/i,alias:"operator"},function:/[_a-z]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/\b\d+(?:\.\d+)?\b/,operator:/<>|[<>]=?|!=|\*\*|[-+*/|=@]/,punctuation:/[:.;,()[\]]/},e.languages.pcode=e.languages.peoplecode}e.exports=t,t.displayName="peoplecode",t.aliases=["pcode"]},1117:e=>{"use strict";function t(e){!function(e){var t=/\{[^\r\n\[\]{}]*\}/,n={"quoted-string":{pattern:/"(?:[^"\\]|\\.)*"/,alias:"operator"},"command-param-id":{pattern:/(\s)\w+:/,lookbehind:!0,alias:"property"},"command-param-value":[{pattern:t,alias:"selector"},{pattern:/([\t ])\S+/,lookbehind:!0,greedy:!0,alias:"operator"},{pattern:/\S(?:.*\S)?/,alias:"operator"}]};function r(e){return"string"==typeof e?e:Array.isArray(e)?e.map(r).join(""):r(e.content)}e.languages.naniscript={comment:{pattern:/^([\t ]*);.*/m,lookbehind:!0},define:{pattern:/^>.+/m,alias:"tag",inside:{value:{pattern:/(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/,lookbehind:!0,alias:"operator"},key:{pattern:/(^>)\w+/,lookbehind:!0}}},label:{pattern:/^([\t ]*)#[\t ]*\w+[\t ]*$/m,lookbehind:!0,alias:"regex"},command:{pattern:/^([\t ]*)@\w+(?=[\t ]|$).*/m,lookbehind:!0,alias:"function",inside:{"command-name":/^@\w+/,expression:{pattern:t,greedy:!0,alias:"selector"},"command-params":{pattern:/\s*\S[\s\S]*/,inside:n}}},"generic-text":{pattern:/(^[ \t]*)[^#@>;\s].*/m,lookbehind:!0,alias:"punctuation",inside:{"escaped-char":/\\[{}\[\]"]/,expression:{pattern:t,greedy:!0,alias:"selector"},"inline-command":{pattern:/\[[\t ]*\w[^\r\n\[\]]*\]/,greedy:!0,alias:"function",inside:{"command-params":{pattern:/(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/,lookbehind:!0,inside:n},"command-param-name":{pattern:/^(\[[\t ]*)\w+/,lookbehind:!0,alias:"name"},"start-stop-char":/[\[\]]/}}}}},e.languages.nani=e.languages.naniscript,e.hooks.add("after-tokenize",function(e){e.tokens.forEach(function(e){if("string"!=typeof e&&"generic-text"===e.type){var t=r(e);(function(e){for(var t=[],n=0;n{"use strict";function t(e){e.languages.wiki=e.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:e.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),e.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:e.languages.markup.tag.inside}}}})}e.exports=t,t.displayName="wiki",t.aliases=[]},1215:e=>{"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},1242:e=>{"use strict";function t(e){e.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp(/^\/\//.source+/(?:[\w\-.~!$&'()*+,;=%:]*@)?/.source+"(?:"+/\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\.[\w\-.~!$&'()*+,;=]+)\]/.source+"|"+/[\w\-.~!$&'()*+,;=%]*/.source+")"+/(?::\d*)?/.source,"m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},e.languages.url=e.languages.uri}e.exports=t,t.displayName="uri",t.aliases=["url"]},1269:e=>{"use strict";function t(e){e.languages.squirrel=e.languages.extend("clike",{comment:[e.languages.clike.comment[0],{pattern:/(^|[^\\:])(?:\/\/|#).*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^\\"'@])(?:@"(?:[^"]|"")*"(?!")|"(?:[^\\\r\n"]|\\.)*")/,lookbehind:!0,greedy:!0},"class-name":{pattern:/(\b(?:class|enum|extends|instanceof)\s+)\w+(?:\.\w+)*/,lookbehind:!0,inside:{punctuation:/\./}},keyword:/\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\b/,number:/\b(?:0x[0-9a-fA-F]+|\d+(?:\.(?:\d+|[eE][+-]?\d+))?)\b/,operator:/\+\+|--|<=>|<[-<]|>>>?|&&?|\|\|?|[-+*/%!=<>]=?|[~^]|::?/,punctuation:/[(){}\[\],;.]/}),e.languages.insertBefore("squirrel","string",{char:{pattern:/(^|[^\\"'])'(?:[^\\']|\\(?:[xuU][0-9a-fA-F]{0,8}|[\s\S]))'/,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("squirrel","operator",{"attribute-punctuation":{pattern:/<\/|\/>/,alias:"important"},lambda:{pattern:/@(?=\()/,alias:"operator"}})}e.exports=t,t.displayName="squirrel",t.aliases=[]},1275:e=>{"use strict";function t(e){e.languages.birb=e.languages.extend("clike",{string:{pattern:/r?("|')(?:\\.|(?!\1)[^\\])*\1/,greedy:!0},"class-name":[/\b[A-Z](?:[\d_]*[a-zA-Z]\w*)?\b/,/\b(?:[A-Z]\w*|(?!(?:var|void)\b)[a-z]\w*)(?=\s+\w+\s*[;,=()])/],keyword:/\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\b/,operator:/\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?|:/,variable:/\b[a-z_]\w*\b/}),e.languages.insertBefore("birb","function",{metadata:{pattern:/<\w+>/,greedy:!0,alias:"symbol"}})}e.exports=t,t.displayName="birb",t.aliases=[]},1283:e=>{"use strict";function t(e){e.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/}}e.exports=t,t.displayName="warpscript",t.aliases=[]},1288:e=>{"use strict";function t(e){!function(e){e.languages.puppet={heredoc:[{pattern:/(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,greedy:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/,alias:"string",inside:{punctuation:{pattern:/(\().+?(?=\))/,lookbehind:!0}}}],"multiline-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,greedy:!0,alias:"comment"},regex:{pattern:/((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,lookbehind:!0,greedy:!0,inside:{"extended-regex":{pattern:/^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/,inside:{comment:/#.*/}}}},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|\$(?!\{)|(?!\1)[^\\$]|\\[\s\S])*\1/,greedy:!0,inside:{"double-quoted":{pattern:/^"[\s\S]*"$/,inside:{}}}},variable:{pattern:/\$(?:::)?\w+(?:::\w+)*/,inside:{punctuation:/::/}},"attr-name":/(?:\b\w+|\*)(?=\s*=>)/,function:[{pattern:/(\.)(?!\d)\w+/,lookbehind:!0},/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/],number:/\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,boolean:/\b(?:false|true)\b/,keyword:/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,datatype:{pattern:/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/,alias:"symbol"},operator:/=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/,punctuation:/[\[\]{}().,;]|:+/};var t=[{pattern:/(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/,lookbehind:!0,inside:{"short-variable":{pattern:/(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}},delimiter:{pattern:/^\$/,alias:"variable"},rest:e.languages.puppet}},{pattern:/(^|[^\\])\$(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}}];e.languages.puppet.heredoc[0].inside.interpolation=t,e.languages.puppet.string.inside["double-quoted"].inside.interpolation=t}(e)}e.exports=t,t.displayName="puppet",t.aliases=[]},1322:e=>{"use strict";function t(e){!function(e){e.languages.dataweave={url:/\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,property:{pattern:/(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,greedy:!0},string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},"mime-type":/\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,date:{pattern:/\|[\w:+-]+\|/,greedy:!0},comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],regex:{pattern:/\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,greedy:!0},keyword:/\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,function:/\b[A-Z_]\w*(?=\s*\()/i,number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\];(),.:@]/,operator:/<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,boolean:/\b(?:false|true)\b/}}(e)}e.exports=t,t.displayName="dataweave",t.aliases=[]},1325:(e,t,n)=>{const r=n(3103);function i(e){let t=r(e);return`\n if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number');\n if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number');\n\n return {\n /**\n * Updates forces acting on a spring\n */\n update: function (spring) {\n var body1 = spring.from;\n var body2 = spring.to;\n var length = spring.length < 0 ? options.springLength : spring.length;\n ${t("var d{var} = body2.pos.{var} - body1.pos.{var};",{indent:6})}\n var r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n\n if (r === 0) {\n ${t("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:8})}\n r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n }\n\n var d = r - length;\n var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r;\n\n ${t("body1.force.{var} += coefficient * d{var}",{indent:6})};\n body1.springCount += 1;\n body1.springLength += r;\n\n ${t("body2.force.{var} -= coefficient * d{var}",{indent:6})};\n body2.springCount += 1;\n body2.springLength += r;\n }\n };\n`}e.exports=function(e){let t=i(e);return new Function("options","random",t)},e.exports.generateCreateSpringForceFunctionBody=i},1328:e=>{"use strict";function t(e){e.languages.jsstacktrace={"error-message":{pattern:/^\S.*/m,alias:"string"},"stack-frame":{pattern:/(^[ \t]+)at[ \t].*/m,lookbehind:!0,inside:{"not-my-code":{pattern:/^at[ \t]+(?!\s)(?:node\.js||.*(?:node_modules|\(\)|\(|$|\(internal\/|\(node\.js)).*/m,alias:"comment"},filename:{pattern:/(\bat\s+(?!\s)|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,lookbehind:!0,alias:"url"},function:{pattern:/(\bat\s+(?:new\s+)?)(?!\s)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,lookbehind:!0,inside:{punctuation:/\./}},punctuation:/[()]/,keyword:/\b(?:at|new)\b/,alias:{pattern:/\[(?:as\s+)?(?!\s)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,alias:"variable"},"line-number":{pattern:/:\d+(?::\d+)?\b/,alias:"number",inside:{punctuation:/:/}}}}}}e.exports=t,t.displayName="jsstacktrace",t.aliases=[]},1337:e=>{"use strict";function t(e){e.languages.ebnf={comment:/\(\*[\s\S]*?\*\)/,string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},special:{pattern:/\?[^?\r\n]*\?/,greedy:!0,alias:"class-name"},definition:{pattern:/^([\t ]*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,lookbehind:!0,alias:["rule","keyword"]},rule:/\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i,punctuation:/\([:/]|[:/]\)|[.,;()[\]{}]/,operator:/[-=|*/!]/}}e.exports=t,t.displayName="ebnf",t.aliases=[]},1359:e=>{"use strict";function t(e){!function(e){e.languages.tremor={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},"interpolated-string":null,extractor:{pattern:/\b[a-z_]\w*\|(?:[^\r\n\\|]|\\(?:\r\n|[\s\S]))*\|/i,greedy:!0,inside:{regex:{pattern:/(^re)\|[\s\S]+/,lookbehind:!0},function:/^\w+/,value:/\|[\s\S]+/}},identifier:{pattern:/`[^`]*`/,greedy:!0},function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())\b/,keyword:/\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\b/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee][+-]?[\d_]+)?)\b/,"pattern-punctuation":{pattern:/%(?=[({[])/,alias:"punctuation"},operator:/[-+*\/%~!^]=?|=[=>]?|&[&=]?|\|[|=]?|<=?|>>?>?=?|(?:absent|and|not|or|present|xor)\b/,punctuation:/::|[;\[\]()\{\},.:]/};var t=/#\{(?:[^"{}]|\{[^{}]*\}|"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*")*\}/.source;e.languages.tremor["interpolated-string"]={pattern:RegExp(/(^|[^\\])/.source+'(?:"""(?:'+/[^"\\#]|\\[\s\S]|"(?!"")|#(?!\{)/.source+"|"+t+')*"""|"(?:'+/[^"\\\r\n#]|\\(?:\r\n|[\s\S])|#(?!\{)/.source+"|"+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor}(e)}e.exports=t,t.displayName="tremor",t.aliases=[]},1377:(e,t,n)=>{"use strict";var r=n(8433);function i(e){e.register(r),function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,function(){return t.source});e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,function(){return n})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(e)}e.exports=i,i.displayName="cpp",i.aliases=[]},1402:e=>{"use strict";function t(e){!function(e){function t(e){return RegExp(/(\()/.source+"(?:"+e+")"+/(?=[\s\)])/.source)}function n(e){return RegExp(/([\s([])/.source+"(?:"+e+")"+/(?=[\s)])/.source)}var r=/(?!\d)[-+*/~!@$%^=<>{}\w]+/.source,i="&"+r,a="(\\()",o="(?=\\s)",s=/(?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*\))*/.source,c={heading:{pattern:/;;;.*/,alias:["comment","title"]},comment:/;.*/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0,inside:{argument:/[-A-Z]+(?=[.,\s])/,symbol:RegExp("`"+r+"'")}},"quoted-symbol":{pattern:RegExp("#?'"+r),alias:["variable","symbol"]},"lisp-property":{pattern:RegExp(":"+r),alias:"property"},splice:{pattern:RegExp(",@?"+r),alias:["symbol","variable"]},keyword:[{pattern:RegExp(a+"(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)"+o),lookbehind:!0},{pattern:RegExp(a+"(?:append|by|collect|concat|do|finally|for|in|return)"+o),lookbehind:!0}],declare:{pattern:t(/declare/.source),lookbehind:!0,alias:"keyword"},interactive:{pattern:t(/interactive/.source),lookbehind:!0,alias:"keyword"},boolean:{pattern:n(/nil|t/.source),lookbehind:!0},number:{pattern:n(/[-+]?\d+(?:\.\d*)?/.source),lookbehind:!0},defvar:{pattern:RegExp(a+"def(?:const|custom|group|var)\\s+"+r),lookbehind:!0,inside:{keyword:/^def[a-z]+/,variable:RegExp(r)}},defun:{pattern:RegExp(a+/(?:cl-)?(?:defmacro|defun\*?)\s+/.source+r+/\s+\(/.source+s+/\)/.source),lookbehind:!0,greedy:!0,inside:{keyword:/^(?:cl-)?def\S+/,arguments:null,function:{pattern:RegExp("(^\\s)"+r),lookbehind:!0},punctuation:/[()]/}},lambda:{pattern:RegExp(a+"lambda\\s+\\(\\s*(?:&?"+r+"(?:\\s+&?"+r+")*\\s*)?\\)"),lookbehind:!0,greedy:!0,inside:{keyword:/^lambda/,arguments:null,punctuation:/[()]/}},car:{pattern:RegExp(a+r),lookbehind:!0},punctuation:[/(?:['`,]?\(|[)\[\]])/,{pattern:/(\s)\.(?=\s)/,lookbehind:!0}]},l={"lisp-marker":RegExp(i),varform:{pattern:RegExp(/\(/.source+r+/\s+(?=\S)/.source+s+/\)/.source),inside:c},argument:{pattern:RegExp(/(^|[\s(])/.source+r),lookbehind:!0,alias:"variable"},rest:c},u="\\S+(?:\\s+\\S+)*",f={pattern:RegExp(a+s+"(?=\\))"),lookbehind:!0,inside:{"rest-vars":{pattern:RegExp("&(?:body|rest)\\s+"+u),inside:l},"other-marker-vars":{pattern:RegExp("&(?:aux|optional)\\s+"+u),inside:l},keys:{pattern:RegExp("&key\\s+"+u+"(?:\\s+&allow-other-keys)?"),inside:l},argument:{pattern:RegExp(r),alias:"variable"},punctuation:/[()]/}};c.lambda.inside.arguments=f,c.defun.inside.arguments=e.util.clone(f),c.defun.inside.arguments.inside.sublist=f,e.languages.lisp=c,e.languages.elisp=c,e.languages.emacs=c,e.languages["emacs-lisp"]=c}(e)}e.exports=t,t.displayName="lisp",t.aliases=[]},1421:e=>{"use strict";function t(e){e.languages.editorconfig={comment:/[;#].*/,section:{pattern:/(^[ \t]*)\[.+\]/m,lookbehind:!0,alias:"selector",inside:{regex:/\\\\[\[\]{},!?.*]/,operator:/[!?]|\.\.|\*{1,2}/,punctuation:/[\[\]{},]/}},key:{pattern:/(^[ \t]*)[^\s=]+(?=[ \t]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/=.*/,alias:"attr-value",inside:{punctuation:/^=/}}}}e.exports=t,t.displayName="editorconfig",t.aliases=[]},1443:(e,t,n)=>{"use strict";n.d(t,{QueryClientProvider:()=>h,useQuery:()=>k});var r=n(3582),i=n(5623).unstable_batchedUpdates;r.j.setBatchNotifyFunction(i);var a=n(416),o=console;(0,a.B)(o);var s=n(6326),c=s.createContext(void 0),l=s.createContext(!1);function u(e){return e&&"undefined"!=typeof window?(window.ReactQueryClientContext||(window.ReactQueryClientContext=c),window.ReactQueryClientContext):c}var f=function(){var e=s.useContext(u(s.useContext(l)));if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},h=function(e){var t=e.client,n=e.contextSharing,r=void 0!==n&&n,i=e.children;s.useEffect(function(){return t.mount(),function(){t.unmount()}},[t]);var a=u(r);return s.createElement(l.Provider,{value:r},s.createElement(a.Provider,{value:t},i))},d=n(7940),p=n(1575),g=n(8059),b=n(3811),m=n(8937),w=n(8671),v=function(e){function t(t,n){var r;return(r=e.call(this)||this).client=t,r.options=n,r.trackedProps=[],r.selectError=null,r.bindMethods(),r.setOptions(n),r}(0,p.A)(t,e);var n=t.prototype;return n.bindMethods=function(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)},n.onSubscribe=function(){1===this.listeners.length&&(this.currentQuery.addObserver(this),y(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())},n.onUnsubscribe=function(){this.listeners.length||this.destroy()},n.shouldFetchOnReconnect=function(){return E(this.currentQuery,this.options,this.options.refetchOnReconnect)},n.shouldFetchOnWindowFocus=function(){return E(this.currentQuery,this.options,this.options.refetchOnWindowFocus)},n.destroy=function(){this.listeners=[],this.clearTimers(),this.currentQuery.removeObserver(this)},n.setOptions=function(e,t){var n=this.options,r=this.currentQuery;if(this.options=this.client.defaultQueryObserverOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled)throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=n.queryKey),this.updateQuery();var i=this.hasListeners();i&&_(this.currentQuery,r,this.options,n)&&this.executeFetch(),this.updateResult(t),!i||this.currentQuery===r&&this.options.enabled===n.enabled&&this.options.staleTime===n.staleTime||this.updateStaleTimeout();var a=this.computeRefetchInterval();!i||this.currentQuery===r&&this.options.enabled===n.enabled&&a===this.currentRefetchInterval||this.updateRefetchInterval(a)},n.getOptimisticResult=function(e){var t=this.client.defaultQueryObserverOptions(e),n=this.client.getQueryCache().build(this.client,t);return this.createResult(n,t)},n.getCurrentResult=function(){return this.currentResult},n.trackResult=function(e,t){var n=this,r={},i=function(e){n.trackedProps.includes(e)||n.trackedProps.push(e)};return Object.keys(e).forEach(function(t){Object.defineProperty(r,t,{configurable:!1,enumerable:!0,get:function(){return i(t),e[t]}})}),(t.useErrorBoundary||t.suspense)&&i("error"),r},n.getNextResult=function(e){var t=this;return new Promise(function(n,r){var i=t.subscribe(function(t){t.isFetching||(i(),t.isError&&(null==e?void 0:e.throwOnError)?r(t.error):n(t))})})},n.getCurrentQuery=function(){return this.currentQuery},n.remove=function(){this.client.getQueryCache().remove(this.currentQuery)},n.refetch=function(e){return this.fetch((0,d.A)({},e,{meta:{refetchPage:null==e?void 0:e.refetchPage}}))},n.fetchOptimistic=function(e){var t=this,n=this.client.defaultQueryObserverOptions(e),r=this.client.getQueryCache().build(this.client,n);return r.fetch().then(function(){return t.createResult(r,n)})},n.fetch=function(e){var t=this;return this.executeFetch(e).then(function(){return t.updateResult(),t.currentResult})},n.executeFetch=function(e){this.updateQuery();var t=this.currentQuery.fetch(this.options,e);return(null==e?void 0:e.throwOnError)||(t=t.catch(g.lQ)),t},n.updateStaleTimeout=function(){var e=this;if(this.clearStaleTimeout(),!g.S$&&!this.currentResult.isStale&&(0,g.gn)(this.options.staleTime)){var t=(0,g.j3)(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout(function(){e.currentResult.isStale||e.updateResult()},t)}},n.computeRefetchInterval=function(){var e;return"function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.currentResult.data,this.currentQuery):null!=(e=this.options.refetchInterval)&&e},n.updateRefetchInterval=function(e){var t=this;this.clearRefetchInterval(),this.currentRefetchInterval=e,!g.S$&&!1!==this.options.enabled&&(0,g.gn)(this.currentRefetchInterval)&&0!==this.currentRefetchInterval&&(this.refetchIntervalId=setInterval(function(){(t.options.refetchIntervalInBackground||b.m.isFocused())&&t.executeFetch()},this.currentRefetchInterval))},n.updateTimers=function(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())},n.clearTimers=function(){this.clearStaleTimeout(),this.clearRefetchInterval()},n.clearStaleTimeout=function(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)},n.clearRefetchInterval=function(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)},n.createResult=function(e,t){var n,r=this.currentQuery,i=this.options,o=this.currentResult,s=this.currentResultState,c=this.currentResultOptions,l=e!==r,u=l?e.state:this.currentQueryInitialState,f=l?this.currentResult:this.previousQueryResult,h=e.state,d=h.dataUpdatedAt,p=h.error,b=h.errorUpdatedAt,m=h.isFetching,w=h.status,v=!1,E=!1;if(t.optimisticResults){var x=this.hasListeners(),T=!x&&y(e,t),A=x&&_(e,r,t,i);(T||A)&&(m=!0,d||(w="loading"))}if(t.keepPreviousData&&!h.dataUpdateCount&&(null==f?void 0:f.isSuccess)&&"error"!==w)n=f.data,d=f.dataUpdatedAt,w=f.status,v=!0;else if(t.select&&void 0!==h.data)if(o&&h.data===(null==s?void 0:s.data)&&t.select===this.selectFn)n=this.selectResult;else try{this.selectFn=t.select,n=t.select(h.data),!1!==t.structuralSharing&&(n=(0,g.BH)(null==o?void 0:o.data,n)),this.selectResult=n,this.selectError=null}catch(e){(0,a.t)().error(e),this.selectError=e}else n=h.data;if(void 0!==t.placeholderData&&void 0===n&&("loading"===w||"idle"===w)){var k;if((null==o?void 0:o.isPlaceholderData)&&t.placeholderData===(null==c?void 0:c.placeholderData))k=o.data;else if(k="function"==typeof t.placeholderData?t.placeholderData():t.placeholderData,t.select&&void 0!==k)try{k=t.select(k),!1!==t.structuralSharing&&(k=(0,g.BH)(null==o?void 0:o.data,k)),this.selectError=null}catch(e){(0,a.t)().error(e),this.selectError=e}void 0!==k&&(w="success",n=k,E=!0)}return this.selectError&&(p=this.selectError,n=this.selectResult,b=Date.now(),w="error"),{status:w,isLoading:"loading"===w,isSuccess:"success"===w,isError:"error"===w,isIdle:"idle"===w,data:n,dataUpdatedAt:d,error:p,errorUpdatedAt:b,failureCount:h.fetchFailureCount,errorUpdateCount:h.errorUpdateCount,isFetched:h.dataUpdateCount>0||h.errorUpdateCount>0,isFetchedAfterMount:h.dataUpdateCount>u.dataUpdateCount||h.errorUpdateCount>u.errorUpdateCount,isFetching:m,isRefetching:m&&"loading"!==w,isLoadingError:"error"===w&&0===h.dataUpdatedAt,isPlaceholderData:E,isPreviousData:v,isRefetchError:"error"===w&&0!==h.dataUpdatedAt,isStale:S(e,t),refetch:this.refetch,remove:this.remove}},n.shouldNotifyListeners=function(e,t){if(!t)return!0;var n=this.options,r=n.notifyOnChangeProps,i=n.notifyOnChangePropsExclusions;if(!r&&!i)return!0;if("tracked"===r&&!this.trackedProps.length)return!0;var a="tracked"===r?this.trackedProps:r;return Object.keys(e).some(function(n){var r=n,o=e[r]!==t[r],s=null==a?void 0:a.some(function(e){return e===n}),c=null==i?void 0:i.some(function(e){return e===n});return o&&!c&&(!a||s)})},n.updateResult=function(e){var t=this.currentResult;if(this.currentResult=this.createResult(this.currentQuery,this.options),this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,!(0,g.f8)(this.currentResult,t)){var n={cache:!0};!1!==(null==e?void 0:e.listeners)&&this.shouldNotifyListeners(this.currentResult,t)&&(n.listeners=!0),this.notify((0,d.A)({},n,e))}},n.updateQuery=function(){var e=this.client.getQueryCache().build(this.client,this.options);if(e!==this.currentQuery){var t=this.currentQuery;this.currentQuery=e,this.currentQueryInitialState=e.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(null==t||t.removeObserver(this),e.addObserver(this))}},n.onQueryUpdate=function(e){var t={};"success"===e.type?t.onSuccess=!0:"error"!==e.type||(0,w.wm)(e.error)||(t.onError=!0),this.updateResult(t),this.hasListeners()&&this.updateTimers()},n.notify=function(e){var t=this;r.j.batch(function(){e.onSuccess?(null==t.options.onSuccess||t.options.onSuccess(t.currentResult.data),null==t.options.onSettled||t.options.onSettled(t.currentResult.data,null)):e.onError&&(null==t.options.onError||t.options.onError(t.currentResult.error),null==t.options.onSettled||t.options.onSettled(void 0,t.currentResult.error)),e.listeners&&t.listeners.forEach(function(e){e(t.currentResult)}),e.cache&&t.client.getQueryCache().notify({query:t.currentQuery,type:"observerResultsUpdated"})})},t}(m.Q);function y(e,t){return function(e,t){return!(!1===t.enabled||e.state.dataUpdatedAt||"error"===e.state.status&&!1===t.retryOnMount)}(e,t)||e.state.dataUpdatedAt>0&&E(e,t,t.refetchOnMount)}function E(e,t,n){if(!1!==t.enabled){var r="function"==typeof n?n(e):n;return"always"===r||!1!==r&&S(e,t)}return!1}function _(e,t,n,r){return!1!==n.enabled&&(e!==t||!1===r.enabled)&&(!n.suspense||"error"!==e.state.status)&&S(e,n)}function S(e,t){return e.isStaleByTime(t.staleTime)}var x,T=s.createContext((x=!1,{clearReset:function(){x=!1},reset:function(){x=!0},isReset:function(){return x}})),A=function(){return s.useContext(T)};function k(e,t,n){return function(e,t){var n=s.useRef(!1),i=s.useState(0)[1],a=f(),o=A(),c=a.defaultQueryObserverOptions(e);c.optimisticResults=!0,c.onError&&(c.onError=r.j.batchCalls(c.onError)),c.onSuccess&&(c.onSuccess=r.j.batchCalls(c.onSuccess)),c.onSettled&&(c.onSettled=r.j.batchCalls(c.onSettled)),c.suspense&&("number"!=typeof c.staleTime&&(c.staleTime=1e3),0===c.cacheTime&&(c.cacheTime=1)),(c.suspense||c.useErrorBoundary)&&(o.isReset()||(c.retryOnMount=!1));var l,u,h,d=s.useState(function(){return new t(a,c)})[0],p=d.getOptimisticResult(c);if(s.useEffect(function(){n.current=!0,o.clearReset();var e=d.subscribe(r.j.batchCalls(function(){n.current&&i(function(e){return e+1})}));return d.updateResult(),function(){n.current=!1,e()}},[o,d]),s.useEffect(function(){d.setOptions(c,{listeners:!1})},[c,d]),c.suspense&&p.isLoading)throw d.fetchOptimistic(c).then(function(e){var t=e.data;null==c.onSuccess||c.onSuccess(t),null==c.onSettled||c.onSettled(t,null)}).catch(function(e){o.clearReset(),null==c.onError||c.onError(e),null==c.onSettled||c.onSettled(void 0,e)});if(p.isError&&!o.isReset()&&!p.isFetching&&(l=c.suspense,u=c.useErrorBoundary,h=[p.error,d.getCurrentQuery()],"function"==typeof u?u.apply(void 0,h):"boolean"==typeof u?u:l))throw p.error;return"tracked"===c.notifyOnChangeProps&&(p=d.trackResult(p,c)),p}((0,g.vh)(e,t,n),v)}},1459:e=>{"use strict";function t(e){!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(e)}e.exports=t,t.displayName="powershell",t.aliases=[]},1464:e=>{"use strict";function t(e){e.languages.nim={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(?:\b(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")/,greedy:!0},char:{pattern:/'(?:\\(?:\d+|x[\da-fA-F]{0,2}|.)|[^'])'/,greedy:!0},function:{pattern:/(?:(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,greedy:!0,inside:{operator:/\*$/}},identifier:{pattern:/`[^`\r\n]+`/,greedy:!0,inside:{punctuation:/`/}},number:/\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,keyword:/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/,operator:{pattern:/(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\b)/m,lookbehind:!0},punctuation:/[({\[]\.|\.[)}\]]|[`(){}\[\],:]/}}e.exports=t,t.displayName="nim",t.aliases=[]},1471:e=>{"use strict";function t(e){e.languages.oz={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},atom:{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,alias:"builtin"},keyword:/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/,function:[/\b[a-z][A-Za-z\d]*(?=\()/,{pattern:/(\{)[A-Z][A-Za-z\d]*\b/,lookbehind:!0}],number:/\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i,variable:/`(?:[^`\\]|\\.)+`/,"attr-name":/\b\w+(?=[ \t]*:(?![:=]))/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,punctuation:/[\[\](){}.:;?]/}}e.exports=t,t.displayName="oz",t.aliases=[]},1496:(e,t,n)=>{"use strict";var r=n(5562);function i(e){e.register(r),function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:i,punctuation:a};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore("php","variable",{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:i,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",function(t){/<\?/.test(t.code)&&e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}),e.hooks.add("after-tokenize",function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")})}(e)}e.exports=i,i.displayName="php",i.aliases=[]},1525:e=>{"use strict";function t(e){!function(e){function t(e,n){return n<=0?/[]/.source:e.replace(//g,function(){return t(e,n-1)})}var n=/'[{}:=,](?:[^']|'')*'(?!')/,r={pattern:/''/,greedy:!0,alias:"operator"},i={pattern:n,greedy:!0,inside:{escape:r}},a=t(/\{(?:[^{}']|'(?![{},'])|''||)*\}/.source.replace(//g,function(){return n.source}),8),o={pattern:RegExp(a),inside:{message:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:null},"message-delimiter":{pattern:/./,alias:"punctuation"}}};e.languages["icu-message-format"]={argument:{pattern:RegExp(a),greedy:!0,inside:{content:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:{"argument-name":{pattern:/^(\s*)[^{}:=,\s]+/,lookbehind:!0},"choice-style":{pattern:/^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{punctuation:/\|/,range:{pattern:/^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/,lookbehind:!0,inside:{operator:/[<#\u2264]/,number:/\S+/}},rest:null}},"plural-style":{pattern:/^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{offset:/^offset:\s*\d+/,"nested-message":o,selector:{pattern:/=\d+|[^{}:=,\s]+/,inside:{keyword:/^(?:few|many|one|other|two|zero)$/}}}},"select-style":{pattern:/^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{"nested-message":o,selector:{pattern:/[^{}:=,\s]+/,inside:{keyword:/^other$/}}}},keyword:/\b(?:choice|plural|select|selectordinal)\b/,"arg-type":{pattern:/\b(?:date|duration|number|ordinal|spellout|time)\b/,alias:"keyword"},"arg-skeleton":{pattern:/(,\s*)::[^{}:=,\s]+/,lookbehind:!0},"arg-style":{pattern:/(,\s*)(?:currency|full|integer|long|medium|percent|short)(?=\s*$)/,lookbehind:!0},"arg-style-text":{pattern:RegExp(/(^\s*,\s*(?=\S))/.source+t(/(?:[^{}']|'[^']*'|\{(?:)?\})+/.source,8)+"$"),lookbehind:!0,alias:"string"},punctuation:/,/}},"argument-delimiter":{pattern:/./,alias:"operator"}}},escape:r,string:i},o.inside.message.inside=e.languages["icu-message-format"],e.languages["icu-message-format"].argument.inside.content.inside["choice-style"].inside.rest=e.languages["icu-message-format"]}(e)}e.exports=t,t.displayName="icuMessageFormat",t.aliases=[]},1535:(e,t)=>{"use strict";var n=0;function r(){return Math.pow(2,++n)}t.boolean=r(),t.booleanish=r(),t.overloadedBoolean=r(),t.number=r(),t.spaceSeparated=r(),t.commaSeparated=r(),t.commaOrSpaceSeparated=r()},1537:(e,t,n)=>{"use strict";var r=n(6562);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new r(e),t(n.reason))})}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i(function(t){e=t}),cancel:e}},e.exports=i},1558:(e,t,n)=>{"use strict";var r=n(5562),i=n(1496);function a(e){e.register(r),e.register(i),function(e){e.languages.latte={comment:/^\{\*[\s\S]*/,"latte-tag":{pattern:/(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,lookbehind:!0,alias:"important"},delimiter:{pattern:/^\{\/?|\}$/,alias:"punctuation"},php:{pattern:/\S(?:[\s\S]*\S)?/,alias:"language-php",inside:e.languages.php}};var t=e.languages.extend("markup",{});e.languages.insertBefore("inside","attr-value",{"n-attr":{pattern:/n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,inside:{"attr-name":{pattern:/^[^\s=]+/,alias:"important"},"attr-value":{pattern:/=[\s\S]+/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}],php:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.php}}}}}},t.tag),e.hooks.add("before-tokenize",function(n){"latte"===n.language&&(e.languages["markup-templating"].buildPlaceholders(n,"latte",/\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g),n.grammar=t)}),e.hooks.add("after-tokenize",function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"latte")})}(e)}e.exports=a,a.displayName="latte",a.aliases=[]},1570:(e,t,n)=>{"use strict";var r=n(5562);function i(e){e.register(r),function(e){e.languages.tt2=e.languages.extend("clike",{comment:/#.*|\[%#[\s\S]*?%\]/,keyword:/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\b/,punctuation:/[[\]{},()]/}),e.languages.insertBefore("tt2","number",{operator:/=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|not|or)\b/,variable:{pattern:/\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i}}),e.languages.insertBefore("tt2","keyword",{delimiter:{pattern:/^(?:\[%|%%)-?|-?%\]$/,alias:"punctuation"}}),e.languages.insertBefore("tt2","string",{"single-quoted-string":{pattern:/'[^\\']*(?:\\[\s\S][^\\']*)*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,greedy:!0,alias:"string",inside:{variable:{pattern:/\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i}}}}),delete e.languages.tt2.string,e.hooks.add("before-tokenize",function(t){e.languages["markup-templating"].buildPlaceholders(t,"tt2",/\[%[\s\S]+?%\]/g)}),e.hooks.add("after-tokenize",function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"tt2")})}(e)}e.exports=i,i.displayName="tt2",i.aliases=[]},1575:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(2050);function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,(0,r.A)(e,t)}},1698:e=>{"use strict";function t(e){e.languages.neon={comment:{pattern:/#.*/,greedy:!0},datetime:{pattern:/(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\]}),\s])/,lookbehind:!0,alias:"number"},key:{pattern:/(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/,lookbehind:!0,alias:"atrule"},number:{pattern:/(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:[eE][+-]?\d+)?)(?=$|[\]}),:=\s])/,lookbehind:!0},boolean:{pattern:/(^|[[{(=:,\s])(?:false|no|true|yes)(?=$|[\]}),:=\s])/i,lookbehind:!0},null:{pattern:/(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i,lookbehind:!0,alias:"keyword"},string:{pattern:/(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2|'[^'\r\n]*'|"(?:\\.|[^\\"\r\n])*")/,lookbehind:!0,greedy:!0},literal:{pattern:/(^|[[{(=:,\s])(?:[^#"',:=[\]{}()\s`-]|[:-][^"',=[\]{}()\s])(?:[^,:=\]})(\s]|:(?![\s,\]})]|$)|[ \t]+[^#,:=\]})(\s])*/,lookbehind:!0,alias:"string"},punctuation:/[,:=[\]{}()-]/}}e.exports=t,t.displayName="neon",t.aliases=[]},1718:e=>{"use strict";function t(e){e.languages.log={string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?![st] | \w)(?:[^'\\\r\n]|\\.)*'/,greedy:!0},exception:{pattern:/(^|[^\w.])[a-z][\w.]*(?:Error|Exception):.*(?:(?:\r\n?|\n)[ \t]*(?:at[ \t].+|\.{3}.*|Caused by:.*))+(?:(?:\r\n?|\n)[ \t]*\.\.\. .*)?/,lookbehind:!0,greedy:!0,alias:["javastacktrace","language-javastacktrace"],inside:e.languages.javastacktrace||{keyword:/\bat\b/,function:/[a-z_][\w$]*(?=\()/,punctuation:/[.:()]/}},level:[{pattern:/\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\b/,alias:["error","important"]},{pattern:/\b(?:WARN|WARNING|WRN)\b/,alias:["warning","important"]},{pattern:/\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\b/,alias:["info","keyword"]},{pattern:/\b(?:DBG|DEBUG|FINE)\b/,alias:["debug","keyword"]},{pattern:/\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\b/,alias:["trace","comment"]}],property:{pattern:/((?:^|[\]|])[ \t]*)[a-z_](?:[\w-]|\b\/\b)*(?:[. ]\(?\w(?:[\w-]|\b\/\b)*\)?)*:(?=\s)/im,lookbehind:!0},separator:{pattern:/(^|[^-+])-{3,}|={3,}|\*{3,}|- - /m,lookbehind:!0,alias:"comment"},url:/\b(?:file|ftp|https?):\/\/[^\s|,;'"]*[^\s|,;'">.]/,email:{pattern:/(^|\s)[-\w+.]+@[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+(?=\s)/,lookbehind:!0,alias:"url"},"ip-address":{pattern:/\b(?:\d{1,3}(?:\.\d{1,3}){3})\b/,alias:"constant"},"mac-address":{pattern:/\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\b/i,alias:"constant"},domain:{pattern:/(^|\s)[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*\.[a-z][a-z0-9-]+(?=\s)/,lookbehind:!0,alias:"constant"},uuid:{pattern:/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i,alias:"constant"},hash:{pattern:/\b(?:[a-f0-9]{32}){1,2}\b/i,alias:"constant"},"file-path":{pattern:/\b[a-z]:[\\/][^\s|,;:(){}\[\]"']+|(^|[\s:\[\](>|])\.{0,2}\/\w[^\s|,;:(){}\[\]"']*/i,lookbehind:!0,greedy:!0,alias:"string"},date:{pattern:RegExp(/\b\d{4}[-/]\d{2}[-/]\d{2}(?:T(?=\d{1,2}:)|(?=\s\d{1,2}:))/.source+"|"+/\b\d{1,4}[-/ ](?:\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\d{2,4}T?\b/.source+"|"+/\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\s{1,2}\d{1,2}\b/.source,"i"),alias:"number"},time:{pattern:/\b\d{1,2}:\d{1,2}:\d{1,2}(?:[.,:]\d+)?(?:\s?[+-]\d{2}:?\d{2}|Z)?\b/,alias:"number"},boolean:/\b(?:false|null|true)\b/i,number:{pattern:/(^|[^.\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\d[\da-f]*(?:\.\d+)*(?:e[+-]?\d+)?[a-z]{0,3}\b)\b(?!\.\w)/i,lookbehind:!0},operator:/[;:?<=>~/@!$%&+\-|^(){}*#]/,punctuation:/[\[\].,]/}}e.exports=t,t.displayName="log",t.aliases=[]},1739:e=>{"use strict";function t(e){!function(e){var t="(?:"+[/[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source,/-?(?:\.\d+|\d+(?:\.\d*)?)/.source,/"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source,/<(?:[^<>]|(?!)*>/.source].join("|")+")",n={markup:{pattern:/(^<)[\s\S]+(?=>$)/,lookbehind:!0,alias:["language-markup","language-html","language-xml"],inside:e.languages.markup}};function r(e,n){return RegExp(e.replace(//g,function(){return t}),n)}e.languages.dot={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,greedy:!0},"graph-name":{pattern:r(/(\b(?:digraph|graph|subgraph)[ \t\r\n]+)/.source,"i"),lookbehind:!0,greedy:!0,alias:"class-name",inside:n},"attr-value":{pattern:r(/(=[ \t\r\n]*)/.source),lookbehind:!0,greedy:!0,inside:n},"attr-name":{pattern:r(/([\[;, \t\r\n])(?=[ \t\r\n]*=)/.source),lookbehind:!0,greedy:!0,inside:n},keyword:/\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,"compass-point":{pattern:/(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,lookbehind:!0,alias:"builtin"},node:{pattern:r(/(^|[^-.\w\x80-\uFFFF\\])/.source),lookbehind:!0,greedy:!0,inside:n},operator:/[=:]|-[->]/,punctuation:/[\[\]{};,]/},e.languages.gv=e.languages.dot}(e)}e.exports=t,t.displayName="dot",t.aliases=["gv"]},1771:(e,t,n)=>{var r;function a(){}function s(){}function c(){}function l(){}function u(){}function f(){}function h(){}function d(){}function p(){}function b(){}function m(){}function w(){}function v(){}function y(){}function E(){}function _(){}function S(){}function x(){}function T(){}function A(){}function k(){}function C(){}function M(){}function I(){}function O(){}function R(){}function N(){}function P(){}function L(){}function D(){}function F(){}function U(){}function j(){}function B(){}function z(){}function $(){}function H(){}function G(){}function V(){}function W(){}function q(){}function X(){}function Y(){}function K(){}function Z(){}function Q(){}function J(){}function ee(){}function te(){}function ne(){}function re(){}function ie(){}function ae(){}function oe(){}function se(){}function ce(){}function le(){}function ue(){}function fe(){}function he(){}function de(){}function pe(){}function ge(){}function be(){}function me(){}function we(){}function ve(){}function ye(){}function Ee(){}function _e(){}function Se(){}function xe(){}function Te(){}function Ae(){}function ke(){}function Ce(){}function Me(){}function Ie(){}function Oe(){}function Re(){}function Ne(){}function Pe(){}function Le(){}function De(){}function Fe(){}function Ue(){}function je(){}function Be(){}function ze(){}function $e(){}function He(){}function Ge(){}function Ve(){}function We(){}function qe(){}function Xe(){}function Ye(){}function Ke(){}function Ze(){}function Qe(){}function Je(){}function et(){}function tt(){}function nt(){}function rt(){}function it(){}function at(){}function ot(){}function st(){}function ct(){}function lt(){}function ut(){}function ft(){}function ht(){}function dt(){}function pt(){}function gt(){}function bt(){}function mt(){}function wt(){}function vt(){}function yt(){}function Et(){}function _t(){}function St(){}function xt(){}function Tt(){}function At(){}function kt(){}function Ct(){}function Mt(){}function It(){}function Ot(){}function Rt(){}function Nt(){}function Pt(){}function Lt(){}function Dt(){}function Ft(){}function Ut(){}function jt(){}function Bt(){}function zt(){}function $t(){}function Ht(){}function Gt(){}function Vt(){}function Wt(){}function qt(){}function Xt(){}function Yt(){}function Kt(){}function Zt(){}function Qt(){}function Jt(){}function en(){}function tn(){}function nn(){}function rn(){}function an(){}function on(){}function sn(){}function cn(){}function ln(){}function un(){}function fn(){}function hn(){}function dn(){}function pn(){}function gn(){}function bn(){}function mn(){}function wn(){}function vn(){}function yn(){}function En(){}function _n(){}function Sn(){}function xn(){}function Tn(){}function An(){}function kn(){}function Cn(){}function Mn(){}function In(){}function On(){}function Rn(){}function Nn(){}function Pn(){}function Ln(){}function Dn(){}function Fn(){}function Un(){}function jn(){}function Bn(){}function zn(){}function $n(){}function Hn(){}function Gn(){}function Vn(){}function Wn(){}function qn(){}function Xn(){}function Yn(){}function Kn(){}function Zn(){}function Qn(){}function Jn(){}function er(){}function tr(){}function nr(){}function rr(){}function ir(){}function ar(){}function or(){}function sr(){}function cr(){}function lr(){}function ur(){}function fr(){}function hr(){}function dr(){}function pr(){}function gr(){}function br(){}function mr(){}function wr(){}function vr(){}function yr(){}function Er(){}function _r(){}function Sr(){}function xr(){}function Tr(){}function Ar(){}function kr(){}function Cr(){}function Mr(){}function Ir(){}function Or(){}function Rr(){}function Nr(){}function Pr(){}function Lr(){}function Dr(){}function Fr(){}function Ur(){}function jr(){}function Br(){}function zr(){}function $r(){}function Hr(){}function Gr(){}function Vr(){}function Wr(){}function qr(){}function Xr(){}function Yr(){}function Kr(){}function Zr(){}function Qr(){}function Jr(){}function ei(){}function ti(){}function ni(){}function ri(){}function ii(){}function ai(){}function oi(){}function si(){}function ci(){}function li(){}function ui(){}function fi(){}function hi(){}function di(){}function pi(){}function gi(){}function bi(){}function mi(){}function wi(){}function vi(){}function yi(){}function Ei(){}function _i(){}function Si(){}function xi(){}function Ti(){}function Ai(){}function ki(){}function Ci(){}function Mi(){}function Ii(){}function Oi(){}function Ri(){}function Ni(){}function Pi(){}function Li(){}function Di(){}function Fi(){}function Ui(){}function ji(){}function Bi(){}function zi(){}function $i(){}function Hi(){}function Gi(){}function Vi(){}function Wi(){}function qi(){}function Xi(){}function Yi(){}function Ki(){}function Zi(){}function Qi(){}function Ji(){}function ea(){}function ta(){}function na(){}function ra(){}function ia(){}function aa(){}function oa(){}function sa(){}function ca(){}function la(){}function ua(){}function fa(){}function ha(){}function da(){}function pa(){}function ga(){}function ba(){}function ma(){}function wa(){}function va(){}function ya(){}function Ea(){}function _a(){}function Sa(){}function xa(){}function Ta(){}function Aa(){}function ka(){}function Ca(){}function Ma(){}function Ia(){}function Oa(){}function Ra(){}function Na(){}function Pa(){}function La(){}function Da(){}function Fa(){}function Ua(){}function ja(){}function Ba(){}function za(){}function $a(){}function Ha(){}function Ga(){}function Va(){}function Wa(){}function qa(){}function Xa(){}function Ya(){}function Ka(){}function Za(){}function Qa(){}function Ja(){}function eo(){}function to(){}function no(){}function ro(){}function io(){}function ao(){}function oo(){}function so(){}function co(){}function lo(){}function uo(){}function fo(){}function ho(){}function po(){}function go(){}function bo(){}function mo(){}function wo(){}function vo(){}function yo(){}function Eo(){}function _o(){}function So(){}function xo(){}function To(){}function Ao(){}function ko(){}function Co(){}function Mo(){}function Io(){}function Oo(){}function Ro(){}function No(){}function Po(){}function Lo(){}function Do(){}function Fo(){}function Uo(){}function jo(){}function Bo(){}function zo(){}function $o(){}function Ho(){}function Go(){}function Vo(){}function Wo(){}function qo(){}function Xo(){}function Yo(){}function Ko(){}function Zo(){}function Qo(){}function Jo(){}function es(){}function ts(){}function ns(){}function rs(){}function is(){}function as(){}function os(){}function ss(){}function cs(){}function ls(){}function us(){}function fs(){}function hs(){}function ds(){}function ps(){}function gs(){}function bs(){}function ms(){}function ws(){}function vs(){}function ys(){}function Es(){}function _s(){}function Ss(){}function xs(){}function Ts(){}function As(){}function ks(){}function Cs(){}function Ms(){}function Is(){}function Os(){}function Rs(){}function Ns(){}function Ps(){}function Ls(){}function Ds(){}function Fs(){}function Us(){}function js(){}function Bs(){}function zs(){}function $s(){}function Hs(){}function Gs(){}function Vs(){}function Ws(){}function qs(){}function Xs(){}function Ys(){}function Ks(){}function Zs(){}function Qs(){}function Js(){}function ec(){}function tc(){}function nc(){}function rc(){}function ic(){}function ac(){}function oc(){}function sc(){}function cc(){}function lc(){}function uc(){}function fc(){}function hc(){}function dc(){}function pc(){}function gc(){}function bc(){}function mc(){}function wc(){}function vc(){}function yc(){}function Ec(){}function _c(){}function Sc(){}function xc(){}function Tc(){}function Ac(){}function kc(){}function Cc(){}function Mc(){}function Ic(){}function Oc(){}function Rc(){}function Nc(){}function Pc(){}function Lc(){}function Dc(){}function Fc(){}function Uc(){}function jc(){}function Bc(){}function zc(){}function $c(){}function Hc(){}function Gc(){}function Vc(){}function Wc(){}function qc(){}function Xc(){}function Yc(){}function Kc(){}function Zc(){}function Qc(){}function Jc(){}function el(){}function tl(){}function nl(){}function rl(){}function il(){}function al(){}function ol(){}function sl(){}function cl(){}function ll(){}function ul(){}function fl(){}function hl(){}function dl(){}function pl(){}function gl(){}function bl(){}function ml(){}function wl(){}function vl(){}function yl(){}function El(){}function _l(){}function Sl(){}function xl(){}function Tl(){}function Al(){}function kl(){}function Cl(){}function Ml(){}function Il(){}function Ol(){}function Rl(){}function Nl(){}function Pl(){}function Ll(){}function Dl(){}function Fl(){}function Ul(){}function jl(){}function Bl(){}function zl(){}function $l(){}function Hl(){}function Gl(){}function Vl(){}function Wl(){}function ql(){}function Xl(){}function Yl(){}function Kl(){}function Zl(){}function Ql(){}function Jl(){}function eu(){}function tu(){}function nu(){}function ru(){}function iu(){}function au(){}function ou(){}function su(){}function cu(){}function lu(){}function uu(){}function fu(){}function hu(){}function du(){}function pu(){}function gu(){}function bu(){}function mu(){}function wu(){}function vu(){}function yu(){}function Eu(){}function _u(){}function Su(){}function xu(){}function Tu(){}function Au(){}function ku(){}function Cu(){}function Mu(){}function Iu(){}function Ou(){}function Ru(){}function Nu(){}function Pu(){Bw()}function Lu(){Mre()}function Du(){u5()}function Fu(){jee()}function Uu(){Moe()}function ju(){ehe()}function Bu(){Zne()}function zu(){ste()}function $u(){AS()}function Hu(){xS()}function Gu(){XP()}function Vu(){TS()}function Wu(){f0()}function qu(){rY()}function Xu(){d4()}function Yu(){CS()}function Ku(){toe()}function Zu(){oG()}function Qu(){JY()}function Ju(){Nve()}function ef(){mve()}function tf(){H1()}function nf(){NV()}function rf(){G1()}function af(){W1()}function of(){cG()}function sf(){nre()}function cf(){TK()}function lf(){OG()}function uf(){j3()}function ff(){IS()}function hf(){rue()}function df(){Yse()}function pf(){uG()}function gf(){Rpe()}function bf(){f2()}function mf(){xoe()}function wf(){Xae()}function vf(){c5()}function yf(){oue()}function Ef(){l5()}function _f(){qae()}function Sf(){Ede()}function xf(){zte()}function Tf(){AK()}function Af(){Ove()}function kf(){K9()}function Cf(){gbe()}function Mf(){dP()}function If(){z0()}function Of(){dge()}function Rf(e){sB(e)}function Nf(e){this.a=e}function Pf(e){this.a=e}function Lf(e){this.a=e}function Df(e){this.a=e}function Ff(e){this.a=e}function Uf(e){this.a=e}function jf(e){this.a=e}function Bf(e){this.a=e}function zf(e){this.a=e}function $f(e){this.a=e}function Hf(e){this.a=e}function Gf(e){this.a=e}function Vf(e){this.a=e}function Wf(e){this.a=e}function qf(e){this.a=e}function Xf(e){this.a=e}function Yf(e){this.a=e}function Kf(e){this.a=e}function Zf(e){this.a=e}function Qf(e){this.a=e}function Jf(e){this.a=e}function eh(e){this.a=e}function th(e){this.a=e}function nh(e){this.a=e}function rh(e){this.a=e}function ih(e){this.a=e}function ah(e){this.a=e}function oh(e){this.a=e}function sh(e){this.a=e}function ch(e){this.a=e}function lh(e){this.a=e}function uh(e){this.a=e}function fh(e){this.c=e}function hh(e){this.b=e}function dh(){this.a=[]}function ph(e,t){e.a=t}function gh(e,t){e.j=t}function bh(e,t){e.c=t}function mh(e,t){e.d=t}function wh(e,t){e.k=t}function vh(e,t){e.d=t}function yh(e,t){e.a=t}function Eh(e,t){e.a=t}function _h(e,t){e.c=t}function Sh(e,t){e.a=t}function xh(e,t){e.f=t}function Th(e,t){e.e=t}function Ah(e,t){e.g=t}function kh(e,t){e.e=t}function Ch(e,t){e.f=t}function Mh(e,t){e.i=t}function Ih(e,t){e.i=t}function Oh(e,t){e.b=t}function Rh(e,t){e.o=t}function Nh(e,t){e.n=t}function Ph(e){e.b=e.a}function Lh(e){e.c=e.d.d}function Dh(e){this.d=e}function Fh(e){this.a=e}function Uh(e){this.a=e}function jh(e){this.a=e}function Bh(e){this.a=e}function zh(e){this.a=e}function $h(e){this.a=e}function Hh(e){this.a=e}function Gh(e){this.a=e}function Vh(e){this.a=e}function Wh(e){this.a=e}function qh(e){this.a=e}function Xh(e){this.a=e}function Yh(e){this.a=e}function Kh(e){this.a=e}function Zh(e){this.a=e}function Qh(e){this.b=e}function Jh(e){this.b=e}function ed(e){this.b=e}function td(e){this.c=e}function nd(e){this.c=e}function rd(e){this.a=e}function id(e){this.a=e}function ad(e){this.a=e}function od(e){this.a=e}function sd(e){this.a=e}function cd(e){this.a=e}function ld(e){this.a=e}function ud(e){this.a=e}function fd(e){this.a=e}function hd(e){this.a=e}function dd(e){this.a=e}function pd(e){this.a=e}function gd(e){this.a=e}function bd(e){this.a=e}function md(e){this.a=e}function wd(e){this.a=e}function vd(e){this.a=e}function yd(e){this.a=e}function Ed(e){this.a=e}function _d(e){this.a=e}function Sd(e){this.a=e}function xd(e){this.a=e}function Td(e){this.a=e}function Ad(e){this.a=e}function kd(e){this.a=e}function Cd(e){this.a=e}function Md(e){this.a=e}function Id(e){this.a=e}function Od(e){this.a=e}function Rd(e){this.a=e}function Nd(e){this.a=e}function Pd(e){this.a=e}function Ld(e){this.a=e}function Dd(e){this.a=e}function Fd(e){this.c=e}function Ud(e){this.a=e}function jd(e){this.a=e}function Bd(e){this.a=e}function zd(e){this.a=e}function $d(e){this.a=e}function Hd(e){this.a=e}function Gd(e){this.a=e}function Vd(e){this.a=e}function Wd(e){this.a=e}function qd(e){this.a=e}function Xd(e){this.a=e}function Yd(e){this.a=e}function Kd(e){this.a=e}function Zd(e){this.e=e}function Qd(e){this.a=e}function Jd(e){this.a=e}function ep(e){this.a=e}function tp(e){this.a=e}function np(e){this.a=e}function rp(e){this.a=e}function ip(e){this.a=e}function ap(e){this.a=e}function op(e){this.a=e}function sp(e){this.a=e}function cp(e){this.a=e}function lp(e){this.a=e}function up(e){this.a=e}function fp(e){this.a=e}function hp(e){this.a=e}function dp(e){this.a=e}function pp(e){this.a=e}function gp(e){this.a=e}function bp(e){this.a=e}function mp(e){this.a=e}function wp(e){this.a=e}function vp(e){this.a=e}function yp(e){this.a=e}function Ep(e){this.a=e}function _p(e){this.a=e}function Sp(e){this.a=e}function xp(e){this.a=e}function Tp(e){this.a=e}function Ap(e){this.a=e}function kp(e){this.a=e}function Cp(e){this.a=e}function Mp(e){this.a=e}function Ip(e){this.a=e}function Op(e){this.a=e}function Rp(e){this.a=e}function Np(e){this.a=e}function Pp(e){this.a=e}function Lp(e){this.a=e}function Dp(e){this.a=e}function Fp(e){this.a=e}function Up(e){this.a=e}function jp(e){this.a=e}function Bp(e){this.a=e}function zp(e){this.a=e}function $p(e){this.a=e}function Hp(e){this.a=e}function Gp(e){this.a=e}function Vp(e){this.a=e}function Wp(e){this.a=e}function qp(e){this.a=e}function Xp(e){this.a=e}function Yp(e){this.a=e}function Kp(e){this.a=e}function Zp(e){this.a=e}function Qp(e){this.c=e}function Jp(e){this.b=e}function eg(e){this.a=e}function tg(e){this.a=e}function ng(e){this.a=e}function rg(e){this.a=e}function ig(e){this.a=e}function ag(e){this.a=e}function og(e){this.a=e}function sg(e){this.a=e}function cg(e){this.a=e}function lg(e){this.a=e}function ug(e){this.a=e}function fg(e){this.a=e}function hg(e){this.a=e}function dg(e){this.a=e}function pg(e){this.a=e}function gg(e){this.a=e}function bg(e){this.a=e}function mg(e){this.a=e}function wg(e){this.a=e}function vg(e){this.a=e}function yg(e){this.a=e}function Eg(e){this.a=e}function _g(e){this.a=e}function Sg(e){this.a=e}function xg(e){this.a=e}function Tg(e){this.a=e}function Ag(e){this.a=e}function kg(e){this.a=e}function Cg(e){this.a=e}function Mg(e){this.a=e}function Ig(e){this.a=e}function Og(e){this.a=e}function Rg(e){this.a=e}function Ng(e){this.a=e}function Pg(e){this.a=e}function Lg(e){this.a=e}function Dg(e){this.a=e}function Fg(e){this.a=e}function Ug(e){this.a=e}function jg(e){this.a=e}function Bg(e){this.a=e}function zg(e){this.f=e}function $g(e){this.a=e}function Hg(e){this.a=e}function Gg(e){this.a=e}function Vg(e){this.a=e}function Wg(e){this.a=e}function qg(e){this.a=e}function Xg(e){this.a=e}function Yg(e){this.a=e}function Kg(e){this.a=e}function Zg(e){this.a=e}function Qg(e){this.a=e}function Jg(e){this.a=e}function eb(e){this.a=e}function tb(e){this.a=e}function nb(e){this.a=e}function rb(e){this.a=e}function ib(e){this.a=e}function ab(e){this.a=e}function ob(e){this.a=e}function sb(e){this.a=e}function cb(e){this.a=e}function lb(e){this.a=e}function ub(e){this.a=e}function fb(e){this.a=e}function hb(e){this.a=e}function db(e){this.a=e}function pb(e){this.a=e}function gb(e){this.a=e}function bb(e){this.a=e}function mb(e){this.b=e}function wb(e){this.a=e}function vb(e){this.a=e}function yb(e){this.a=e}function Eb(e){this.a=e}function _b(e){this.a=e}function Sb(e){this.a=e}function xb(e){this.a=e}function Tb(e){this.a=e}function Ab(e){this.a=e}function kb(e){this.a=e}function Cb(e){this.b=e}function Mb(e){this.c=e}function Ib(e){this.e=e}function Ob(e){this.a=e}function Rb(e){this.a=e}function Nb(e){this.a=e}function Pb(e){this.a=e}function Lb(e){this.d=e}function Db(e){this.a=e}function Fb(e){this.a=e}function Ub(e){this.a=e}function jb(e){this.e=e}function Bb(){this.a=0}function zb(){JC(this)}function $b(){eM(this)}function Hb(){zU(this)}function Gb(){GB(this)}function Vb(){}function Wb(){this.c=_nt}function qb(e,t){e.b+=t}function Xb(e){return e.a}function Yb(e){return e.a}function Kb(e){return e.a}function Zb(e){return e.a}function Qb(e){return e.a}function Jb(e){return e.e}function em(){return null}function tm(){return null}function nm(e,t){t.$c(e.a)}function rm(e,t){e.a=t-e.a}function im(e,t){e.b=t-e.b}function am(e,t){e.e=t,t.b=e}function om(e){b$(),oDe.be(e)}function sm(e){bP(),this.a=e}function cm(e){bP(),this.a=e}function lm(e){bP(),this.a=e}function um(e){kB(),this.a=e}function fm(){this.a=this}function hm(){this.Bb|=256}function dm(){DI.call(this)}function pm(){DI.call(this)}function gm(){dm.call(this)}function bm(){dm.call(this)}function mm(){dm.call(this)}function wm(){dm.call(this)}function vm(){dm.call(this)}function ym(){dm.call(this)}function Em(){dm.call(this)}function _m(){dm.call(this)}function Sm(){dm.call(this)}function xm(){dm.call(this)}function Tm(){dm.call(this)}function Am(e){wle(e.c,e.b)}function km(e,t){E2(e.e,t)}function Cm(e,t){SL(e.a,t)}function Mm(e,t){e.length=t}function Im(){this.b=new Jk}function Om(){this.a=new Hb}function Rm(){this.a=new Hb}function Nm(){this.a=new $b}function Pm(){this.a=new $b}function Lm(){this.a=new $b}function Dm(){this.a=new we}function Fm(){this.a=new WX}function Um(){this.a=new ut}function jm(){this.a=new eS}function Bm(){this.a=new XH}function zm(){this.a=new mN}function $m(){this.a=new cV}function Hm(){this.a=new $b}function Gm(){this.a=new $b}function Vm(){this.a=new $b}function Wm(){this.a=new $b}function qm(){this.d=new $b}function Xm(){this.a=new Om}function Ym(){this.b=new Hb}function Km(){this.a=new Hb}function Zm(){this.a=new Ku}function Qm(){this.b=new $b}function Jm(){this.e=new $b}function ew(e){this.a=function(e){var t;return(t=woe(e))>34028234663852886e22?e_e:t<-34028234663852886e22?t_e:t}(e)}function tw(){this.d=new $b}function nw(){nw=S,new Hb}function rw(){gm.call(this)}function iw(){Nm.call(this)}function aw(){EN.call(this)}function ow(){Vb.call(this)}function sw(){Vb.call(this)}function cw(){ow.call(this)}function lw(){sw.call(this)}function uw(){$b.call(this)}function fw(){L$.call(this)}function hw(){L$.call(this)}function dw(){Hw.call(this)}function pw(){Hw.call(this)}function gw(){Hw.call(this)}function bw(){Ww.call(this)}function mw(){iS.call(this)}function ww(){tc.call(this)}function vw(){tc.call(this)}function yw(){Kw.call(this)}function Ew(){Kw.call(this)}function _w(){Hb.call(this)}function Sw(){Hb.call(this)}function xw(){Hb.call(this)}function Tw(){Om.call(this)}function Aw(){s1.call(this)}function kw(){hm.call(this)}function Cw(){kI.call(this)}function Mw(){kI.call(this)}function Iw(){Hb.call(this)}function Ow(){Hb.call(this)}function Rw(){Hb.call(this)}function Nw(){wc.call(this)}function Pw(){wc.call(this)}function Lw(){Nw.call(this)}function Dw(){Ou.call(this)}function Fw(e){S_.call(this,e)}function Uw(e){Fw.call(this,e)}function jw(e){S_.call(this,e)}function Bw(){Bw=S,PLe=new s}function zw(){zw=S,$Le=new Zv}function $w(){$w=S,HLe=new Qv}function Hw(){this.a=new Om}function Gw(){this.a=new $b}function Vw(){this.j=new $b}function Ww(){this.a=new Hb}function qw(){this.a=new iS}function Xw(){this.a=new Vo}function Yw(){this.a=new YE}function Kw(){this.a=new hc}function Zw(){Zw=S,YLe=new BM}function Qw(e){Fw.call(this,e)}function Jw(e){Fw.call(this,e)}function ev(e){sq.call(this,e)}function tv(e){sq.call(this,e)}function nv(e){fP.call(this,e)}function rv(e){M_.call(this,e)}function iv(e){I_.call(this,e)}function av(e){I_.call(this,e)}function ov(e){Eoe.call(this,e)}function sv(e){VU.call(this,e)}function cv(e){sv.call(this,e)}function lv(){uh.call(this,{})}function uv(){uv=S,pDe=new E}function fv(){fv=S,tDe=new a}function hv(){hv=S,aDe=new h}function dv(){dv=S,cDe=new w}function pv(e,t,n){e.a[t.g]=n}function gv(e,t){(function(e){return SL(e.c,(L3(),V4e)),iJ(e.a,Mv(RR(Mee((u9(),hQe)))))?new Vs:new Fg(e)})(e).td(t)}function bv(e){II(),this.a=e}function mv(e){U0(),this.a=e}function wv(e){pP(),this.a=e}function vv(e){gF(),this.f=e}function yv(e){gF(),this.f=e}function Ev(e){e.b=null,e.c=0}function _v(e){sv.call(this,e)}function Sv(e){sv.call(this,e)}function xv(e){sv.call(this,e)}function Tv(e){VU.call(this,e)}function Av(e){return sB(e),e}function kv(e){return new lh(e)}function Cv(e){return new lj(e)}function Mv(e){return sB(e),e}function Iv(e){return sB(e),e}function Ov(e,t){return e.g-t.g}function Rv(e){sv.call(this,e)}function Nv(e){sv.call(this,e)}function Pv(e){sv.call(this,e)}function Lv(e){sv.call(this,e)}function Dv(e){sv.call(this,e)}function Fv(e){sv.call(this,e)}function Uv(e){sB(e),this.a=e}function jv(e){KU(e,e.length)}function Bv(e){return e.b==e.c}function zv(e){return!!e&&e.b}function $v(e){return sB(e),e}function Hv(e){return T4(e),e}function Gv(e){sv.call(this,e)}function Vv(e){sv.call(this,e)}function Wv(e){sv.call(this,e)}function qv(e){sv.call(this,e)}function Xv(e){sv.call(this,e)}function Yv(e){xO.call(this,e,0)}function Kv(){FG.call(this,12,3)}function Zv(){qf.call(this,null)}function Qv(){qf.call(this,null)}function Jv(){throw Jb(new _m)}function ey(){throw Jb(new _m)}function ty(){this.a=NR(cj(rye))}function ny(e){bP(),this.a=cj(e)}function ry(e){u1(e),am(e.a,e.a)}function iy(e,t){e.Td(t),t.Sd(e)}function ay(e,t){return VH(e,t)}function oy(e){Sv.call(this,e)}function sy(e){Sv.call(this,e)}function cy(e){Nv.call(this,e)}function ly(){jh.call(this,"")}function uy(){jh.call(this,"")}function fy(){jh.call(this,"")}function hy(){jh.call(this,"")}function dy(e){Qh.call(this,e)}function py(e){dy.call(this,e)}function gy(e){GI.call(this,e)}function by(e,t){return EK(e,t)}function my(e){return e.a?e.b:0}function wy(e){return e.a?e.b:0}function vy(e,t){return e.c=t,e}function yy(e,t){return e.f=t,e}function Ey(e,t){return e.a=t,e}function _y(e,t){return e.f=t,e}function Sy(e,t){return e.k=t,e}function xy(e,t){return e.a=t,e}function Ty(e,t){e.b=!0,e.d=t}function Ay(e,t){return e.e=t,e}function ky(e,t){return e?0:t-1}function Cy(e){xz.call(this,e)}function My(e){xz.call(this,e)}function Iy(e){J8.call(this,e)}function Oy(){DM.call(this,"")}function Ry(){Ry=S,xFe=typeof Map===Qve&&Map.prototype.entries&&function(){try{return(new Map).entries().next().done}catch(e){return!1}}()?Map:function(){function e(){this.obj=this.createObject()}return e.prototype.createObject=function(e){return Object.create(null)},e.prototype.get=function(e){return this.obj[e]},e.prototype.set=function(e,t){this.obj[e]=t},e.prototype[y_e]=function(e){delete this.obj[e]},e.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)},e.prototype.entries=function(){var e=this.keys(),t=this,n=0;return{next:function(){if(n>=e.length)return{done:!0};var r=e[n++];return{value:[r,t.get(r)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var e="__proto__",t=Object.create(null);return void 0===t[e]&&0==Object.getOwnPropertyNames(t).length&&(t[e]=42,42===t[e]&&0!=Object.getOwnPropertyNames(t).length)}()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(e){return this.obj[":"+e]},e.prototype.set=function(e,t){this.obj[":"+e]=t},e.prototype[y_e]=function(e){delete this.obj[":"+e]},e.prototype.keys=function(){var e=[];for(var t in this.obj)58==t.charCodeAt(0)&&e.push(t.substring(1));return e}),e}()}function Ny(){Ny=S,b$()}function Py(){throw Jb(new _m)}function Ly(){throw Jb(new _m)}function Dy(){throw Jb(new _m)}function Fy(){throw Jb(new _m)}function Uy(){throw Jb(new _m)}function jy(){this.b=0,this.a=0}function By(e,t){return e.b=t,e}function zy(e,t){return e.a=t,e}function $y(e,t){return e.a=t,e}function Hy(e,t){return e.c=t,e}function Gy(e,t){return e.c=t,e}function Vy(e,t){return e.d=t,e}function Wy(e,t){return e.e=t,e}function qy(e,t){return e.f=t,e}function Xy(e,t){return e.b=t,e}function Yy(e,t){return e.b=t,e}function Ky(e,t){return e.c=t,e}function Zy(e,t){return e.d=t,e}function Qy(e,t){return e.e=t,e}function Jy(e,t){return e.g=t,e}function eE(e,t){return e.a=t,e}function tE(e,t){return e.i=t,e}function nE(e,t){return e.j=t,e}function rE(e,t){return e.k=t,e}function iE(e,t,n){!function(e,t,n){ZU(e,new vx(t.a,n.a))}(e.a,t,n)}function aE(e){TP.call(this,e)}function oE(e){yQ.call(this,e)}function sE(e){Wz.call(this,e)}function cE(e){Wz.call(this,e)}function lE(){this.a=0,this.b=0}function uE(){throw Jb(new _m)}function fE(){throw Jb(new _m)}function hE(){throw Jb(new _m)}function dE(){throw Jb(new _m)}function pE(){throw Jb(new _m)}function gE(){throw Jb(new _m)}function bE(){throw Jb(new _m)}function mE(){throw Jb(new _m)}function wE(){throw Jb(new _m)}function vE(){throw Jb(new _m)}function yE(){yE=S,ret=function(){var e,t;gbe();try{if(t=xL(lie((WS(),Ptt),TOe),1983))return t}catch(t){if(!NM(t=H2(t),102))throw Jb(t);e=t,uU((cM(),e))}return new rc}()}function EE(){var e;EE=S,iet=Fet?xL(Pue((WS(),Ptt),TOe),1985):(e=xL(NM(fH((WS(),Ptt),TOe),549)?fH(Ptt,TOe):new zle,549),Fet=!0,function(e){e.q||(e.q=!0,e.p=T2(e,0),e.a=T2(e,1),u0(e.a,0),e.f=T2(e,2),u0(e.f,1),l0(e.f,2),e.n=T2(e,3),l0(e.n,3),l0(e.n,4),l0(e.n,5),l0(e.n,6),e.g=T2(e,4),u0(e.g,7),l0(e.g,8),e.c=T2(e,5),u0(e.c,7),u0(e.c,8),e.i=T2(e,6),u0(e.i,9),u0(e.i,10),u0(e.i,11),u0(e.i,12),l0(e.i,13),e.j=T2(e,7),u0(e.j,9),e.d=T2(e,8),u0(e.d,3),u0(e.d,4),u0(e.d,5),u0(e.d,6),l0(e.d,7),l0(e.d,8),l0(e.d,9),l0(e.d,10),e.b=T2(e,9),l0(e.b,0),l0(e.b,1),e.e=T2(e,10),l0(e.e,1),l0(e.e,2),l0(e.e,3),l0(e.e,4),u0(e.e,5),u0(e.e,6),u0(e.e,7),u0(e.e,8),u0(e.e,9),u0(e.e,10),l0(e.e,11),e.k=T2(e,11),l0(e.k,0),l0(e.k,1),e.o=A2(e,12),e.s=A2(e,13))}(e),function(e){var t,n,r,i,a,o,s;e.r||(e.r=!0,o0(e,"graph"),s0(e,"graph"),c0(e,TOe),r3(e.o,"T"),cK(D$(e.a),e.p),cK(D$(e.f),e.a),cK(D$(e.n),e.f),cK(D$(e.g),e.n),cK(D$(e.c),e.n),cK(D$(e.i),e.c),cK(D$(e.j),e.c),cK(D$(e.d),e.f),cK(D$(e.e),e.a),SV(e.p,Kje,qSe,!0,!0,!1),s=d3(o=z4(e.p,e.p,"setProperty")),t=Az(e.o),n=new Wb,cK((!t.d&&(t.d=new iI(Utt,t,1)),t.d),n),xie(n,r=kz(s)),cie(o,t,AOe),cie(o,t=kz(s),kOe),s=d3(o=z4(e.p,null,"getProperty")),t=Az(e.o),n=kz(s),cK((!t.d&&(t.d=new iI(Utt,t,1)),t.d),n),cie(o,t,AOe),!!(a=mae(o,t=kz(s),null))&&a.Ai(),o=z4(e.p,e.wb.e,"hasProperty"),t=Az(e.o),n=new Wb,cK((!t.d&&(t.d=new iI(Utt,t,1)),t.d),n),cie(o,t,AOe),Xne(o=z4(e.p,e.p,"copyProperties"),e.p,COe),o=z4(e.p,null,"getAllProperties"),t=Az(e.wb.P),n=Az(e.o),cK((!t.d&&(t.d=new iI(Utt,t,1)),t.d),n),r=new Wb,cK((!n.d&&(n.d=new iI(Utt,n,1)),n.d),r),n=Az(e.wb.M),cK((!t.d&&(t.d=new iI(Utt,t,1)),t.d),n),!!(i=mae(o,t,null))&&i.Ai(),SV(e.a,Set,KIe,!0,!1,!0),Gne(xL(FQ(u$(e.a),0),17),e.k,null,MOe,0,-1,Set,!1,!1,!0,!0,!1,!1,!1),SV(e.f,Tet,QIe,!0,!1,!0),Gne(xL(FQ(u$(e.f),0),17),e.g,xL(FQ(u$(e.g),0),17),"labels",0,-1,Tet,!1,!1,!0,!0,!1,!1,!1),v0(xL(FQ(u$(e.f),1),32),e.wb._,IOe,null,0,1,Tet,!1,!1,!0,!1,!0,!1),SV(e.n,Aet,"ElkShape",!0,!1,!0),v0(xL(FQ(u$(e.n),0),32),e.wb.t,OOe,f_e,1,1,Aet,!1,!1,!0,!1,!0,!1),v0(xL(FQ(u$(e.n),1),32),e.wb.t,ROe,f_e,1,1,Aet,!1,!1,!0,!1,!0,!1),v0(xL(FQ(u$(e.n),2),32),e.wb.t,"x",f_e,1,1,Aet,!1,!1,!0,!1,!0,!1),v0(xL(FQ(u$(e.n),3),32),e.wb.t,"y",f_e,1,1,Aet,!1,!1,!0,!1,!0,!1),Xne(o=z4(e.n,null,"setDimensions"),e.wb.t,ROe),Xne(o,e.wb.t,OOe),Xne(o=z4(e.n,null,"setLocation"),e.wb.t,"x"),Xne(o,e.wb.t,"y"),SV(e.g,Pet,iOe,!1,!1,!0),Gne(xL(FQ(u$(e.g),0),17),e.f,xL(FQ(u$(e.f),0),17),NOe,0,1,Pet,!1,!1,!0,!1,!1,!1,!1),v0(xL(FQ(u$(e.g),1),32),e.wb._,POe,"",0,1,Pet,!1,!1,!0,!1,!0,!1),SV(e.c,ket,JIe,!0,!1,!0),Gne(xL(FQ(u$(e.c),0),17),e.d,xL(FQ(u$(e.d),1),17),"outgoingEdges",0,-1,ket,!1,!1,!0,!1,!0,!1,!1),Gne(xL(FQ(u$(e.c),1),17),e.d,xL(FQ(u$(e.d),2),17),"incomingEdges",0,-1,ket,!1,!1,!0,!1,!0,!1,!1),SV(e.i,Let,aOe,!1,!1,!0),Gne(xL(FQ(u$(e.i),0),17),e.j,xL(FQ(u$(e.j),0),17),"ports",0,-1,Let,!1,!1,!0,!0,!1,!1,!1),Gne(xL(FQ(u$(e.i),1),17),e.i,xL(FQ(u$(e.i),2),17),LOe,0,-1,Let,!1,!1,!0,!0,!1,!1,!1),Gne(xL(FQ(u$(e.i),2),17),e.i,xL(FQ(u$(e.i),1),17),NOe,0,1,Let,!1,!1,!0,!1,!1,!1,!1),Gne(xL(FQ(u$(e.i),3),17),e.d,xL(FQ(u$(e.d),0),17),"containedEdges",0,-1,Let,!1,!1,!0,!0,!1,!1,!1),v0(xL(FQ(u$(e.i),4),32),e.wb.e,DOe,null,0,1,Let,!0,!0,!1,!1,!0,!0),SV(e.j,Det,oOe,!1,!1,!0),Gne(xL(FQ(u$(e.j),0),17),e.i,xL(FQ(u$(e.i),0),17),NOe,0,1,Det,!1,!1,!0,!1,!1,!1,!1),SV(e.d,Cet,eOe,!1,!1,!0),Gne(xL(FQ(u$(e.d),0),17),e.i,xL(FQ(u$(e.i),3),17),"containingNode",0,1,Cet,!1,!1,!0,!1,!1,!1,!1),Gne(xL(FQ(u$(e.d),1),17),e.c,xL(FQ(u$(e.c),0),17),FOe,0,-1,Cet,!1,!1,!0,!1,!0,!1,!1),Gne(xL(FQ(u$(e.d),2),17),e.c,xL(FQ(u$(e.c),1),17),UOe,0,-1,Cet,!1,!1,!0,!1,!0,!1,!1),Gne(xL(FQ(u$(e.d),3),17),e.e,xL(FQ(u$(e.e),5),17),jOe,0,-1,Cet,!1,!1,!0,!0,!1,!1,!1),v0(xL(FQ(u$(e.d),4),32),e.wb.e,"hyperedge",null,0,1,Cet,!0,!0,!1,!1,!0,!0),v0(xL(FQ(u$(e.d),5),32),e.wb.e,DOe,null,0,1,Cet,!0,!0,!1,!1,!0,!0),v0(xL(FQ(u$(e.d),6),32),e.wb.e,"selfloop",null,0,1,Cet,!0,!0,!1,!1,!0,!0),v0(xL(FQ(u$(e.d),7),32),e.wb.e,"connected",null,0,1,Cet,!0,!0,!1,!1,!0,!0),SV(e.b,xet,ZIe,!1,!1,!0),v0(xL(FQ(u$(e.b),0),32),e.wb.t,"x",f_e,1,1,xet,!1,!1,!0,!1,!0,!1),v0(xL(FQ(u$(e.b),1),32),e.wb.t,"y",f_e,1,1,xet,!1,!1,!0,!1,!0,!1),Xne(o=z4(e.b,null,"set"),e.wb.t,"x"),Xne(o,e.wb.t,"y"),SV(e.e,Met,tOe,!1,!1,!0),v0(xL(FQ(u$(e.e),0),32),e.wb.t,"startX",null,0,1,Met,!1,!1,!0,!1,!0,!1),v0(xL(FQ(u$(e.e),1),32),e.wb.t,"startY",null,0,1,Met,!1,!1,!0,!1,!0,!1),v0(xL(FQ(u$(e.e),2),32),e.wb.t,"endX",null,0,1,Met,!1,!1,!0,!1,!0,!1),v0(xL(FQ(u$(e.e),3),32),e.wb.t,"endY",null,0,1,Met,!1,!1,!0,!1,!0,!1),Gne(xL(FQ(u$(e.e),4),17),e.b,null,BOe,0,-1,Met,!1,!1,!0,!0,!1,!1,!1),Gne(xL(FQ(u$(e.e),5),17),e.d,xL(FQ(u$(e.d),3),17),NOe,0,1,Met,!1,!1,!0,!1,!1,!1,!1),Gne(xL(FQ(u$(e.e),6),17),e.c,null,zOe,0,1,Met,!1,!1,!0,!1,!0,!1,!1),Gne(xL(FQ(u$(e.e),7),17),e.c,null,$Oe,0,1,Met,!1,!1,!0,!1,!0,!1,!1),Gne(xL(FQ(u$(e.e),8),17),e.e,xL(FQ(u$(e.e),9),17),HOe,0,-1,Met,!1,!1,!0,!1,!0,!1,!1),Gne(xL(FQ(u$(e.e),9),17),e.e,xL(FQ(u$(e.e),8),17),GOe,0,-1,Met,!1,!1,!0,!1,!0,!1,!1),v0(xL(FQ(u$(e.e),10),32),e.wb._,IOe,null,0,1,Met,!1,!1,!0,!1,!0,!1),Xne(o=z4(e.e,null,"setStartLocation"),e.wb.t,"x"),Xne(o,e.wb.t,"y"),Xne(o=z4(e.e,null,"setEndLocation"),e.wb.t,"x"),Xne(o,e.wb.t,"y"),SV(e.k,WLe,"ElkPropertyToValueMapEntry",!1,!1,!1),t=Az(e.o),n=new Wb,cK((!t.d&&(t.d=new iI(Utt,t,1)),t.d),n),xle(xL(FQ(u$(e.k),0),32),t,"key",WLe,!1,!1,!0,!1),v0(xL(FQ(u$(e.k),1),32),e.s,kOe,null,0,1,WLe,!1,!1,!0,!1,!0,!1),iz(e.o,i5e,"IProperty",!0),iz(e.s,LLe,"PropertyValue",!0),$5(e,TOe))}(e),Hne(e),rG(Ptt,TOe,e),e)}function _E(){_E=S,Htt=function(){var e,t;gbe();try{if(t=xL(lie((WS(),Ptt),JNe),1913))return t}catch(t){if(!NM(t=H2(t),102))throw Jb(t);e=t,uU((cM(),e))}return new Uc}()}function SE(){SE=S,irt=function(){var e,t;OK();try{if(t=xL(lie((WS(),Ptt),IPe),1993))return t}catch(t){if(!NM(t=H2(t),102))throw Jb(t);e=t,uU((cM(),e))}return new Ol}()}function xE(){var e;xE=S,art=$rt?xL(Pue((WS(),Ptt),IPe),1917):(cC(rrt,new Gl),cC(Prt,new tu),cC(Lrt,new hu),cC(Drt,new Su),cC(eFe,new ku),cC(ay(xit,1),new Cu),cC(TDe,new Mu),cC(CDe,new Iu),cC(eFe,new Il),cC(eFe,new Ll),cC(eFe,new Dl),cC(ODe,new Fl),cC(eFe,new Ul),cC(zLe,new jl),cC(zLe,new Bl),cC(eFe,new zl),cC(RDe,new $l),cC(eFe,new Hl),cC(eFe,new Vl),cC(eFe,new Wl),cC(eFe,new ql),cC(eFe,new Xl),cC(ay(xit,1),new Yl),cC(eFe,new Kl),cC(eFe,new Zl),cC(zLe,new Ql),cC(zLe,new Jl),cC(eFe,new eu),cC(LDe,new nu),cC(eFe,new ru),cC(zDe,new iu),cC(eFe,new au),cC(eFe,new ou),cC(eFe,new su),cC(eFe,new cu),cC(zLe,new lu),cC(zLe,new uu),cC(eFe,new fu),cC(eFe,new du),cC(eFe,new pu),cC(eFe,new gu),cC(eFe,new bu),cC(eFe,new mu),cC(HDe,new wu),cC(eFe,new vu),cC(eFe,new yu),cC(eFe,new Eu),cC(HDe,new _u),cC(zDe,new xu),cC(eFe,new Tu),cC(LDe,new Au),e=xL(NM(fH((WS(),Ptt),IPe),577)?fH(Ptt,IPe):new NB,577),$rt=!0,function(e){e.N||(e.N=!0,e.b=T2(e,0),l0(e.b,0),l0(e.b,1),l0(e.b,2),e.bb=T2(e,1),l0(e.bb,0),l0(e.bb,1),e.fb=T2(e,2),l0(e.fb,3),l0(e.fb,4),u0(e.fb,5),e.qb=T2(e,3),l0(e.qb,0),u0(e.qb,1),u0(e.qb,2),l0(e.qb,3),l0(e.qb,4),u0(e.qb,5),l0(e.qb,6),e.a=A2(e,4),e.c=A2(e,5),e.d=A2(e,6),e.e=A2(e,7),e.f=A2(e,8),e.g=A2(e,9),e.i=A2(e,10),e.j=A2(e,11),e.k=A2(e,12),e.n=A2(e,13),e.o=A2(e,14),e.p=A2(e,15),e.q=A2(e,16),e.s=A2(e,17),e.r=A2(e,18),e.t=A2(e,19),e.u=A2(e,20),e.v=A2(e,21),e.w=A2(e,22),e.B=A2(e,23),e.A=A2(e,24),e.C=A2(e,25),e.D=A2(e,26),e.F=A2(e,27),e.G=A2(e,28),e.H=A2(e,29),e.J=A2(e,30),e.I=A2(e,31),e.K=A2(e,32),e.M=A2(e,33),e.L=A2(e,34),e.P=A2(e,35),e.Q=A2(e,36),e.R=A2(e,37),e.S=A2(e,38),e.T=A2(e,39),e.U=A2(e,40),e.V=A2(e,41),e.X=A2(e,42),e.W=A2(e,43),e.Y=A2(e,44),e.Z=A2(e,45),e.$=A2(e,46),e._=A2(e,47),e.ab=A2(e,48),e.cb=A2(e,49),e.db=A2(e,50),e.eb=A2(e,51),e.gb=A2(e,52),e.hb=A2(e,53),e.ib=A2(e,54),e.jb=A2(e,55),e.kb=A2(e,56),e.lb=A2(e,57),e.mb=A2(e,58),e.nb=A2(e,59),e.ob=A2(e,60),e.pb=A2(e,61))}(e),function(e){var t;e.O||(e.O=!0,o0(e,"type"),s0(e,"ecore.xml.type"),c0(e,IPe),t=xL(Pue((WS(),Ptt),IPe),1917),cK(D$(e.fb),e.b),SV(e.b,rrt,"AnyType",!1,!1,!0),v0(xL(FQ(u$(e.b),0),32),e.wb.D,$Ne,null,0,-1,rrt,!1,!1,!0,!1,!1,!1),v0(xL(FQ(u$(e.b),1),32),e.wb.D,"any",null,0,-1,rrt,!0,!0,!0,!1,!1,!0),v0(xL(FQ(u$(e.b),2),32),e.wb.D,"anyAttribute",null,0,-1,rrt,!1,!1,!0,!1,!1,!1),SV(e.bb,Prt,LPe,!1,!1,!0),v0(xL(FQ(u$(e.bb),0),32),e.gb,"data",null,0,1,Prt,!1,!1,!0,!1,!0,!1),v0(xL(FQ(u$(e.bb),1),32),e.gb,tRe,null,1,1,Prt,!1,!1,!0,!1,!0,!1),SV(e.fb,Lrt,DPe,!1,!1,!0),v0(xL(FQ(u$(e.fb),0),32),t.gb,"rawValue",null,0,1,Lrt,!0,!0,!0,!1,!0,!0),v0(xL(FQ(u$(e.fb),1),32),t.a,kOe,null,0,1,Lrt,!0,!0,!0,!1,!0,!0),Gne(xL(FQ(u$(e.fb),2),17),e.wb.q,null,"instanceType",1,1,Lrt,!1,!1,!0,!1,!1,!1,!1),SV(e.qb,Drt,FPe,!1,!1,!0),v0(xL(FQ(u$(e.qb),0),32),e.wb.D,$Ne,null,0,-1,null,!1,!1,!0,!1,!1,!1),Gne(xL(FQ(u$(e.qb),1),17),e.wb.ab,null,"xMLNSPrefixMap",0,-1,null,!0,!1,!0,!0,!1,!1,!1),Gne(xL(FQ(u$(e.qb),2),17),e.wb.ab,null,"xSISchemaLocation",0,-1,null,!0,!1,!0,!0,!1,!1,!1),v0(xL(FQ(u$(e.qb),3),32),e.gb,"cDATA",null,0,-2,null,!0,!0,!0,!1,!1,!0),v0(xL(FQ(u$(e.qb),4),32),e.gb,"comment",null,0,-2,null,!0,!0,!0,!1,!1,!0),Gne(xL(FQ(u$(e.qb),5),17),e.bb,null,lLe,0,-2,null,!0,!0,!0,!0,!1,!1,!0),v0(xL(FQ(u$(e.qb),6),32),e.gb,POe,null,0,-2,null,!0,!0,!0,!1,!1,!0),iz(e.a,LLe,"AnySimpleType",!0),iz(e.c,eFe,"AnyURI",!0),iz(e.d,ay(xit,1),"Base64Binary",!0),iz(e.e,_it,"Boolean",!0),iz(e.f,TDe,"BooleanObject",!0),iz(e.g,xit,"Byte",!0),iz(e.i,CDe,"ByteObject",!0),iz(e.j,eFe,"Date",!0),iz(e.k,eFe,"DateTime",!0),iz(e.n,sFe,"Decimal",!0),iz(e.o,Tit,"Double",!0),iz(e.p,ODe,"DoubleObject",!0),iz(e.q,eFe,"Duration",!0),iz(e.s,zLe,"ENTITIES",!0),iz(e.r,zLe,"ENTITIESBase",!0),iz(e.t,eFe,HPe,!0),iz(e.u,Ait,"Float",!0),iz(e.v,RDe,"FloatObject",!0),iz(e.w,eFe,"GDay",!0),iz(e.B,eFe,"GMonth",!0),iz(e.A,eFe,"GMonthDay",!0),iz(e.C,eFe,"GYear",!0),iz(e.D,eFe,"GYearMonth",!0),iz(e.F,ay(xit,1),"HexBinary",!0),iz(e.G,eFe,"ID",!0),iz(e.H,eFe,"IDREF",!0),iz(e.J,zLe,"IDREFS",!0),iz(e.I,zLe,"IDREFSBase",!0),iz(e.K,Eit,"Int",!0),iz(e.M,hFe,"Integer",!0),iz(e.L,LDe,"IntObject",!0),iz(e.P,eFe,"Language",!0),iz(e.Q,Sit,"Long",!0),iz(e.R,zDe,"LongObject",!0),iz(e.S,eFe,"Name",!0),iz(e.T,eFe,GPe,!0),iz(e.U,hFe,"NegativeInteger",!0),iz(e.V,eFe,eLe,!0),iz(e.X,zLe,"NMTOKENS",!0),iz(e.W,zLe,"NMTOKENSBase",!0),iz(e.Y,hFe,"NonNegativeInteger",!0),iz(e.Z,hFe,"NonPositiveInteger",!0),iz(e.$,eFe,"NormalizedString",!0),iz(e._,eFe,"NOTATION",!0),iz(e.ab,eFe,"PositiveInteger",!0),iz(e.cb,eFe,"QName",!0),iz(e.db,kit,"Short",!0),iz(e.eb,HDe,"ShortObject",!0),iz(e.gb,eFe,cEe,!0),iz(e.hb,eFe,"Time",!0),iz(e.ib,eFe,"Token",!0),iz(e.jb,kit,"UnsignedByte",!0),iz(e.kb,HDe,"UnsignedByteObject",!0),iz(e.lb,Sit,"UnsignedInt",!0),iz(e.mb,zDe,"UnsignedIntObject",!0),iz(e.nb,hFe,"UnsignedLong",!0),iz(e.ob,Eit,"UnsignedShort",!0),iz(e.pb,LDe,"UnsignedShortObject",!0),$5(e,IPe),function(e){Hue(e.a,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"anySimpleType"])),Hue(e.b,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"anyType",GNe,$Ne])),Hue(xL(FQ(u$(e.b),0),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,SPe,aRe,":mixed"])),Hue(xL(FQ(u$(e.b),1),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,SPe,MPe,OPe,aRe,":1",BPe,"lax"])),Hue(xL(FQ(u$(e.b),2),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,EPe,MPe,OPe,aRe,":2",BPe,"lax"])),Hue(e.c,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"anyURI",CPe,xPe])),Hue(e.d,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"base64Binary",CPe,xPe])),Hue(e.e,HNe,m3(ay(eFe,1),kye,2,6,[aRe,Yve,CPe,xPe])),Hue(e.f,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"boolean:Object",nPe,Yve])),Hue(e.g,HNe,m3(ay(eFe,1),kye,2,6,[aRe,INe])),Hue(e.i,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"byte:Object",nPe,INe])),Hue(e.j,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"date",CPe,xPe])),Hue(e.k,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"dateTime",CPe,xPe])),Hue(e.n,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"decimal",CPe,xPe])),Hue(e.o,HNe,m3(ay(eFe,1),kye,2,6,[aRe,RNe,CPe,xPe])),Hue(e.p,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"double:Object",nPe,RNe])),Hue(e.q,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"duration",CPe,xPe])),Hue(e.s,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"ENTITIES",nPe,zPe,$Pe,"1"])),Hue(e.r,HNe,m3(ay(eFe,1),kye,2,6,[aRe,zPe,TPe,HPe])),Hue(e.t,HNe,m3(ay(eFe,1),kye,2,6,[aRe,HPe,nPe,GPe])),Hue(e.u,HNe,m3(ay(eFe,1),kye,2,6,[aRe,NNe,CPe,xPe])),Hue(e.v,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"float:Object",nPe,NNe])),Hue(e.w,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"gDay",CPe,xPe])),Hue(e.B,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"gMonth",CPe,xPe])),Hue(e.A,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"gMonthDay",CPe,xPe])),Hue(e.C,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"gYear",CPe,xPe])),Hue(e.D,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"gYearMonth",CPe,xPe])),Hue(e.F,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"hexBinary",CPe,xPe])),Hue(e.G,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"ID",nPe,GPe])),Hue(e.H,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"IDREF",nPe,GPe])),Hue(e.J,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"IDREFS",nPe,VPe,$Pe,"1"])),Hue(e.I,HNe,m3(ay(eFe,1),kye,2,6,[aRe,VPe,TPe,"IDREF"])),Hue(e.K,HNe,m3(ay(eFe,1),kye,2,6,[aRe,PNe])),Hue(e.M,HNe,m3(ay(eFe,1),kye,2,6,[aRe,WPe])),Hue(e.L,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"int:Object",nPe,PNe])),Hue(e.P,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"language",nPe,qPe,XPe,YPe])),Hue(e.Q,HNe,m3(ay(eFe,1),kye,2,6,[aRe,LNe])),Hue(e.R,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"long:Object",nPe,LNe])),Hue(e.S,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"Name",nPe,qPe,XPe,KPe])),Hue(e.T,HNe,m3(ay(eFe,1),kye,2,6,[aRe,GPe,nPe,"Name",XPe,ZPe])),Hue(e.U,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"negativeInteger",nPe,QPe,JPe,"-1"])),Hue(e.V,HNe,m3(ay(eFe,1),kye,2,6,[aRe,eLe,nPe,qPe,XPe,"\\c+"])),Hue(e.X,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"NMTOKENS",nPe,tLe,$Pe,"1"])),Hue(e.W,HNe,m3(ay(eFe,1),kye,2,6,[aRe,tLe,TPe,eLe])),Hue(e.Y,HNe,m3(ay(eFe,1),kye,2,6,[aRe,nLe,nPe,WPe,rLe,"0"])),Hue(e.Z,HNe,m3(ay(eFe,1),kye,2,6,[aRe,QPe,nPe,WPe,JPe,"0"])),Hue(e.$,HNe,m3(ay(eFe,1),kye,2,6,[aRe,iLe,nPe,Zve,CPe,"replace"])),Hue(e._,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"NOTATION",CPe,xPe])),Hue(e.ab,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"positiveInteger",nPe,nLe,rLe,"1"])),Hue(e.bb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"processingInstruction_._type",GNe,"empty"])),Hue(xL(FQ(u$(e.bb),0),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,yPe,aRe,"data"])),Hue(xL(FQ(u$(e.bb),1),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,yPe,aRe,tRe])),Hue(e.cb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"QName",CPe,xPe])),Hue(e.db,HNe,m3(ay(eFe,1),kye,2,6,[aRe,DNe])),Hue(e.eb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"short:Object",nPe,DNe])),Hue(e.fb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"simpleAnyType",GNe,vPe])),Hue(xL(FQ(u$(e.fb),0),32),HNe,m3(ay(eFe,1),kye,2,6,[aRe,":3",GNe,vPe])),Hue(xL(FQ(u$(e.fb),1),32),HNe,m3(ay(eFe,1),kye,2,6,[aRe,":4",GNe,vPe])),Hue(xL(FQ(u$(e.fb),2),17),HNe,m3(ay(eFe,1),kye,2,6,[aRe,":5",GNe,vPe])),Hue(e.gb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,Zve,CPe,"preserve"])),Hue(e.hb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"time",CPe,xPe])),Hue(e.ib,HNe,m3(ay(eFe,1),kye,2,6,[aRe,qPe,nPe,iLe,CPe,xPe])),Hue(e.jb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,aLe,JPe,"255",rLe,"0"])),Hue(e.kb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"unsignedByte:Object",nPe,aLe])),Hue(e.lb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,oLe,JPe,"4294967295",rLe,"0"])),Hue(e.mb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"unsignedInt:Object",nPe,oLe])),Hue(e.nb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"unsignedLong",nPe,nLe,JPe,sLe,rLe,"0"])),Hue(e.ob,HNe,m3(ay(eFe,1),kye,2,6,[aRe,cLe,JPe,"65535",rLe,"0"])),Hue(e.pb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"unsignedShort:Object",nPe,cLe])),Hue(e.qb,HNe,m3(ay(eFe,1),kye,2,6,[aRe,"",GNe,$Ne])),Hue(xL(FQ(u$(e.qb),0),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,SPe,aRe,":mixed"])),Hue(xL(FQ(u$(e.qb),1),17),HNe,m3(ay(eFe,1),kye,2,6,[GNe,yPe,aRe,"xmlns:prefix"])),Hue(xL(FQ(u$(e.qb),2),17),HNe,m3(ay(eFe,1),kye,2,6,[GNe,yPe,aRe,"xsi:schemaLocation"])),Hue(xL(FQ(u$(e.qb),3),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,_Pe,aRe,"cDATA",APe,kPe])),Hue(xL(FQ(u$(e.qb),4),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,_Pe,aRe,"comment",APe,kPe])),Hue(xL(FQ(u$(e.qb),5),17),HNe,m3(ay(eFe,1),kye,2,6,[GNe,_Pe,aRe,lLe,APe,kPe])),Hue(xL(FQ(u$(e.qb),6),32),HNe,m3(ay(eFe,1),kye,2,6,[GNe,_Pe,aRe,POe,APe,kPe]))}(e))}(e),zB((qS(),$tt),e,new Pl),Hne(e),rG(Ptt,IPe,e),e)}function TE(){TE=S,ttt=e1()}function AE(e,t){e.b=0,IJ(e,t)}function kE(e,t){for(;e.sd(t););}function CE(e,t){return q5(e.b,t)}function ME(e,t){return K4(e,t)>0}function IE(e,t){return K4(e,t)<0}function OE(e){return e.l|e.m<<22}function RE(e){return e.e&&e.e()}function NE(e){return e?e.d:null}function PE(e){return e.b!=e.d.c}function LE(e){return CR(e),e.o}function DE(e){return SB(e),e.a}function FE(e,t){return e.a+=t,e}function UE(e,t){return e.a+=t,e}function jE(e,t){return e.a+=t,e}function BE(e,t){return e.a+=t,e}function zE(e,t,n){e.splice(t,n)}function $E(e,t){for(;e.ye(t););}function HE(e,t){return e.d[t.p]}function GE(e){this.a=new nS(e)}function VE(e){this.a=new cU(e)}function WE(){this.a=new Ife(s2e)}function qE(){this.b=new Ife(J1e)}function XE(){this.b=new Ife(B3e)}function YE(){this.b=new Ife(B3e)}function KE(e){this.a=new JE(e)}function ZE(e){this.a=0,this.b=e}function QE(e){Owe(),function(e,t){var n,r,i,a,o,s,c,l;if(n=0,o=0,a=t.length,s=null,l=new hy,o1?uH(uD(t.a[1],32),lH(t.a[0],l_e)):lH(t.a[0],l_e),kV(A6(t.e,n))))}(e,new XC(c));for(e.d=l.a.length,i=0;i0}(xL(e,34))?QI(r,(kee(),t5e))||QI(r,n5e):QI(r,(kee(),t5e));if(NM(e,349))return QI(r,(kee(),J4e));if(NM(e,199))return QI(r,(kee(),r5e));if(NM(e,351))return QI(r,(kee(),e5e))}return!0}(e,t)}function n_(e,t){mI.call(this,e,t)}function r_(e,t){n_.call(this,e,t)}function i_(e,t){this.b=e,this.c=t}function a_(e,t){this.e=e,this.d=t}function o_(e,t){this.a=e,this.b=t}function s_(e,t){this.a=e,this.b=t}function c_(e,t){this.a=e,this.b=t}function l_(e,t){this.a=e,this.b=t}function u_(e,t){this.a=e,this.b=t}function f_(e,t){this.a=e,this.b=t}function h_(e,t){this.a=e,this.b=t}function d_(e,t){this.b=e,this.a=t}function p_(e,t){this.b=e,this.a=t}function g_(e,t){this.b=e,this.a=t}function b_(e,t){this.b=e,this.a=t}function m_(e,t){this.b=e,this.a=t}function w_(e,t){this.a=e,this.b=t}function v_(e,t){this.g=e,this.i=t}function y_(e,t){this.f=e,this.g=t}function E_(e,t){this.a=e,this.b=t}function __(e,t){this.a=e,this.f=t}function S_(e){$M(e.dc()),this.c=e}function x_(e){e.c?Zhe(e):Qhe(e)}function T_(){null==Gve&&(Gve=[])}function A_(e){this.b=xL(cj(e),84)}function k_(e){this.a=xL(cj(e),84)}function C_(e){this.a=xL(cj(e),14)}function M_(e){this.a=xL(cj(e),14)}function I_(e){this.b=xL(cj(e),49)}function O_(e,t){this.b=e,this.c=t}function R_(e,t){this.a=e,this.b=t}function N_(e,t){this.a=e,this.b=t}function P_(e,t){this.a=e,this.b=t}function L_(e,t){return UU(e.b,t)}function D_(e,t){return 0==K4(e,t)}function F_(e,t){return 0!=K4(e,t)}function U_(e,t){return e>t&&t0)){if(a=-1,32==ez(f.c,0)){if(h=u[0],wZ(t,u),u[0]>h)continue}else if(z$(t,f.c,u[0])){u[0]+=f.c.length;continue}return 0}if(a<0&&f.a&&(a=l,o=u[0],i=0),a>=0){if(c=f.b,l==a&&0==(c-=i++))return 0;if(!Bwe(t,u,f,c,s)){l=a-1,u[0]=o;continue}}else if(a=-1,!Bwe(t,u,f,0,s))return 0}return function(e,t){var n,i,a,o,s,c;if(0==e.e&&e.p>0&&(e.p=-(e.p-1)),e.p>iEe&&WW(t,e.p-Tye),s=t.q.getDate(),xH(t,1),e.k>=0&&function(e,t){var n;n=e.q.getHours(),e.q.setMonth(t),Kge(e,n)}(t,e.k),e.c>=0?xH(t,e.c):e.k>=0?(i=35-new Q3(t.q.getFullYear()-Tye,t.q.getMonth(),35).q.getDate(),xH(t,r.Math.min(i,s))):xH(t,s),e.f<0&&(e.f=t.q.getHours()),e.b>0&&e.f<12&&(e.f+=12),function(e,t){e.q.setHours(t),Kge(e,t)}(t,24==e.f&&e.g?0:e.f),e.j>=0&&function(e,t){var n;n=e.q.getHours()+(t/60|0),e.q.setMinutes(t),Kge(e,n)}(t,e.j),e.n>=0&&function(e,t){var n;n=e.q.getHours()+(t/3600|0),e.q.setSeconds(t),Kge(e,n)}(t,e.n),e.i>=0&&Yk(t,T6(A6(_re(e2(t.q.getTime()),Jye),Jye),e.i)),e.a&&(WW(a=new JS,a.q.getFullYear()-Tye-80),IE(e2(t.q.getTime()),e2(a.q.getTime()))&&WW(t,a.q.getFullYear()-Tye+100)),e.d>=0)if(-1==e.c)(n=(7+e.d-t.q.getDay())%7)>3&&(n-=7),c=t.q.getMonth(),xH(t,t.q.getDate()+n),t.q.getMonth()!=c&&xH(t,t.q.getDate()+(n>0?-7:7));else if(t.q.getDay()!=e.d)return!1;return e.o>iEe&&(o=t.q.getTimezoneOffset(),Yk(t,T6(e2(t.q.getTime()),60*(e.o-o)*Jye))),!0}(s,n)?u[0]:0}(e,t,a=new Q3((i=new JS).q.getFullYear()-Tye,i.q.getMonth(),i.q.getDate())),0==n||n0?e:t}function ZC(e){return e.b&&ybe(e),e.a}function QC(e){return e.b&&ybe(e),e.c}function JC(e){e.a=HY(LLe,aye,1,8,5,1)}function eM(e){e.c=HY(LLe,aye,1,0,5,1)}function tM(e){nF.call(this,e,e,e,e)}function nM(e){this.a=e.a,this.b=e.b}function rM(e){return function(e,t){return cj(e),cj(t),new m_(e,t)}(e.b.Ic(),e.a)}function iM(e,t){$R.call(this,e.b,t)}function aM(e,t,n){Gj(e.c[t.g],t.g,n)}function oM(e,t,n){return Gj(e,t,n),n}function sM(){sM=S,nw(),sDe=new Hb}function cM(){cM=S,new lM,new $b}function lM(){new Hb,new Hb,new Hb}function uM(){uM=S,v1e=new B8(Q8e)}function fM(){fM=S,HS(),Ant=met}function hM(){hM=S,r.Math.log(2)}function dM(e){e.j=HY(GDe,kye,308,0,0,1)}function pM(e){this.a=e,bL.call(this,e)}function gM(e){this.a=e,A_.call(this,e)}function bM(e){this.a=e,A_.call(this,e)}function mM(e){Lve(),jb.call(this,e)}function wM(e,t){bF(e.c,e.c.length,t)}function vM(e){return e.at?1:0}function SM(e,t,n){return{l:e,m:t,h:n}}function xM(e,t,n){return l7(t,n,e.c)}function TM(e){vG(e,null),yG(e,null)}function AM(e,t){null!=e.a&&YT(t,e.a)}function kM(e){return new HA(e.a,e.b)}function CM(e){return new HA(e.c,e.d)}function MM(e){return new HA(e.c,e.d)}function IM(e,t){return function(e,t,n){var r,i,a,o,s,c,l,u,f;for(!n&&(n=function(e){var t;return(t=new v).a=e,t.b=function(e){var t;return 0==e?"Etc/GMT":(e<0?(e=-e,t="Etc/GMT-"):t="Etc/GMT+",t+FZ(e))}(e),t.c=HY(eFe,kye,2,2,6,1),t.c[0]=A0(e),t.c[1]=A0(e),t}(t.q.getTimezoneOffset())),i=6e4*(t.q.getTimezoneOffset()-n.a),c=s=new JR(T6(e2(t.q.getTime()),i)),s.q.getTimezoneOffset()!=t.q.getTimezoneOffset()&&(i>0?i-=864e5:i+=864e5,c=new JR(T6(e2(t.q.getTime()),i))),u=new hy,l=e.a.length,a=0;a=97&&r<=122||r>=65&&r<=90){for(o=a+1;o=l)throw Jb(new Nv("Missing trailing '"));o+11)throw Jb(new Nv(NPe));for(u=Kfe(e.e.Og(),t),r=xL(e.g,118),o=0;o8?0:e+1}function OR(e){return XL(null==e||kk(e)),e}function RR(e){return XL(null==e||Ck(e)),e}function NR(e){return XL(null==e||Mk(e)),e}function PR(e,t){return oB(t,xSe),e.f=t,e}function LR(e,t){return xL(LZ(e.b,t),149)}function DR(e,t){return xL(LZ(e.c,t),227)}function FR(e){return xL($D(e.a,e.b),286)}function UR(e){return new HA(e.c,e.d+e.a)}function jR(e){return lG(),CC(xL(e,196))}function BR(e,t,n){++e.j,e.Ci(t,e.ji(t,n))}function zR(e,t,n){++e.j,e.Fi(),zY(e,t,n)}function $R(e,t){mb.call(this,e),this.a=t}function HR(e){n7.call(this,0,0),this.f=e}function GR(e,t,n){return Fpe(e,t,3,n)}function VR(e,t,n){return Fpe(e,t,6,n)}function WR(e,t,n){return Fpe(e,t,9,n)}function qR(e,t,n){e.Xc(t).Rb(n)}function XR(e,t,n){return Sbe(e.c,e.b,t,n)}function YR(e,t){return(t&Jve)%e.d.length}function KR(e,t){this.c=e,yQ.call(this,t)}function ZR(e,t){this.a=e,Cb.call(this,t)}function QR(e,t){this.a=e,Cb.call(this,t)}function JR(e){this.q=new r.Date(kV(e))}function eN(e){this.a=(JJ(e,Yye),new dY(e))}function tN(e){this.a=(JJ(e,Yye),new dY(e))}function nN(e){return s2(function(e){return SM(~e.l&HEe,~e.m&HEe,~e.h&GEe)}(Ik(e)?I2(e):e))}function rN(e){return String.fromCharCode(e)}function iN(e,t,n){return wF(e,xL(t,22),n)}function aN(e,t,n){return e.a+=A7(t,0,n),e}function oN(e,t){var n;return n=e.e,e.e=t,n}function sN(e,t){e[y_e].call(e,t)}function cN(e,t){e.a.Tc(e.b,t),++e.b,e.c=-1}function lN(e,t){return by(new Array(t),e)}function uN(){uN=S,Lje=T8((x7(),C7e))}function fN(e){R2.call(this,e,(CK(),FFe))}function hN(e,t){Mb.call(this,e),this.a=t}function dN(e,t){Mb.call(this,e),this.a=t}function pN(){EN.call(this),this.a=new lE}function gN(){this.d=new lE,this.e=new lE}function bN(){this.n=new lE,this.o=new lE}function mN(){this.b=new lE,this.c=new $b}function wN(){this.a=new $b,this.b=new $b}function vN(){this.a=new ut,this.b=new Im}function yN(){this.a=new Gm,this.c=new Rt}function EN(){this.n=new sw,this.i=new HC}function _N(){this.a=new Yu,this.b=new ra}function SN(){this.b=new Om,this.a=new Om}function xN(){this.a=new $b,this.d=new $b}function TN(){this.b=new qE,this.a=new fo}function AN(){this.b=new Hb,this.a=new Hb}function kN(){kN=S,oUe=new a,sUe=new a}function CN(e){return!e.a&&(e.a=new y),e.a}function MN(e,t){return e.a+=t.a,e.b+=t.b,e}function IN(e,t){return e.a-=t.a,e.b-=t.b,e}function ON(e,t,n){return Fpe(e,t,11,n)}function RN(e,t,n,r){nF.call(this,e,t,n,r)}function NN(e,t,n,r){AU.call(this,e,t,n,r)}function PN(e,t){Sv.call(this,aNe+e+uRe+t)}function LN(e,t){return null==zB(e.a,t,"")}function DN(e){zU(e.e),e.d.b=e.d,e.d.a=e.d}function FN(e){e.b?FN(e.b):e.f.c.xc(e.e,e.d)}function UN(e,t,n,r){AU.call(this,e,t,n,r)}function jN(e,t,n,r){UN.call(this,e,t,n,r)}function BN(e,t,n,r){CU.call(this,e,t,n,r)}function zN(e,t,n,r){CU.call(this,e,t,n,r)}function $N(e,t,n,r){CU.call(this,e,t,n,r)}function HN(e,t,n,r){zN.call(this,e,t,n,r)}function GN(e,t,n,r){zN.call(this,e,t,n,r)}function VN(e,t,n,r){$N.call(this,e,t,n,r)}function WN(e,t,n,r){GN.call(this,e,t,n,r)}function qN(e,t,n,r){MU.call(this,e,t,n,r)}function XN(e,t,n){this.a=e,xO.call(this,t,n)}function YN(e,t,n){this.c=t,this.b=n,this.a=e}function KN(e,t,n){return e.lastIndexOf(t,n)}function ZN(e,t){return e.vj().Ih().Dh(e,t)}function QN(e,t){return e.vj().Ih().Fh(e,t)}function JN(e,t){return sB(e),Ak(e)===Ak(t)}function eP(e,t){return sB(e),Ak(e)===Ak(t)}function tP(e,t){return NE(h7(e.a,t,!1))}function nP(e,t){return NE(d7(e.a,t,!1))}function rP(e,t){return e.b.sd(new wx(e,t))}function iP(e){return e.c?YK(e.c.a,e,0):-1}function aP(e){return e==D9e||e==U9e||e==F9e}function oP(e){this.a=e,Y_(),e2(Date.now())}function sP(e){this.c=e,Xk.call(this,Oye,0)}function cP(e,t){this.c=e,fj.call(this,e,t)}function lP(e,t){vL.call(this,e,e.length,t)}function uP(e,t){if(!e)throw Jb(new Nv(t))}function fP(e){bP(),this.a=(i$(),new dy(e))}function hP(e){YP(),this.d=e,this.a=new zb}function dP(){dP=S,pnt=HY(LLe,aye,1,0,5,1)}function pP(){pP=S,rtt=HY(LLe,aye,1,0,5,1)}function gP(){gP=S,gnt=HY(LLe,aye,1,0,5,1)}function bP(){bP=S,new sm((i$(),i$(),dFe))}function mP(e,t){return!!M4(e,t)}function wP(e,t){return NM(t,14)&&lde(e.c,t)}function vP(e,t,n){return xL(e.c,67).hk(t,n)}function yP(e,t,n){return function(e,t,n){return t.Mk(e.e,e.c,n)}(e,xL(t,330),n)}function EP(e,t,n){return function(e,t,n){var r,i,a;return r=t.Xj(),a=t.bd(),i=r.Vj()?K$(e,4,r,a,null,ebe(e,r,a,NM(r,97)&&0!=(xL(r,17).Bb&i_e)),!0):K$(e,r.Fj()?2:1,r,a,r.uj(),-1,!0),n?n.zi(i):n=i,n}(e,xL(t,330),n)}function _P(e,t){return null==t?null:_5(e.b,t)}function SP(e){return Ck(e)?(sB(e),e):e.ke()}function xP(e){return!isNaN(e)&&!isFinite(e)}function TP(e){VM(this),qz(this),w0(this,e)}function AP(e){eM(this),_L(this.c,0,e.Nc())}function kP(e){HB(e.a),VY(e.c,e.b),e.b=null}function CP(){CP=S,kFe=new $,CFe=new H}function MP(e,t){if(!e)throw Jb(new Nv(t))}function IP(e,t){if(!e)throw Jb(new xv(t))}function OP(e){var t;return(t=new qm).b=e,t}function RP(e){var t;return(t=new Te).e=e,t}function NP(e,t,n){this.d=e,this.b=n,this.a=t}function PP(e,t,n){this.a=e,this.b=t,this.c=n}function LP(e,t,n){this.a=e,this.b=t,this.c=n}function DP(e,t,n){this.a=e,this.b=t,this.c=n}function FP(e,t,n){this.a=e,this.b=t,this.c=n}function UP(e,t,n){this.a=e,this.b=t,this.c=n}function jP(e,t,n){this.a=e,this.b=t,this.c=n}function BP(e,t,n){this.b=e,this.a=t,this.c=n}function zP(e,t,n){this.b=e,this.a=t,this.c=n}function $P(e,t,n){this.b=e,this.c=t,this.a=n}function HP(e,t,n){this.e=t,this.b=e,this.d=n}function GP(e){nF.call(this,e.d,e.c,e.a,e.b)}function VP(e){nF.call(this,e.d,e.c,e.a,e.b)}function WP(e){return!e.e&&(e.e=new $b),e.e}function qP(){qP=S,tGe=new pi,nGe=new gi}function XP(){XP=S,R$e=new In,N$e=new On}function YP(){YP=S,Lwe(),qJe=m7e,XJe=Z9e}function KP(e,t,n){this.a=e,this.b=t,this.c=n}function ZP(e,t,n){this.a=e,this.b=t,this.c=n}function QP(e,t,n){this.a=e,this.b=t,this.c=n}function JP(e,t,n){this.a=e,this.b=t,this.c=n}function eL(e,t,n){this.a=e,this.b=t,this.c=n}function tL(e,t,n){this.e=e,this.a=t,this.c=n}function nL(e,t){this.c=e,this.a=t,this.b=t-e}function rL(e,t,n){fM(),rH.call(this,e,t,n)}function iL(e,t,n){fM(),mB.call(this,e,t,n)}function aL(e,t,n){fM(),iL.call(this,e,t,n)}function oL(e,t,n){fM(),iL.call(this,e,t,n)}function sL(e,t,n){fM(),oL.call(this,e,t,n)}function cL(e,t,n){fM(),mB.call(this,e,t,n)}function lL(e,t,n){fM(),mB.call(this,e,t,n)}function uL(e,t,n){fM(),cL.call(this,e,t,n)}function fL(e,t,n){fM(),lL.call(this,e,t,n)}function hL(e,t){return cj(e),cj(t),new eD(e,t)}function dL(e,t){return cj(e),cj(t),new s_(e,t)}function pL(e){return wO(0!=e.b),UQ(e,e.a.a)}function gL(e){return wO(0!=e.b),UQ(e,e.c.b)}function bL(e){this.d=e,Lh(this),this.b=function(e){return NM(e,14)?xL(e,14).Wc():e.Ic()}(e.d)}function mL(e,t){this.c=e,this.b=t,this.a=!1}function wL(){this.a=";,;",this.b="",this.c=""}function vL(e,t,n){oU.call(this,t,n),this.a=e}function yL(e,t,n){this.b=e,Wk.call(this,t,n)}function EL(e,t,n){this.c=e,tx.call(this,t,n)}function _L(e,t,n){pce(n,0,e,t,n.length,!1)}function SL(e,t){return e.c[e.c.length]=t,!0}function xL(e,t){return XL(null==e||rte(e,t)),e}function TL(e){var t;return PZ(t=new $b,e),t}function AL(e){var t;return d0(t=new iS,e),t}function kL(e){var t;return d0(t=new jm,e),t}function CL(e){var t,n;t=e.b,n=e.c,e.b=n,e.c=t}function ML(e){var t,n;n=e.d,t=e.a,e.d=t,e.a=n}function IL(e,t,n,r,i){e.b=t,e.c=n,e.d=r,e.a=i}function OL(e,t,n,r,i){e.d=t,e.c=n,e.a=r,e.b=i}function RL(e,t,n,r,i){e.c=t,e.d=n,e.b=r,e.a=i}function NL(e,t){return function(e){var t;(t=r.Math.sqrt(e.a*e.a+e.b*e.b))>0&&(e.a/=t,e.b/=t)}(e),e.a*=t,e.b*=t,e}function PL(e){return new HA(e.c+e.b,e.d+e.a)}function LL(e){return null!=e&&!i9(e,_tt,Stt)}function DL(e){return wS(),HY(LLe,aye,1,e,5,1)}function FL(e,t){return(n8(e)<<4|n8(t))&pEe}function UL(e,t){var n;e.n&&(n=t,SL(e.f,n))}function jL(e,t,n){GZ(e,t,new lj(n))}function BL(e,t,n){this.a=e,aC.call(this,t,n)}function zL(e,t,n){this.a=e,aC.call(this,t,n)}function $L(e,t,n){Bx.call(this,e,t),this.b=n}function HL(e,t,n){wk.call(this,e,t),this.c=n}function GL(e,t,n){wk.call(this,e,t),this.c=n}function VL(e){gP(),wc.call(this),this.oh(e)}function WL(){cY(),MB.call(this,(WS(),Ptt))}function qL(){qL=S,i$(),Knt=new Zh(OPe)}function XL(e){if(!e)throw Jb(new Rv(null))}function YL(e){if(e.c.e!=e.a)throw Jb(new Sm)}function KL(e){if(e.e.c!=e.b)throw Jb(new Sm)}function ZL(e){return Lve(),new sF(0,e)}function QL(e){bve(),this.a=new Kv,S2(this,e)}function JL(e){this.b=e,this.a=ZF(this.b.a).Ed()}function eD(e,t){this.b=e,this.a=t,Pu.call(this)}function tD(e,t){this.a=e,this.b=t,Pu.call(this)}function nD(){this.b=Mv(RR(Mee((ehe(),ize))))}function rD(){rD=S,new fte(($w(),HLe),(zw(),$Le))}function iD(){iD=S,NDe=HY(LDe,kye,20,256,0,1)}function aD(e){e.a.b=e.b,e.b.a=e.a,e.a=e.b=null}function oD(e,t){return mq(e,t,e.c.b,e.c),!0}function sD(e,t){return e.g=t<0?-1:t,e}function cD(e,t){oU.call(this,t,1040),this.a=e}function lD(e,t){return s2(Zle(Ik(e)?I2(e):e,t))}function uD(e,t){return s2(_oe(Ik(e)?I2(e):e,t))}function fD(e,t){return s2(function(e,t){var n,r,i,a;return t&=63,n=e.h&GEe,t<22?(a=n>>>t,i=e.m>>t|n<<22-t,r=e.l>>t|e.m<<22-t):t<44?(a=0,i=n>>>t-22,r=e.m>>t-22|e.h<<44-t):(a=0,i=0,r=n>>>t-44),SM(r&HEe,i&HEe,a&GEe)}(Ik(e)?I2(e):e,t))}function hD(e,t){return die(e,new Bx(t.a,t.b))}function dD(e){return 0==e||isNaN(e)?e:e<0?-1:1}function pD(e){return e.b.c.length-e.e.c.length}function gD(e){return e.e.c.length-e.g.c.length}function bD(e){return e.e.c.length+e.g.c.length}function mD(e){var t;return t=e.n,e.a.b+t.d+t.a}function wD(e){var t;return t=e.n,e.e.b+t.d+t.a}function vD(e){var t;return t=e.n,e.e.a+t.b+t.c}function yD(e,t,n){!function(e,t,n,r,i){var a,o,s,c,l,u,f,h,d,p,g,b;null==(p=qj(e.e,r))&&(l=xL(p=new lv,185),c=new lj(t+"_s"+i),GZ(l,qOe,c)),uB(n,d=xL(p,185)),s$(b=new lv,"x",r.j),s$(b,"y",r.k),GZ(d,KOe,b),s$(f=new lv,"x",r.b),s$(f,"y",r.c),GZ(d,"endPoint",f),!e_((!r.a&&(r.a=new iI(xet,r,5)),r.a))&&(a=new ib(u=new dh),Jq((!r.a&&(r.a=new iI(xet,r,5)),r.a),a),GZ(d,BOe,u)),!!Mte(r)&&Tae(e.a,d,$Oe,xse(e,Mte(r))),!!Ite(r)&&Tae(e.a,d,zOe,xse(e,Ite(r))),!(0==(!r.e&&(r.e=new VN(Met,r,10,9)),r.e).i)&&(o=new rk(e,h=new dh),Jq((!r.e&&(r.e=new VN(Met,r,10,9)),r.e),o),GZ(d,GOe,h)),!(0==(!r.g&&(r.g=new VN(Met,r,9,10)),r.g).i)&&(s=new ik(e,g=new dh),Jq((!r.g&&(r.g=new VN(Met,r,9,10)),r.g),s),GZ(d,HOe,g))}(e.a,e.b,e.c,xL(t,201),n)}function ED(e,t,n,r){T1.call(this,e,t,n,r,0,0)}function _D(e,t){Ek.call(this,e,t),this.a=this}function SD(e){gP(),VL.call(this,e),this.a=-1}function xD(e,t){return++e.j,e.Oi(t)}function TD(e,t){var n;return(n=Hj(e,t)).i=2,n}function AD(e,t,n){return e.a=-1,yO(e,t.g,n),e}function kD(e,t,n,r,i,a){return fie(e,t,n,r,i,0,a)}function CD(e,t,n){return new YN(function(e){return 0>=e?new tS:function(e){return 0>e?new tS:new AR(null,new Yq(e+1,e))}(e-1)}(e).Ie(),n,t)}function MD(e){return e.e.Hd().gc()*e.c.Hd().gc()}function ID(e){this.c=e,this.b=this.c.d.tc().Ic()}function OD(e){for(cj(e);e.Ob();)e.Pb(),e.Qb()}function RD(e){kB(),this.a=(i$(),new Zh(cj(e)))}function ND(){IL(this,!1,!1,!1,!1)}function PD(){PD=S,ADe=HY(CDe,kye,215,256,0,1)}function LD(){LD=S,MDe=HY(IDe,kye,172,128,0,1)}function DD(){DD=S,DDe=HY(zDe,kye,162,256,0,1)}function FD(){FD=S,$De=HY(HDe,kye,186,256,0,1)}function UD(e){this.a=new nS(e.gc()),w0(this,e)}function jD(e){cd.call(this,new wq),w0(this,e)}function BD(e){this.c=e,this.a=new rS(this.c.a)}function zD(e){return Ik(e)?0|e:OE(e)}function $D(e,t){return dG(t,e.c.length),e.c[t]}function HD(e,t){return dG(t,e.a.length),e.a[t]}function GD(e,t){return e.a+=A7(t,0,t.length),e}function VD(e,t){return function(e,t){return D7(T6(D7(e.a).a,t.a))}(xL(e,162),xL(t,162))}function WD(e){return e.c-xL($D(e.a,e.b),286).b}function qD(e){return e.q?e.q:(i$(),i$(),pFe)}function XD(e,t){return e?0:r.Math.max(0,t-1)}function YD(e){return e.c?e.c.f:e.e.b}function KD(e){return e.c?e.c.g:e.e.a}function ZD(e,t){return null==e.a&&_de(e),e.a[t]}function QD(e){var t;return(t=wie(e))?QD(t):e}function JD(e,t){wS(),KY.call(this,e),this.a=t}function eF(e,t){fM(),Ib.call(this,t),this.a=e}function tF(e,t,n){this.a=e,iI.call(this,t,n,2)}function nF(e,t,n,r){OL(this,e,t,n,r)}function rF(e){yQ.call(this,e.gc()),Bj(this,e)}function iF(e){this.a=e,this.c=new Hb,function(e){var t,n,r,i;for(r=0,i=(n=e.a).length;r=t)throw Jb(new rw)}function UF(e,t){return function(e){var t;return e.b||function(e,t){e.c=t,e.b=!0}(e,(t=function(e,t){return t.Ch(e.a)}(e.e,e.a),!t||!eP(fIe,G9((!t.b&&(t.b=new rR((Fve(),unt),Dnt,t)),t.b),"qualified")))),e.c}(pZ(e,t))?t.Lh():null}function jF(e,t,n){return Fpe(e,xL(t,48),7,n)}function BF(e,t,n){return Fpe(e,xL(t,48),3,n)}function zF(e,t,n){return e.a=-1,yO(e,t.g+1,n),e}function $F(e,t,n){this.a=e,aI.call(this,t,n,22)}function HF(e,t,n){this.a=e,aI.call(this,t,n,14)}function GF(e,t,n,r){fM(),vV.call(this,e,t,n,r)}function VF(e,t,n,r){fM(),vV.call(this,e,t,n,r)}function WF(e,t,n,r){this.a=e,QX.call(this,e,t,n,r)}function qF(e){QS(),this.a=0,this.b=e-1,this.c=1}function XF(e){return Lve(),new nH(10,e,0)}function YF(e){return e.i||(e.i=e.bc())}function KF(e){return e.c||(e.c=e.Dd())}function ZF(e){return e.c?e.c:e.c=e.Id()}function QF(e){return e.d?e.d:e.d=e.Jd()}function JF(e,t){return cj(t),e.a.Ad(t)&&!e.b.Ad(t)}function eU(e){return null!=e&&BU(e)&&!(e.dm===_)}function tU(e){return!Array.isArray(e)&&e.dm===_}function nU(e){return e.Oc(HY(LLe,aye,1,e.gc(),5,1))}function rU(e,t){return r8((sB(e),e),(sB(t),t))}function iU(e,t){return K4(e,t)<0?-1:K4(e,t)>0?1:0}function aU(e,t){this.e=e,this.d=64&t?t|Cye:t}function oU(e,t){this.c=0,this.d=e,this.b=64|t|Cye}function sU(e){this.b=new dY(11),this.a=(a$(),e)}function cU(e){this.b=null,this.a=(a$(),e||mFe)}function lU(e){this.a=(pF(),qLe),this.d=xL(cj(e),49)}function uU(e){e?Ene(e,(Y_(),VDe),""):Y_()}function fU(e){return B0(),0!=xL(e,11).e.c.length}function hU(e){return B0(),0!=xL(e,11).g.c.length}function dU(e,t){return x6(e,(sB(t),new dd(t)))}function pU(e,t){return x6(e,(sB(t),new pd(t)))}function gU(e,t){if(null==e)throw Jb(new Dv(t))}function bU(e){if(!e)throw Jb(new mm);return e.d}function mU(e){return e.e?YX(e.e):null}function wU(e,t,n){return zhe(),X0(e,t)&&X0(e,n)}function vU(e){return lae(),!e.Fc(V9e)&&!e.Fc(q9e)}function yU(e){return new HA(e.c+e.b/2,e.d+e.a/2)}function EU(e){this.a=ute(e.a),this.b=new AP(e.b)}function _U(e){this.b=e,AO.call(this,e),UI(this)}function SU(e){this.b=e,CO.call(this,e),jI(this)}function xU(e,t,n,r,i){aK.call(this,e,t,n,r,i,-1)}function TU(e,t,n,r,i){oK.call(this,e,t,n,r,i,-1)}function AU(e,t,n,r){iI.call(this,e,t,n),this.b=r}function kU(e){ak.call(this,e,!1),this.a=!1}function CU(e,t,n,r){HL.call(this,e,t,n),this.b=r}function MU(e,t,n,r){this.b=e,iI.call(this,t,n,r)}function IU(e,t,n){this.a=e,NN.call(this,t,n,5,6)}function OU(e){e.d||(e.d=e.b.Ic(),e.c=e.b.gc())}function RU(e,t){for(sB(t);e.Ob();)t.td(e.Pb())}function NU(e){var t;for(t=e;t.f;)t=t.f;return t}function PU(e,t){var n;return vX(t,n=e.a.gc()),n-t}function LU(e,t,n,r){var i;(i=e.i).i=t,i.a=n,i.b=r}function DU(e,t){return t.fh()?Q5(e.b,xL(t,48)):t}function FU(e,t){return eP(e.substr(0,t.length),t)}function UU(e,t){return Mk(t)?p$(e,t):!!H$(e.f,t)}function jU(e){return new lU(new xI(e.a.length,e.a))}function BU(e){return typeof e===Xve||typeof e===Qve}function zU(e){e.f=new vC(e),e.g=new yC(e),B$(e)}function $U(e){mO(-1!=e.b),NX(e.c,e.a=e.b),e.b=-1}function HU(e,t){this.b=e,fh.call(this,e.b),this.a=t}function GU(e,t,n){Ghe(),this.e=e,this.d=t,this.a=n}function VU(e){dM(this),this.g=e,Yz(this),this._d()}function WU(e,t){kB(),R_.call(this,e,s6(new Uv(t)))}function qU(e,t){return Lve(),new wB(e,t,0)}function XU(e,t){return Lve(),new wB(6,e,t)}function YU(e,t,n,r){f5(t,n,e.length),function(e,t,n,r){var i;for(i=t;ie||e>t)throw Jb(new oy("fromIndex: 0, toIndex: "+e+k_e+t))}(t,e.length),new cD(e,t)}(e,e.length))}function sj(e){e.a=null,e.e=null,zU(e.b),e.d=0,++e.c}function cj(e){if(null==e)throw Jb(new Em);return e}function lj(e){if(null==e)throw Jb(new Em);this.a=e}function uj(e,t){jb.call(this,1),this.a=e,this.b=t}function fj(e,t){this.d=e,gI.call(this,e),this.e=t}function hj(e,t,n){this.c=e,this.a=t,i$(),this.b=n}function dj(e){this.d=(sB(e),e),this.a=0,this.c=Oye}function pj(e,t){mq(e.d,t,e.b.b,e.b),++e.a,e.c=null}function gj(e,t){return null==t4(e.a,t,(pO(),EDe))}function bj(e,t){OM(e,NM(t,152)?t:xL(t,1909).bl())}function mj(e,t){aS(uz(e.Mc(),new Pi),new jp(t))}function wj(e,t){return e.c?wj(e.c,t):SL(e.b,t),e}function vj(e,t,n){var r;return r=jZ(e,t),KW(e,t,n),r}function yj(e,t){return EK(e.slice(0,t),e)}function Ej(e,t,n){var r;for(r=0;r=14&&n<=16);case 11:return null!=t&&typeof t===Qve;case 12:return null!=t&&(typeof t===Xve||typeof t==Qve);case 0:return rte(t,e.__elementTypeId$);case 2:return BU(t)&&!(t.dm===_);case 1:return BU(t)&&!(t.dm===_)||rte(t,e.__elementTypeId$);default:return!0}}(e,n)),e[t]=n}function Vj(e,t){return e.a+=String.fromCharCode(t),e}function Wj(e,t){return e.a+=String.fromCharCode(t),e}function qj(e,t){return Mk(t)?fH(e,t):Tk(H$(e.f,t))}function Xj(e,t){for(sB(t);e.c=e.g}function Jj(e,t,n){return Nde(e,Q1(e,t,n))}function eB(e){gN.call(this),this.a=new lE,this.c=e}function tB(e){this.b=new $b,this.a=new $b,this.c=e}function nB(e){this.a=new $b,this.c=new $b,this.e=e}function rB(e){this.c=new lE,this.a=new $b,this.b=e}function iB(e){this.c=e,this.a=new iS,this.b=new iS}function aB(e){nw(),this.b=new $b,this.a=e,function(e,t){var n,r,i,a,o;for(n=new hy,o=!1,a=0;a0?(Gee(e,n,0),n.a+=String.fromCharCode(r),Gee(e,n,i=j7(t,a)),a+=i-1):39==r?a+10;)e=e<<1|(e<0?1:0);return e}function ZB(e,t){return Ak(e)===Ak(t)||null!=e&&C6(e,t)}function QB(e,t){return TF(e.a,t)?e.b[xL(t,22).g]:null}function JB(e){return String.fromCharCode.apply(null,e)}function ez(e,t){return pG(t,e.length),e.charCodeAt(t)}function tz(e,t){e.t.Fc((lae(),V9e))&&function(e,t){var n,i,a,o;for(n=(o=xL(QB(e.b,t),121)).a,a=xL(xL(MX(e.r,t),21),81).Ic();a.Ob();)(i=xL(a.Pb(),110)).c&&(n.a=r.Math.max(n.a,vD(i.c)));if(n.a>0)switch(t.g){case 2:o.n.c=e.s;break;case 4:o.n.b=e.s}}(e,t),function(e,t){var n;e.B&&((n=xL(QB(e.b,t),121).n).d=e.B.d,n.a=e.B.a)}(e,t)}function nz(e){return!e.n&&(e.n=new AU(Pet,e,1,7)),e.n}function rz(e){return!e.c&&(e.c=new AU(Det,e,9,9)),e.c}function iz(e,t,n,r){return W0(e,t,n,!1),j6(e,r),e}function az(e,t){M8(e,Mv(PJ(t,"x")),Mv(PJ(t,"y")))}function oz(e,t){M8(e,Mv(PJ(t,"x")),Mv(PJ(t,"y")))}function sz(e){return i$(),e?e.ve():(a$(),a$(),vFe)}function cz(){cz=S,VLe=new ov(m3(ay(WLe,1),jye,43,0,[]))}function lz(e,t){return l8(e),new JD(e,new _K(t,e.a))}function uz(e,t){return l8(e),new JD(e,new HX(t,e.a))}function fz(e,t){return l8(e),new TR(e,new $X(t,e.a))}function hz(e,t){return l8(e),new AR(e,new zX(t,e.a))}function dz(e,t,n){!function(e,t){var n,r,i,a,o,s;a=!e.A.Fc((Tpe(),O7e)),o=e.A.Fc(P7e),e.a=new t7(o,a,e.c),!!e.n&&Xz(e.a.n,e.n),pv(e.g,(RQ(),XUe),e.a),t||((r=new tee(1,a,e.c)).n.a=e.k,wF(e.p,(Lwe(),Q9e),r),(i=new tee(1,a,e.c)).n.d=e.k,wF(e.p,g7e,i),(s=new tee(0,a,e.c)).n.c=e.k,wF(e.p,m7e,s),(n=new tee(0,a,e.c)).n.b=e.k,wF(e.p,Z9e,n))}(e,t),jQ(e.e.uf(),new $P(e,t,n))}function pz(e,t){this.b=e,this.c=t,this.a=new rS(this.b)}function gz(e,t,n){this.a=hEe,this.d=e,this.b=t,this.c=n}function bz(e,t){this.d=(sB(e),e),this.a=16449,this.c=t}function mz(e,t,n,r){y_.call(this,e,t),this.a=n,this.b=r}function wz(e,t,n,r){this.a=e,this.e=t,this.d=n,this.c=r}function vz(e,t,n,r){this.a=e,this.c=t,this.b=n,this.d=r}function yz(e,t,n,r){this.c=e,this.b=t,this.a=n,this.d=r}function Ez(e,t,n,r){this.c=e,this.b=t,this.d=n,this.a=r}function _z(e,t,n,r){this.a=e,this.d=t,this.c=n,this.b=r}function Sz(e,t,n,r){this.c=e,this.d=t,this.b=n,this.a=r}function xz(e){this.a=new $b,this.e=HY(Eit,kye,47,e,0,2)}function Tz(e){var t;for(t=e.Ic();t.Ob();)t.Pb(),t.Qb()}function Az(e){var t;return XQ(t=new Wb,e),t}function kz(e){var t;return Qae(t=new Wb,e),t}function Cz(e){var t;return t=function(e){var t;return NM(t=Hae(e,(Rve(),QWe)),160)?T9(xL(t,160)):null}(e),t||null}function Mz(e,t){var n,r;return(n=e/t)>(r=dH(n))&&++r,r}function Iz(e,t,n){var r;return r=jwe(e),t.Fh(n,r)}function Oz(e){return e.e==RPe&&function(e,t){e.e=t}(e,function(e,t){var n,r;return(n=t.Ch(e.a))&&null!=(r=NR(G9((!n.b&&(n.b=new rR((Fve(),unt),Dnt,n)),n.b),aRe)))?r:t.ne()}(e.g,e.b)),e.e}function Rz(e){return e.f==RPe&&function(e,t){e.f=t}(e,function(e,t){var n,r;return(n=t.Ch(e.a))?(r=NR(G9((!n.b&&(n.b=new rR((Fve(),unt),Dnt,n)),n.b),APe)),eP(kPe,r)?UF(e,WQ(t.Cj())):r):null}(e.g,e.b)),e.f}function Nz(e){return!e.b&&(e.b=new AU(Cet,e,12,3)),e.b}function Pz(e){if(e9(e.d),e.d.d!=e.c)throw Jb(new Sm)}function Lz(e){return XL(null==e||BU(e)&&!(e.dm===_)),e}function Dz(e,t){if(null==e)throw Jb(new Dv(t));return e}function Fz(e,t){this.a=e,xR.call(this,e,xL(e.d,14).Xc(t))}function Uz(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function jz(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function Bz(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function zz(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function $z(e,t,n,r){this.e=e,this.a=t,this.c=n,this.d=r}function Hz(e,t,n,r){fM(),TX.call(this,t,n,r),this.a=e}function Gz(e,t,n,r){fM(),TX.call(this,t,n,r),this.a=e}function Vz(e,t,n,r){this.b=e,this.c=r,Xk.call(this,t,n)}function Wz(e){this.f=e,this.c=this.f.e,e.f>0&&$re(this)}function qz(e){e.a.a=e.c,e.c.b=e.a,e.a.b=e.c.a=null,e.b=0}function Xz(e,t){return e.b=t.b,e.c=t.c,e.d=t.d,e.a=t.a,e}function Yz(e){return e.n&&(e.e!==aEe&&e._d(),e.j=null),e}function Kz(e){return wO(e.b0?(r.Error.stackTraceLimit=Error.stackTraceLimit=64,1):"stack"in new Error),e=new f,oDe=t?new d:e}function m$(e){Ny(),r.setTimeout(function(){throw e},0)}function w$(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function v$(e){this.b=e,this.a=new VE(xL(cj(new Qe),62))}function y$(e){this.c=e,this.b=new VE(xL(cj(new ge),62))}function E$(e){this.c=e,this.b=new VE(xL(cj(new Tt),62))}function _$(){this.a=new mw,this.b=(JJ(3,Yye),new dY(3))}function S$(e){return e&&e.hashCode?e.hashCode():eO(e)}function x$(e,t){var n;return(n=YM(e.a,t))&&(t.d=null),n}function T$(e,t){return e.a=OO(e.a,0,t)+""+Pk(e.a,t+1),e}function A$(e,t,n){return!!e.f&&e.f.Ne(t,n)}function k$(e,t,n,r,i,a){oK.call(this,e,t,n,r,i,a?-2:-1)}function C$(e,t,n,r){wk.call(this,t,n),this.b=e,this.a=r}function M$(e,t){Uw.call(this,new cU(e)),this.a=e,this.b=t}function I$(e){this.c=e.c,this.d=e.d,this.b=e.b,this.a=e.a}function O$(e,t){this.g=e,this.d=m3(ay(b$e,1),gTe,10,0,[t])}function R$(e,t,n,r,i,a){this.a=e,o1.call(this,t,n,r,i,a)}function N$(e,t,n,r,i,a){this.a=e,o1.call(this,t,n,r,i,a)}function P$(e,t){this.e=e,this.a=LLe,this.b=Ode(t),this.c=t}function L$(){this.b=new Om,this.d=new iS,this.e=new iw}function D$(e){return e.u||(yX(e),e.u=new ZR(e,e)),e.u}function F$(e){return xL(k2(e,16),26)||e.uh()}function U$(e,t){var n;return n=LE(e.bm),null==t?n:n+": "+t}function j$(e,t){var n;return fq(n=e.b.Oc(t),e.b.gc()),n}function B$(e){var t,n;t=0|(n=e).$modCount,n.$modCount=t+1}function z$(e,t,n){return n>=0&&eP(e.substr(n,t.length),t)}function $$(e,t){return NM(t,146)&&eP(e.b,xL(t,146).og())}function H$(e,t){return T5(e,t,function(e,t){var n;return null==(n=e.a.get(t))?new Array:n}(e,null==t?0:e.b.se(t)))}function G$(e,t){Dbe(e,xL(gue(t,(wR(),J0e)),34))}function V$(e,t){!function(e,t){e.a=t}(this,new HA(e.a,e.b)),function(e,t){e.b=t}(this,AL(t))}function W$(){W$=S,H1e=new QT(_Se,0),G1e=new QT(SSe,1)}function q$(){q$=S,f1e=new VT(SSe,0),u1e=new VT(_Se,1)}function X$(e,t,n,r){Gj(e.c[t.g],n.g,r),Gj(e.c[n.g],t.g,r)}function Y$(e,t,n,r){Gj(e.c[t.g],t.g,n),Gj(e.b[t.g],t.g,r)}function K$(e,t,n,r,i,a,o){return new oq(e.e,t,n,r,i,a,o)}function Z$(e,t,n,r){return n>=0?e.eh(t,n,r):e.Ng(null,n,r)}function Q$(e){return 0==e.b.b?e.a._e():pL(e.b)}function J$(e){return Ak(e.a)===Ak((z0(),wnt))&&function(e){var t,n,r,i,a,o,s,c,l,u;for(t=new yc,n=new yc,l=eP($Ne,(i=$pe(e.b,HNe))?NR(G9((!i.b&&(i.b=new rR((Fve(),unt),Dnt,i)),i.b),GNe)):null),c=0;c=0?e.nh(r,n):tfe(e,t,n)}function wH(e,t,n,r){var i;i=new pN,t.a[n.g]=i,wF(e.b,r,i)}function vH(e,t,n){this.c=new $b,this.e=e,this.f=t,this.b=n}function yH(e,t,n){this.i=new $b,this.b=e,this.g=t,this.a=n}function EH(e){EN.call(this),ZQ(this),this.a=e,this.c=!0}function _H(e,t,n){hG(),e&&zB(ett,e,t),e&&zB(Jet,e,n)}function SH(e,t){var n;for(cj(t),n=e.a;n;n=n.c)t.Od(n.g,n.i)}function xH(e,t){var n;n=e.q.getHours(),e.q.setDate(t),Kge(e,n)}function TH(e){var t;return e4(t=new GE(vQ(e.length)),e),t}function AH(e){return e.Db>>16!=3?null:xL(e.Cb,34)}function kH(e){return e.Db>>16!=9?null:xL(e.Cb,34)}function CH(e){return e.Db>>16!=6?null:xL(e.Cb,80)}function MH(e,t){if(e<0||e>t)throw Jb(new Sv(j_e+e+B_e+t))}function IH(e,t){return s2(function(e,t){return SM(e.l^t.l,e.m^t.m,e.h^t.h)}(Ik(e)?I2(e):e,Ik(t)?I2(t):t))}function OH(e,t){return r.Math.abs(e)=0?e.gh(n):Vce(e,t)}function jH(e){return e.Db>>16!=7?null:xL(e.Cb,234)}function BH(e){return e.Db>>16!=7?null:xL(e.Cb,160)}function zH(e){return e.Db>>16!=3?null:xL(e.Cb,147)}function $H(e){return e.Db>>16!=11?null:xL(e.Cb,34)}function HH(e){return e.Db>>16!=17?null:xL(e.Cb,26)}function GH(e){return e.Db>>16!=6?null:xL(e.Cb,234)}function VH(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.le(t))}function WH(e,t,n,r,i,a){return new fZ(e.e,t,e.Xi(),n,r,i,a)}function qH(e){this.a=e,this.b=HY(YJe,kye,1916,e.e.length,0,2)}function XH(){this.a=new zC,this.e=new Om,this.g=0,this.i=0}function YH(e,t){dM(this),this.f=t,this.g=e,Yz(this),this._d()}function KH(e){return GM(e.c),e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function ZH(e){return GM(e.e),e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function QH(e,t,n){return e.a=OO(e.a,0,t)+""+n+Pk(e.a,t),e}function JH(e,t,n){return SL(e.a,(cz(),hte(t,n),new v_(t,n))),e}function eG(e,t,n){this.a=t,this.c=e,this.b=(cj(n),new AP(n))}function tG(e,t){this.a=e,this.c=kM(this.a),this.b=new I$(t)}function nG(e,t,n){this.a=t,this.c=e,this.b=(cj(n),new AP(n))}function rG(e,t,n){return null==t?tce(e.f,null,n):O8(e.g,t,n)}function iG(e,t){return AF(e.a,t)?QU(e,xL(t,22).g,null):null}function aG(){aG=S,ZLe=E5((Zw(),m3(ay(QLe,1),Kye,532,0,[YLe])))}function oG(){oG=S,MJe=zF(new nW,(Gae(),Pze),(Pve(),MHe))}function sG(){sG=S,IJe=zF(new nW,(Gae(),Pze),(Pve(),MHe))}function cG(){cG=S,t1e=AD(new nW,(Gae(),Pze),(Pve(),tHe))}function lG(){lG=S,o1e=AD(new nW,(Gae(),Pze),(Pve(),tHe))}function uG(){uG=S,l1e=AD(new nW,(Gae(),Pze),(Pve(),tHe))}function fG(){fG=S,w1e=AD(new nW,(Gae(),Pze),(Pve(),tHe))}function hG(){var e,t;hG=S,ett=new Hb,Jet=new Hb,e=SFe,t=new lc,e&&zB(Jet,e,t)}function dG(e,t){if(e<0||e>=t)throw Jb(new Sv(j_e+e+B_e+t))}function pG(e,t){if(e<0||e>=t)throw Jb(new sy(j_e+e+B_e+t))}function gG(e,t){e.d&&KK(e.d.e,e),e.d=t,e.d&&SL(e.d.e,e)}function bG(e,t){e.c&&KK(e.c.g,e),e.c=t,e.c&&SL(e.c.g,e)}function mG(e,t){e.c&&KK(e.c.a,e),e.c=t,e.c&&SL(e.c.a,e)}function wG(e,t){e.i&&KK(e.i.j,e),e.i=t,e.i&&SL(e.i.j,e)}function vG(e,t){e.a&&KK(e.a.k,e),e.a=t,e.a&&SL(e.a.k,e)}function yG(e,t){e.b&&KK(e.b.f,e),e.b=t,e.b&&SL(e.b.f,e)}function EG(e,t){!function(e,t,n){xL(t.b,63),jQ(t.a,new ZP(e,n,t))}(e,e.b,e.c),xL(e.b.b,63),t&&xL(t.b,63).b}function _G(e,t){var n;return n=new rB(e),t.c[t.c.length]=n,n}function SG(e){this.c=new iS,this.b=e.b,this.d=e.c,this.a=e.a}function xG(e){this.a=r.Math.cos(e),this.b=r.Math.sin(e)}function TG(e,t,n,r){this.c=e,this.d=r,vG(this,t),yG(this,n)}function AG(e,t){NM(e.Cb,87)&&cce(yX(xL(e.Cb,87)),4),o0(e,t)}function kG(e,t){NM(e.Cb,179)&&(xL(e.Cb,179).tb=null),o0(e,t)}function CG(e){var t;return _E(),XQ(t=new Wb,e),t}function MG(e){var t;return _E(),XQ(t=new Wb,e),t}function IG(e){for(var t;;)if(t=e.Pb(),!e.Ob())return t}function OG(){OG=S,Y0e=zF(new nW,(rre(),K1e),(kse(),t0e))}function RG(e){return l8(e),a$(),a$(),MQ(e,wFe)}function NG(e,t,n){var r;i6(t,n,e.c.length),r=n-t,zE(e.c,t,r)}function PG(e,t,n){i6(t,n,e.gc()),this.c=e,this.a=t,this.b=n-t}function LG(e,t){this.b=(sB(e),e),this.a=0==(t&n_e)?64|t|Cye:t}function DG(e,t){if(ZU(e.a,t),t.d)throw Jb(new sv(W_e));t.d=e}function FG(e,t){jw.call(this,new nS(vQ(e))),JJ(t,Aye),this.a=t}function UG(e,t){return YS(),NZ(t)?new _D(t,e):new Ek(t,e)}function jG(e){return u4(m3(ay(v5e,1),kye,8,0,[e.i.n,e.n,e.a]))}function BG(e,t,n){var r;(r=new to).b=t,r.a=n,++t.b,SL(e.d,r)}function zG(e){return e.d==(cY(),Vnt)&&function(e,t){e.d=t}(e,function(e,t){var n,r,i,a,o,s;if((n=t.Ch(e.a))&&null!=(s=NR(G9((!n.b&&(n.b=new rR((Fve(),unt),Dnt,n)),n.b),iRe))))switch(i=KI(s,_ae(35)),r=t.Cj(),-1==i?(o=UF(e,WQ(r)),a=s):0==i?(o=null,a=s.substr(1)):(o=s.substr(0,i),a=s.substr(i+1)),UB(gZ(e,t))){case 2:case 3:return function(e,t,n,r){var i;return(i=xue(e,t,n,r))||(i=function(e,t,n){var r,i;return(i=Pue(e.b,t))&&(r=xL(Wbe(pZ(e,i),""),26))?xue(e,r,t,n):null}(e,n,r),!i||_me(e,t,i))?i:null}(e,r,o,a);case 0:case 4:case 5:case 6:return function(e,t,n,r){var i;return(i=Tue(e,t,n,r))||!(i=X6(e,n,r))||_me(e,t,i)?i:null}(e,r,o,a)}return null}(e.g,e.b)),e.d}function $G(e){return e.a==(cY(),Vnt)&&function(e,t){e.a=t}(e,function(e,t){var n,r,i;return(n=t.Ch(e.a))&&null!=(i=NR(G9((!n.b&&(n.b=new rR((Fve(),unt),Dnt,n)),n.b),"affiliation")))?-1==(r=KI(i,_ae(35)))?X6(e,UF(e,WQ(t.Cj())),i):0==r?X6(e,null,i.substr(1)):X6(e,i.substr(0,r),i.substr(r+1)):null}(e.g,e.b)),e.a}function HG(e,t){SL(e.a,t),e.b=r.Math.max(e.b,t.d),e.d+=t.r}function GG(e){JC(this),Mm(this.a,H3(r.Math.max(8,e))<<1)}function VG(e){Lve(),jb.call(this,e),this.c=!1,this.a=!1}function WG(e,t,n){jb.call(this,25),this.b=e,this.a=t,this.c=n}function qG(e,t){var n,r;return r=PU(e,t),n=e.a.Xc(r),new O_(e,n)}function XG(e,t){e.b=e.b|t.b,e.c=e.c|t.c,e.d=e.d|t.d,e.a=e.a|t.a}function YG(e){return cj(e),NM(e,15)?new AP(xL(e,15)):TL(e.Ic())}function KG(e,t){return e&&e.equals?e.equals(t):Ak(e)===Ak(t)}function ZG(e){return new dY((JJ(e,Qye),UZ(T6(T6(5,e),e/10|0))))}function QG(e){return null==e.c||0==e.c.length?"n_"+e.b:"n_"+e.c}function JG(e){return null==e.c||0==e.c.length?"n_"+e.g:"n_"+e.c}function eV(e,t){var n;for(n=e+"";n.length=t)throw Jb(new Sv(function(e,t){if(e<0)return Rde(iye,m3(ay(LLe,1),aye,1,5,["index",G6(e)]));if(t<0)throw Jb(new Nv(oye+t));return Rde("%s (%s) must be less than size (%s)",m3(ay(LLe,1),aye,1,5,["index",G6(e),G6(t)]))}(e,t)));return e}function AV(e,t,n){if(e<0||tn)throw Jb(new Sv(function(e,t,n){return e<0||e>n?Vse(e,n,"start index"):t<0||t>n?Vse(t,n,"end index"):Rde("end index (%s) must not be less than start index (%s)",m3(ay(LLe,1),aye,1,5,[G6(t),G6(e)]))}(e,t,n)))}function kV(e){var t;return Ik(e)?-0==(t=e)?0:t:function(e){return Cre(e,(NQ(),yDe))<0?-function(e){return e.l+e.m*WEe+e.h*qEe}(G3(e)):e.l+e.m*WEe+e.h*qEe}(e)}function CV(e){return wO(e.b.b!=e.d.a),e.c=e.b=e.b.b,--e.a,e.c.c}function MV(e,t){var n;return n=1-t,e.a[n]=z1(e.a[n],n),z1(e,t)}function IV(e,t,n){cj(e),function(e){var t,n,r;for(i$(),wM(e.c,e.a),r=new td(e.c);r.a0&&0==e.a[--e.d];);0==e.a[e.d++]&&(e.e=0)}function FV(e,t){this.a=e,Dh.call(this,e),MH(t,e.gc()),this.b=t}function UV(e,t){var n;e.e=new Xw,wM(n=jhe(t),e.c),qhe(e,n,0)}function jV(e,t,n,r){var i;(i=new gs).a=t,i.b=n,i.c=r,oD(e.a,i)}function BV(e,t,n,r){var i;(i=new gs).a=t,i.b=n,i.c=r,oD(e.b,i)}function zV(e){return kS(),NM(e.g,10)?xL(e.g,10):null}function $V(e,t){return!!NM(t,43)&&lne(e.a,xL(t,43))}function HV(e,t){return!!NM(t,43)&&lne(e.a,xL(t,43))}function GV(e,t){return!!NM(t,43)&&lne(e.a,xL(t,43))}function VV(e){var t;return SB(e),t=new C,$E(e.a,new xd(t)),t}function WV(e){var t,n;return n=Ape(t=new Cj,e),function(e){var t,n,r,i,a,o,s,c,l,u,f,h,d,p,g,b,m,w,v,y,E,_;for(f=new yB(new ld(e));f.b!=f.c.a.d;)for(s=xL((u=eK(f)).d,55),t=xL(u.e,55),g=0,y=(null==(o=s.Og()).i&&Oge(o),o.i).length;g=0&&g0}function pW(e){return NM(e,15)?xL(e,15).dc():!e.Ic().Ob()}function gW(e){var t;for(t=0;e.Ob();)e.Pb(),t=T6(t,1);return UZ(t)}function bW(e){var t;t=e.Rg(),this.a=NM(t,67)?xL(t,67).Uh():t.Ic()}function mW(e){return new LG(e.g||(e.g=new Ff(e)),17)}function wW(e,t,n,r){return NM(n,53)?new MO(e,t,n,r):new WF(e,t,n,r)}function vW(e){rae(),QM(this,zD(lH(lD(e,24),A_e)),zD(lH(e,A_e)))}function yW(e,t){sB(t),e.b=e.b-1&e.a.length-1,Gj(e.a,e.b,t),Dne(e)}function EW(e,t){sB(t),Gj(e.a,e.c,t),e.c=e.c+1&e.a.length-1,Dne(e)}function _W(e){return wO(e.b!=e.d.c),e.c=e.b,e.b=e.b.a,++e.a,e.c.c}function SW(e){return kS(),NM(e.g,145)?xL(e.g,145):null}function xW(e,t){return xL(nO(dU(xL(MX(e.k,t),14).Mc(),DGe)),112)}function TW(e,t){return xL(nO(pU(xL(MX(e.k,t),14).Mc(),DGe)),112)}function AW(e,t,n,r){var i;return i=r[t.g][n.g],Mv(RR(Hae(e.a,i)))}function kW(e,t){var n;for(n=e.j.c.length;n0&&Abe(e.g,0,t,0,e.i),t}function zW(e,t,n){var r;return r=S7(n),zB(e.b,r,t),zB(e.c,t,n),t}function $W(e,t){var n;for(n=t;n;)XO(e,n.i,n.j),n=$H(n);return e}function HW(e,t){var n;return n=new hy,e.xd(n),n.a+="..",t.yd(n),n.a}function GW(e,t){var n;return YS(),function(e,t){var n;if(null!=t&&!e.c.Tj().rj(t))throw n=NM(t,55)?xL(t,55).Og().zb:LE(D4(t)),Jb(new Rv(lOe+e.c.ne()+"'s type '"+e.c.Tj().ne()+"' does not permit a value of type '"+n+"'"))}(n=xL(e,65).Hj(),t),n.Jk(t)}function VW(e,t,n){e.i=0,e.e=0,t!=n&&(O4(e,t,n),I4(e,t,n))}function WW(e,t){var n;n=e.q.getHours(),e.q.setFullYear(t+Tye),Kge(e,n)}function qW(e,t){var n;return n=g$(TL(new XK(e,t))),OD(new XK(e,t)),n}function XW(e){return e.n||(yX(e),e.n=new $F(e,Utt,e),D$(e)),e.n}function YW(e){if(e<0)throw Jb(new Lv("Negative array size: "+e))}function KW(e,t,n){if(n){var r=n.ee();n=r(n)}else n=void 0;e.a[t]=n}function ZW(e,t){var n;return d4(),0!=(n=e.j.g-t.j.g)?n:0}function QW(e){return wO(e.a"+QG(e.d):"e_"+eO(e)}function gq(e,t){return e==(yoe(),p$e)&&t==p$e?4:e==p$e||t==p$e?8:32}function bq(e,t){return t.b.Kb(hZ(e,t.c.Ee(),new Md(t)))}function mq(e,t,n,r){var i;(i=new z).c=t,i.b=n,i.a=r,r.b=n.a=i,++e.b}function wq(){Hb.call(this),QO(this),this.d.b=this.d,this.d.a=this.d}function vq(e){this.d=e,this.b=this.d.a.entries(),this.a=this.b.next()}function yq(e){if(!e.c.Sb())throw Jb(new mm);return e.a=!0,e.c.Ub()}function Eq(e,t){return sB(t),null!=e.a?function(e){return null==e?MFe:new bv(sB(e))}(t.Kb(e.a)):MFe}function _q(){_q=S,KGe=new dT("LAYER_SWEEP",0),YGe=new dT(ZTe,1)}function Sq(){Sq=S,QGe=E5((_q(),m3(ay(nVe,1),Kye,333,0,[KGe,YGe])))}function xq(){xq=S,hVe=E5((pQ(),m3(ay(bVe,1),Kye,413,0,[lVe,uVe])))}function Tq(){Tq=S,dJe=E5((aY(),m3(ay(mJe,1),Kye,374,0,[fJe,uJe])))}function Aq(){Aq=S,JQe=E5((cZ(),m3(ay(rJe,1),Kye,415,0,[KQe,ZQe])))}function kq(){kq=S,mWe=E5((NW(),m3(ay(Tqe,1),Kye,414,0,[pWe,gWe])))}function Cq(){Cq=S,XGe=E5((jY(),m3(ay(ZGe,1),Kye,417,0,[VGe,WGe])))}function Mq(){Mq=S,MVe=E5((jK(),m3(ay(DVe,1),Kye,473,0,[kVe,AVe])))}function Iq(){Iq=S,F1e=E5((iY(),m3(ay(V1e,1),Kye,513,0,[L1e,P1e])))}function Oq(){Oq=S,e1e=E5((RW(),m3(ay(a1e,1),Kye,516,0,[QJe,ZJe])))}function Rq(){Rq=S,d1e=E5((q$(),m3(ay(b1e,1),Kye,509,0,[f1e,u1e])))}function Nq(){Nq=S,m1e=E5((PH(),m3(ay(D1e,1),Kye,508,0,[p1e,g1e])))}function Pq(){Pq=S,W1e=E5((W$(),m3(ay(Z1e,1),Kye,448,0,[H1e,G1e])))}function Lq(){Lq=S,G0e=E5((LH(),m3(ay(q0e,1),Kye,474,0,[z0e,$0e])))}function Dq(){Dq=S,X0e=E5((RV(),m3(ay(n2e,1),Kye,419,0,[W0e,V0e])))}function Fq(){Fq=S,r2e=E5((X1(),m3(ay(s2e,1),Kye,487,0,[e2e,t2e])))}function Uq(){Uq=S,$4e=E5((K2(),m3(ay(H4e,1),Kye,423,0,[B4e,j4e])))}function jq(){jq=S,h2e=E5((kK(),m3(ay(b2e,1),Kye,420,0,[l2e,u2e])))}function Bq(){Bq=S,X3e=E5((oY(),m3(ay(e4e,1),Kye,424,0,[W3e,V3e])))}function zq(){zq=S,yUe=E5((Oee(),m3(ay(SUe,1),Kye,422,0,[wUe,mUe])))}function $q(){$q=S,xUe=E5((hQ(),m3(ay(zUe,1),Kye,421,0,[EUe,_Ue])))}function Hq(){Hq=S,$Be=E5((dQ(),m3(ay(Tze,1),Kye,418,0,[jBe,BBe])))}function Gq(){Gq=S,O$e=E5((Y1(),m3(ay(P$e,1),Kye,504,0,[M$e,C$e])))}function Vq(){Vq=S,JFe=!0,ZFe=!1,QFe=!1,tUe=!1,eUe=!1}function Wq(e){e.i=0,ux(e.b,null),ux(e.c,null),e.a=null,e.e=null,++e.g}function qq(e){if(Wle(e))return e.c=e.a,e.a.Pb();throw Jb(new mm)}function Xq(e){Vq(),JFe||(this.c=e,this.e=!0,this.a=new $b)}function Yq(e,t){this.c=0,this.b=t,qk.call(this,e,17493),this.a=this.c}function Kq(e,t,n){var r;return dG(t,e.c.length),r=e.c[t],e.c[t]=n,r}function Zq(e,t){var n,r;for(n=t,r=0;n>0;)r+=e.a[n],n-=n&-n;return r}function Qq(e,t){var n;for(n=t;n;)XO(e,-n.i,-n.j),n=$H(n);return e}function Jq(e,t){var n,r;for(sB(t),r=e.Ic();r.Ob();)n=r.Pb(),t.td(n)}function eX(e,t){var n;return new v_(n=t.ad(),e.e.nc(n,xL(t.bd(),15)))}function tX(e,t){return(l8(e),DE(new JD(e,new _K(t,e.a)))).sd(iUe)}function nX(){eM(this),this.b=new HA(e_e,e_e),this.a=new HA(t_e,t_e)}function rX(e){this.b=e,gI.call(this,e),this.a=xL(k2(this.b.a,4),124)}function iX(e){this.b=e,kO.call(this,e),this.a=xL(k2(this.b.a,4),124)}function aX(e,t,n,r,i){AX.call(this,t,r,i),this.c=e,this.b=n}function oX(e,t,n,r,i){AX.call(this,t,r,i),this.c=e,this.a=n}function sX(e,t,n,r,i){lV.call(this,t,r,i),this.c=e,this.a=n}function cX(e,t,n,r,i){uV.call(this,t,r,i),this.c=e,this.a=n}function lX(e){nx.call(this,null==e?cye:K8(e),NM(e,78)?xL(e,78):null)}function uX(e){var t;return e.c||NM(t=e.r,87)&&(e.c=xL(t,26)),e.c}function fX(e,t){var n;return n=0,e&&(n+=e.f.a/2),t&&(n+=t.f.a/2),n}function hX(e,t){return xL(LZ(e.d,t),23)||xL(LZ(e.e,t),23)}function dX(e){return SM(e&HEe,e>>22&HEe,e<0?GEe:0)}function pX(e,t){var n;return!!(n=M4(e,t.ad()))&&ZB(n.e,t.bd())}function gX(e){return!(!e.c||!e.d||!e.c.i||e.c.i!=e.d.i)}function bX(e,t){return 0==t||0==e.e?e:t>0?m7(e,t):hhe(e,-t)}function mX(e,t){return 0==t||0==e.e?e:t>0?hhe(e,t):m7(e,-t)}function wX(e,t){return!!NM(t,149)&&eP(e.c,xL(t,149).c)}function vX(e,t){if(e<0||e>t)throw Jb(new Sv(Vse(e,t,"index")));return e}function yX(e){return e.t||(e.t=new Sb(e),v6(new wv(e),0,e.t)),e.t}function EX(e){var t;return L2(t=new _$,e),q3(t,(mve(),FKe),null),t}function _X(e){var t,n;return t=e.c.i,n=e.d.i,t.k==(yoe(),f$e)&&n.k==f$e}function SX(e){var t,n;++e.j,t=e.g,n=e.i,e.g=null,e.i=0,e.$h(n,t),e.Zh()}function xX(e,t){e.li(e.i+1),rI(e,e.i,e.ji(e.i,t)),e.Yh(e.i++,t),e.Zh()}function TX(e,t,n){Ib.call(this,n),this.b=e,this.c=t,this.d=(Y9(),Pnt)}function AX(e,t,n){this.d=e,this.k=t?1:0,this.f=n?1:0,this.o=-1,this.p=0}function kX(e,t,n){var r;$0(r=new pI(e.a),e.a.a),tce(r.f,t,n),e.a.a=r}function CX(e,t,n){var r;return(r=e.Tg(t))>=0?e.Wg(r,n,!0):Jce(e,t,n)}function MX(e,t){var n;return!(n=xL(e.c.vc(t),15))&&(n=e.ic(t)),e.nc(t,n)}function IX(e,t){var n,r;return sB(e),n=e,sB(t),n==(r=t)?0:nn||t=0,"Initial capacity must not be negative")}function pY(){pY=S,Aze=E5((sZ(),m3(ay(Lze,1),Kye,376,0,[Sze,_ze,xze])))}function gY(){gY=S,ZUe=E5((RQ(),m3(ay(QUe,1),Kye,230,0,[qUe,XUe,YUe])))}function bY(){bY=S,ije=E5((IK(),m3(ay(aje,1),Kye,455,0,[eje,JUe,tje])))}function mY(){mY=S,uje=E5((CZ(),m3(ay(Nje,1),Kye,456,0,[cje,sje,oje])))}function wY(){wY=S,nUe=E5((o5(),m3(ay(rUe,1),Kye,132,0,[XFe,YFe,KFe])))}function vY(){vY=S,YQe=E5((p4(),m3(ay(QQe,1),Kye,372,0,[WQe,VQe,qQe])))}function yY(){yY=S,lJe=E5((p2(),m3(ay(hJe,1),Kye,373,0,[aJe,oJe,sJe])))}function EY(){EY=S,iJe=E5((t1(),m3(ay(cJe,1),Kye,446,0,[nJe,eJe,tJe])))}function _Y(){_Y=S,wJe=E5((P5(),m3(ay(_Je,1),Kye,334,0,[pJe,gJe,bJe])))}function SY(){SY=S,SJe=E5((j0(),m3(ay(kJe,1),Kye,336,0,[EJe,vJe,yJe])))}function xY(){xY=S,CJe=E5((Y2(),m3(ay(FJe,1),Kye,375,0,[TJe,AJe,xJe])))}function TY(){TY=S,rVe=E5((n1(),m3(ay(sVe,1),Kye,335,0,[JGe,tVe,eVe])))}function AY(){AY=S,cVe=E5((OQ(),m3(ay(fVe,1),Kye,416,0,[aVe,iVe,oVe])))}function kY(){kY=S,mVe=E5((D3(),m3(ay(xVe,1),Kye,444,0,[pVe,dVe,gVe])))}function CY(){CY=S,VJe=E5((r1(),m3(ay(WJe,1),Kye,447,0,[zJe,$Je,HJe])))}function MY(){MY=S,c2e=E5((c9(),m3(ay(f2e,1),Kye,436,0,[o2e,i2e,a2e])))}function IY(){IY=S,U3e=E5((Q6(),m3(ay(B3e,1),Kye,430,0,[P3e,L3e,D3e])))}function OY(){OY=S,dWe=E5((MZ(),m3(ay(bWe,1),Kye,301,0,[uWe,fWe,lWe])))}function RY(){RY=S,cWe=E5((d2(),m3(ay(hWe,1),Kye,292,0,[aWe,oWe,iWe])))}function NY(){NY=S,X2e=E5((h2(),m3(ay(Y2e,1),Kye,293,0,[V2e,W2e,G2e])))}function PY(){PY=S,m2e=E5((s5(),m3(ay($2e,1),Kye,377,0,[d2e,p2e,g2e])))}function LY(){LY=S,e3e=E5((l9(),m3(ay(A3e,1),Kye,378,0,[Z2e,Q2e,K2e])))}function DY(){DY=S,TGe=E5((K1(),m3(ay(PGe,1),Kye,358,0,[SGe,_Ge,EGe])))}function FY(){FY=S,j8e=E5((mJ(),m3(ay(G8e,1),Kye,271,0,[L8e,D8e,F8e])))}function UY(){UY=S,f9e=E5((Z6(),m3(ay(b9e,1),Kye,332,0,[c9e,s9e,l9e])))}function jY(){jY=S,VGe=new hT("QUADRATIC",0),WGe=new hT("SCANLINE",1)}function BY(e){return!e.g&&(e.g=new nc),!e.g.c&&(e.g.c=new _b(e)),e.g.c}function zY(e,t,n){var r,i;if(null!=n)for(r=0;r=i){for(o=1;o=0?e.Wg(n,!0,!0):Jce(e,t,!0)}function bK(e,t){return ax(e.e,t)||Eee(e.e,t,new Lee(t)),xL(LZ(e.e,t),112)}function mK(e){for(;!e.a;)if(!rP(e.c,new Ad(e)))return!1;return!0}function wK(e){return cj(e),NM(e,197)?xL(e,197):new Zf(e)}function vK(e,t){if(null==e.g||t>=e.i)throw Jb(new iC(t,e.i));return e.g[t]}function yK(e,t,n){if(C4(e,n),null!=n&&!e.rj(n))throw Jb(new bm);return n}function EK(e,t){return 10!=KZ(t)&&m3(D4(t),t.cm,t.__elementTypeId$,KZ(t),e),e}function _K(e,t){Xk.call(this,t.rd(),-16449&t.qd()),sB(e),this.a=e,this.c=t}function SK(e,t){if(t.a)throw Jb(new sv(W_e));ZU(e.a,t),t.a=e,!e.j&&(e.j=t)}function xK(e){e.a=HY(Eit,kEe,24,e.b+1,15,1),e.c=HY(Eit,kEe,24,e.b,15,1),e.d=0}function TK(){TK=S,K0e=B7(B7(Ux(new nW,(rre(),X1e)),(kse(),o0e)),n0e)}function AK(){var e,t,n,r;AK=S,q4e=new us,Y4e=new fs,Ove(),e=t8e,t=q4e,n=L6e,r=Y4e,cz(),X4e=new ov(m3(ay(WLe,1),jye,43,0,[(hte(e,t),new v_(e,t)),(hte(n,r),new v_(n,r))]))}function kK(){kK=S,l2e=new oA("LEAF_NUMBER",0),u2e=new oA("NODE_SIZE",1)}function CK(){CK=S,FFe=new fx("All",0),UFe=new WC,jFe=new FM,BFe=new qC}function MK(){MK=S,$Fe=E5((CK(),m3(ay(HFe,1),Kye,297,0,[FFe,UFe,jFe,BFe])))}function IK(){IK=S,eje=new Ax(_Se,0),JUe=new Ax(vSe,1),tje=new Ax(SSe,2)}function OK(){OK=S,gbe(),Ort=e_e,Irt=t_e,Nrt=new $h(e_e),Rrt=new $h(t_e)}function RK(){RK=S,$je=E5((F2(),m3(ay(qje,1),Kye,401,0,[Bje,Fje,Uje,jje])))}function NK(){NK=S,Xje=E5((Jee(),m3(ay(Yje,1),Kye,322,0,[Gje,Hje,Vje,Wje])))}function PK(){PK=S,oBe=E5((ete(),m3(ay(cBe,1),Kye,390,0,[nBe,tBe,rBe,iBe])))}function LK(){LK=S,Zze=E5((U3(),m3(ay(o$e,1),Kye,400,0,[Wze,Yze,qze,Xze])))}function DK(){DK=S,XHe=E5((F3(),m3(ay(rGe,1),Kye,357,0,[WHe,GHe,VHe,HHe])))}function FK(){FK=S,lGe=E5((X2(),m3(ay(gGe,1),Kye,406,0,[iGe,aGe,oGe,sGe])))}function UK(){UK=S,kQe=E5((bte(),m3(ay(NQe,1),Kye,196,0,[xQe,TQe,SQe,_Qe])))}function jK(){jK=S,kVe=new vT(FTe,0),AVe=new vT("IMPROVE_STRAIGHTNESS",1)}function BK(e,t){var n,r;return r=t/e.c.Hd().gc()|0,n=t%e.c.Hd().gc(),eY(e,r,n)}function zK(e,t){var n;return YW(t),(n=EK(e.slice(0,t),e)).length=t,n}function $K(e,t,n,r){a$(),r=r||mFe,Jse(e.slice(t,n),e,t,n,-t,r)}function HK(e,t,n,r,i){return t<0?Jce(e,n,r):xL(n,65).Ij().Kj(e,e.th(),t,r,i)}function GK(e,t){if(t<0)throw Jb(new Sv(iIe+t));return kW(e,t+1),$D(e.j,t)}function VK(e){var t;if(!C1(e))throw Jb(new mm);return e.e=1,t=e.d,e.d=null,t}function WK(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[0];)n=t;return n}function qK(e){var t;null!=(t=e.vi())&&-1!=e.d&&xL(t,91).Ig(e),e.i&&e.i.Ai()}function XK(e,t){var n;this.f=e,this.b=t,n=xL(qj(e.b,t),282),this.c=n?n.b:null}function YK(e,t,n){for(;n=0;)++t[0]}function vZ(e,t){Qje=new et,aBe=t,xL((Zje=e).b,63),qY(Zje,Qje,null),cme(Zje)}function yZ(e,t){return ZB(t,$D(e.f,0))||ZB(t,$D(e.f,1))||ZB(t,$D(e.f,2))}function EZ(e,t){var n,r;return kS(),n=SW(e),r=SW(t),!!n&&!!r&&!Hee(n.k,r.k)}function _Z(e,t,n){var r,i;for(r=10,i=0;i=0?ate(e,n,!0,!0):Jce(e,t,!0)}function xZ(e){var t;for(t=e.p+1;t0?(e.f[l.p]=h/(l.e.c.length+l.g.c.length),e.c=r.Math.min(e.c,e.f[l.p]),e.b=r.Math.max(e.b,e.f[l.p])):s&&(e.f[l.p]=h)}}(e,t,n),0==e.a.c.length||function(e,t){var n,r,i,a,o,s,c,l,u,f;for(l=e.e[t.c.p][t.p]+1,c=t.c.a.c.length+1,s=new td(e.a);s.a=0&&(e.Yc(n),!0)}function NZ(e){var t;return e.d!=e.r&&(t=Ere(e),e.e=!!t&&t.xj()==kNe,e.d=t),e.e}function PZ(e,t){var n;for(cj(e),cj(t),n=!1;t.Ob();)n|=e.Dc(t.Pb());return n}function LZ(e,t){var n;return(n=xL(qj(e.e,t),382))?(ZM(e,n),n.e):null}function DZ(e,t){return l8(e),new JD(e,new sP(new HX(t,e.a)))}function FZ(e){var t,n;return t=e/60|0,0==(n=e%60)?""+t:t+":"+n}function UZ(e){return K4(e,Jve)>0?Jve:K4(e,iEe)<0?iEe:zD(e)}function jZ(e,t){var n=e.a[t],r=(z3(),gDe)[typeof n];return r?r(n):a6(typeof n)}function BZ(e,t){var n;for(++e.d,++e.c[t],n=t+1;ne.a[r]&&(r=n);return r}function QZ(e){var t;for(++e.a,t=e.c.a.length;e.a=0&&t=-.01&&e.a<=CSe&&(e.a=0),e.b>=-.01&&e.b<=CSe&&(e.b=0),e}function CQ(e){var t;mO(!!e.c),t=e.c.a,UQ(e.d,e.c),e.b==e.c?e.b=t:--e.a,e.c=null}function MQ(e,t){var n;return l8(e),n=new Vz(e,e.a.rd(),4|e.a.qd(),t),new JD(e,n)}function IQ(e,t,n,r,i,a){var o;bG(o=EX(r),i),gG(o,a),Xce(e.a,r,new BP(o,t,n.f))}function OQ(){OQ=S,aVe=new gT("GREEDY",0),iVe=new gT(QTe,1),oVe=new gT(ZTe,2)}function RQ(){RQ=S,qUe=new Tx("BEGIN",0),XUe=new Tx(vSe,1),YUe=new Tx("END",2)}function NQ(){NQ=S,mDe=SM(HEe,HEe,524287),wDe=SM(0,0,VEe),vDe=dX(1),dX(2),yDe=dX(0)}function PQ(e){var t;return(t=Mv(RR(Hae(e,(mve(),AKe)))))<0&&q3(e,AKe,t=0),t}function LQ(e,t){var n;for(n=e.Ic();n.Ob();)q3(xL(n.Pb(),69),(Rve(),GWe),t)}function DQ(e,t){var n;for(n=e;$H(n);)if((n=$H(n))==t)return!0;return!1}function FQ(e,t){if(null==e.g||t>=e.i)throw Jb(new iC(t,e.i));return e.gi(t,e.g[t])}function UQ(e,t){var n;return n=t.c,t.a.b=t.b,t.b.a=t.a,t.a=t.b=null,t.c=null,--e.b,n}function jQ(e,t){var n,r,i,a;for(sB(t),i=0,a=(r=e.c).length;i>16!=6?null:xL(Fle(e),234)}(e),t&&!t.fh()&&(e.w=t),t)}function qQ(e,t,n){if(C4(e,n),!e.wk()&&null!=n&&!e.rj(n))throw Jb(new bm);return n}function XQ(e,t){var n,r;r=e.a,n=function(e,t,n){var r,i;return i=e.a,e.a=t,!(4&e.Db)||1&e.Db||(r=new xU(e,1,5,i,e.a),n?Nie(n,r):n=r),n}(e,t,null),r!=t&&!e.e&&(n=rwe(e,t,n)),n&&n.Ai()}function YQ(e,t,n){var r=function(){return e.apply(r,arguments)};return t.apply(r,n),r}function KQ(e){var t;return XL(null==e||Array.isArray(e)&&!((t=KZ(e))>=14&&t<=16)),e}function ZQ(e){e.b=(IK(),JUe),e.f=(CZ(),sje),e.d=(JJ(2,Yye),new dY(2)),e.e=new lE}function QQ(e){this.b=(cj(e),new AP(e)),this.a=new $b,this.d=new $b,this.e=new lE}function JQ(e){var t;return rV(e.e,e),wO(e.b),e.c=e.a,t=xL(e.a.Pb(),43),e.b=u3(e),t}function eJ(e){if(!(e>=0))throw Jb(new Nv("tolerance ("+e+") must be >= 0"));return e}function tJ(e,t,n){var r,i;return i=t>>5,r=31&t,lH(fD(e.n[n][i],zD(uD(r,1))),3)}function nJ(e,t){return function(e){return e?e.g:null}(T0(e.a,t,zD(A6(Gye,KB(zD(A6(null==t?0:L4(t),Vye)),15)))))}function rJ(e,t){return hM(),eJ(rEe),r.Math.abs(e-t)<=rEe||e==t||isNaN(e)&&isNaN(t)}function iJ(e,t){return hM(),eJ(rEe),r.Math.abs(e-t)<=rEe||e==t||isNaN(e)&&isNaN(t)}function aJ(){aJ=S,TVe=E5((Soe(),m3(ay(CVe,1),Kye,274,0,[vVe,wVe,EVe,yVe,SVe,_Ve])))}function oJ(){oJ=S,FVe=E5((aie(),m3(ay(GVe,1),Kye,272,0,[NVe,RVe,LVe,OVe,PVe,IVe])))}function sJ(){sJ=S,VVe=E5((foe(),m3(ay(nWe,1),Kye,273,0,[$Ve,jVe,HVe,zVe,BVe,UVe])))}function cJ(){cJ=S,GGe=E5((Sse(),m3(ay(qGe,1),Kye,225,0,[jGe,zGe,UGe,BGe,$Ge,FGe])))}function lJ(){lJ=S,c0e=E5((kse(),m3(ay(H0e,1),Kye,325,0,[o0e,n0e,i0e,r0e,a0e,t0e])))}function uJ(){uJ=S,J8e=E5((xae(),m3(ay(u9e,1),Kye,310,0,[K8e,X8e,Z8e,W8e,Y8e,q8e])))}function fJ(){fJ=S,EQe=E5((sae(),m3(ay(AQe,1),Kye,311,0,[wQe,bQe,pQe,gQe,vQe,mQe])))}function hJ(){hJ=S,k5e=E5((mte(),m3(ay(W5e,1),Kye,247,0,[y5e,S5e,x5e,T5e,E5e,_5e])))}function dJ(){dJ=S,q5e=E5((Eie(),m3(ay(N8e,1),Kye,290,0,[V5e,G5e,H5e,z5e,B5e,$5e])))}function pJ(){pJ=S,H9e=E5((Hie(),m3(ay(Y9e,1),Kye,100,0,[z9e,B9e,j9e,D9e,U9e,F9e])))}function gJ(){gJ=S,m$e=E5((yoe(),m3(ay(w$e,1),Kye,266,0,[p$e,d$e,f$e,g$e,h$e,u$e])))}function bJ(){bJ=S,rje=(RQ(),m3(ay(QUe,1),Kye,230,0,[qUe,XUe,YUe])).length,nje=rje}function mJ(){mJ=S,L8e=new yA(vSe,0),D8e=new yA("HEAD",1),F8e=new yA("TAIL",2)}function wJ(e,t){return e.n=t,e.n?(e.f=new $b,e.e=new $b):(e.f=null,e.e=null),e}function vJ(e,t){var n;n=e.f,e.f=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,3,n,e.f))}function yJ(e,t){var n;n=e.g,e.g=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,4,n,e.g))}function EJ(e,t){var n;n=e.i,e.i=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,5,n,e.i))}function _J(e,t){var n;n=e.j,e.j=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,6,n,e.j))}function SJ(e,t){var n;n=e.j,e.j=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,1,n,e.j))}function xJ(e,t){var n;n=e.b,e.b=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,1,n,e.b))}function TJ(e,t){var n;n=e.b,e.b=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,3,n,e.b))}function AJ(e,t){var n;n=e.c,e.c=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,4,n,e.c))}function kJ(e,t){var n;n=e.k,e.k=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,2,n,e.k))}function CJ(e,t){var n;n=e.a,e.a=t,4&e.Db&&!(1&e.Db)&&E2(e,new rq(e,0,n,e.a))}function MJ(e,t){var n;n=e.s,e.s=t,4&e.Db&&!(1&e.Db)&&E2(e,new iq(e,4,n,e.s))}function IJ(e,t){var n;n=e.t,e.t=t,4&e.Db&&!(1&e.Db)&&E2(e,new iq(e,5,n,e.t))}function OJ(e,t){var n;n=e.d,e.d=t,4&e.Db&&!(1&e.Db)&&E2(e,new iq(e,2,n,e.d))}function RJ(e,t){var n;n=e.F,e.F=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,5,n,t))}function NJ(e,t){var n;if(n=e.gc(),t<0||t>n)throw Jb(new PN(t,n));return new cP(e,t)}function PJ(e,t){var n;return t in e.a&&(n=sH(e,t).he())?n.a:null}function LJ(e,t){var n,r;return yE(),r=new ic,!!t&&Ofe(r,t),b1(n=r,e),n}function DJ(e,t){var n;return(n=xL(qj((KS(),ctt),e),54))?n.sj(t):HY(LLe,aye,1,t,5,1)}function FJ(e){var t,n,r;for(n=0,r=(t=e).length;n=0),function(e,t){var n,r,i;return r=e.a.length-1,n=t-e.b&r,i=e.c-t&r,gO(n<(e.c-e.b&r)),n>=i?(function(e,t){var n,r;for(n=e.a.length-1,e.c=e.c-1&n;t!=e.c;)r=t+1&n,Gj(e.a,t,e.a[r]),t=r;Gj(e.a,e.c,null)}(e,t),-1):(function(e,t){var n,r;for(n=e.a.length-1;t!=e.b;)r=t-1&n,Gj(e.a,t,e.a[r]),t=r;Gj(e.a,e.b,null),e.b=e.b+1&n}(e,t),1)}(e.d,e.c)<0&&(e.a=e.a-1&e.d.a.length-1,e.b=e.d.c),e.c=-1}function KJ(e){return e.a<54?e.f<0?-1:e.f>0?1:0:(!e.c&&(e.c=o6(e.f)),e.c).e}function ZJ(e,t){var n;return NM(t,43)?e.c.Kc(t):(n=U9(e,t),k7(e,t),n)}function QJ(e,t,n){return D5(e,t),o0(e,n),MJ(e,0),IJ(e,1),D6(e,!0),B6(e,!0),e}function JJ(e,t){if(e<0)throw Jb(new Nv(t+" cannot be negative but was: "+e));return e}function e1(){return Z4e||H4(Z4e=new Ide,m3(ay($Ue,1),aye,130,0,[new Af])),Z4e}function t1(){t1=S,nJe=new NT(kSe,0),eJe=new NT("INPUT",1),tJe=new NT("OUTPUT",2)}function n1(){n1=S,JGe=new pT("ARD",0),tVe=new pT("MSD",1),eVe=new pT("MANUAL",2)}function r1(){r1=S,zJe=new jT("BARYCENTER",0),$Je=new jT(RTe,1),HJe=new jT(NTe,2)}function i1(){i1=S,PDe=m3(ay(Eit,1),kEe,24,15,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function a1(e,t,n,r){this.mj(),this.a=t,this.b=e,this.c=null,this.c=new qN(this,t,n,r)}function o1(e,t,n,r,i){this.d=e,this.n=t,this.g=n,this.o=r,this.p=-1,i||(this.o=-2-r-1)}function s1(){kI.call(this),this.n=-1,this.g=null,this.i=null,this.j=null,this.Bb|=uNe}function c1(e){_S(),this.g=new Hb,this.f=new Hb,this.b=new Hb,this.c=new aH,this.i=e}function l1(){this.f=new lE,this.d=new lw,this.c=new lE,this.a=new $b,this.b=new $b}function u1(e){var t;for(t=e.c.Ac().Ic();t.Ob();)xL(t.Pb(),15).$b();e.c.$b(),e.d=0}function f1(e,t){var n,r;for(n=0,r=e.gc();n0?xL($D(n.a,r-1),10):null}function d1(e,t){var n;n=e.k,e.k=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,2,n,e.k))}function p1(e,t){var n;n=e.f,e.f=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,8,n,e.f))}function g1(e,t){var n;n=e.i,e.i=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,7,n,e.i))}function b1(e,t){var n;n=e.a,e.a=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,8,n,e.a))}function m1(e,t){var n;n=e.b,e.b=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,0,n,e.b))}function w1(e,t){var n;n=e.c,e.c=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,1,n,e.c))}function v1(e,t){var n;n=e.d,e.d=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,1,n,e.d))}function y1(e,t){var n;n=e.D,e.D=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,2,n,e.D))}function E1(e,t){var n;n=e.c,e.c=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,4,n,e.c))}function _1(e,t){var n;n=e.b,e.b=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,0,n,e.b))}function S1(e,t){var n;n=e.c,e.c=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,1,n,e.c))}function x1(e,t){e.r>0&&e.c0&&0!=e.g&&x1(e.i,t/e.r*e.i.d))}function T1(e,t,n,i,a,o){this.c=e,this.e=t,this.d=n,this.i=i,this.f=a,this.g=o,function(e){e.e>0&&e.d>0&&(e.a=e.e*e.d,e.b=e.e/e.d,e.j=function(e,t,n){return r.Math.min(n/e,1/t)}(e.e,e.d,e.c))}(this)}function A1(e){var t,n;if(0==e)return 32;for(n=0,t=1;0==(t&e);t<<=1)++n;return n}function k1(e){var t;return(e=r.Math.max(e,2))>(t=H3(e))?(t<<=1)>0?t:Xye:t}function C1(e){switch(HM(3!=e.e),e.e){case 2:return!1;case 0:return!0}return function(e){return e.e=3,e.d=e.Yb(),2!=e.e&&(e.e=0,!0)}(e)}function M1(e,t){return phe(e.e,t)?(YS(),NZ(t)?new _D(t,e):new Ek(t,e)):new bk(t,e)}function I1(e,t){var n;n=e.d,e.d=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,11,n,e.d))}function O1(e,t){var n,r;for(r=t.tc().Ic();r.Ob();)Xre(e,(n=xL(r.Pb(),43)).ad(),n.bd())}function R1(e,t){var n;n=e.j,e.j=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,13,n,e.j))}function N1(e,t){var n;return!!NM(t,8)&&(n=xL(t,8),e.a==n.a&&e.b==n.b)}function P1(e){return null==e.b?($S(),$S(),xnt):e.Gk()?e.Fk():e.Ek()}function L1(e,t){var n;n=e.b,e.b=t,4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,21,n,e.b))}function D1(e,t){var n=e.a,r=0;for(var i in n)n.hasOwnProperty(i)&&(t[r++]=i);return t}function F1(e,t,n){var r,i,a;for(a=e.a.length-1,i=e.b,r=0;r0?t-1:t,rE(function(e,t){return e.j=t,e}(wJ(sD(new qw,n),e.n),e.j),e.k)}(e,e.g),oD(e.a,n),n.i=e,e.d=t,n)}function L0(e,t){var n;return Hce(new HA((n=pae(e)).c,n.d),new HA(n.b,n.a),e.pf(),t,e.Ef())}function D0(e){if(sB(e),0==e.length)throw Jb(new cy("Zero length BigInteger"));!function(e,t){var n,r,i,a,o,s,c,l,u,f,h,d,p,g,b;for(c=d=t.length,pG(0,t.length),45==t.charCodeAt(0)?(f=-1,h=1,--d):(f=1,h=0),i=d/(a=(Cbe(),lFe)[10])|0,0!=(b=d%a)&&++i,s=HY(Eit,kEe,24,i,15,1),n=cFe[8],o=0,p=h+(0==b?a:b),g=h;gi&&t.aa&&t.b0&&(this.g=this.mi(this.i+(this.i/8|0)+1),e.Oc(this.g))}function e2(e){return YEe=0x8000000000000000?(NQ(),mDe):(r=!1,e<0&&(r=!0,e=-e),n=0,e>=qEe&&(e-=(n=dH(e/qEe))*qEe),t=0,e>=WEe&&(e-=(t=dH(e/WEe))*WEe),i=SM(dH(e),t,n),r&&c4(i),i)}(e))}function t2(e){return NM(e,151)?OX(xL(e,151)):NM(e,131)?xL(e,131).a:NM(e,53)?new rv(e):new M_(e)}function n2(e,t){return QK(new md(e),new wd(t),new vd(t),new Y,m3(ay(rUe,1),Kye,132,0,[]))}function r2(e,t){var n;for(n=0;n1||e.Ob())return++e.a,e.g=0,t=e.i,e.Ob(),t;throw Jb(new mm)}function M2(e){var t;null==e.d?(++e.e,e.f=0,h6(null)):(++e.e,t=e.d,e.d=null,e.f=0,h6(t))}function I2(e){var t,n,r;return n=0,(r=e)<0&&(r+=qEe,n=GEe),t=dH(r/WEe),SM(dH(r-t*WEe),t,n)}function O2(e){var t,n,r;for(r=0,n=new rS(e.a);n.a=128)&&F_(e<64?lH(uD(1,e),n):lH(uD(1,e-64),t),0)}function n3(e,t,n,r){return 1==n?(!e.n&&(e.n=new AU(Pet,e,1,7)),Yee(e.n,t,r)):boe(e,t,n,r)}function r3(e,t){var n;return o0(n=new Fc,t),cK((!e.A&&(e.A=new lI(vnt,e,7)),e.A),n),n}function i3(e,t){var n,r;if(r=0,e<64&&e<=t)for(t=t<64?t:63,n=e;n<=t;n++)r=uH(r,uD(1,n));return r}function a3(e,t){var n;return 0!=(n=t.Nc()).length&&(_L(e.c,e.c.length,n),!0)}function o3(e,t){var n,r;for(sB(t),r=t.Ic();r.Ob();)if(n=r.Pb(),!e.Fc(n))return!1;return!0}function s3(e,t){var n;for(n=new td(e.b);n.a>22),i=e.h-t.h+(r>>22),SM(n&HEe,r&HEe,i&GEe)}function x3(e,t,n){var r;zU(e.a),jQ(n.i,new Og(e)),Y7(e,r=new PM(xL(qj(e.a,t.b),63)),t),n.f=r}function T3(e,t,n){var r;if(t>(r=e.gc()))throw Jb(new PN(t,r));return e.ci()&&(n=DH(e,n)),e.Qh(t,n)}function A3(e,t){if(0===t)return!e.o&&(e.o=new iK((uve(),pet),qet,e,0)),void e.o.c.$b();ase(e,t)}function k3(e){switch(e.g){case 1:return d9e;case 2:return h9e;case 3:return p9e;default:return g9e}}function C3(e){switch(xL(Hae(e,(mve(),BKe)),165).g){case 2:case 4:return!0;default:return!1}}function M3(e){var t;return yE(),t=new Zs,e&&cK((!e.a&&(e.a=new AU(Met,e,6,6)),e.a),t),t}function I3(e){var t,n,r;for(i$(),r=0,n=e.Ic();n.Ob();)r+=null!=(t=n.Pb())?L4(t):0,r|=0;return r}function O3(e){var t,n,r;return n=e.n,r=e.o,t=e.d,new Sz(n.a-t.b,n.b-t.d,r.a+(t.b+t.c),r.b+(t.d+t.a))}function R3(e,t){return!(!e||!t||e==t)&&h9(e.b.c,t.b.c+t.b.b)<0&&h9(t.b.c,e.b.c+e.b.b)<0}function N3(e,t,n){switch(n.g){case 2:e.b=t;break;case 1:e.c=t;break;case 4:e.d=t;break;case 3:e.a=t}}function P3(e,t,n,r,i){var a,o;for(o=n;o<=i;o++)for(a=t;a<=r;a++)Ete(e,a,o)||Sde(e,a,o,!0,!1)}function L3(){L3=S,new mb("org.eclipse.elk.addLayoutConfig"),V4e=new ns,G4e=new Jo,new rs}function D3(){D3=S,pVe=new mT(FTe,0),dVe=new mT("INCOMING_ONLY",1),gVe=new mT("OUTGOING_ONLY",2)}function F3(){F3=S,WHe=new qx(FTe,0),GHe=new qx(UTe,1),VHe=new qx(jTe,2),HHe=new qx("BOTH",3)}function U3(){U3=S,Wze=new Hx("Q1",0),Yze=new Hx("Q4",1),qze=new Hx("Q2",2),Xze=new Hx("Q3",3)}function j3(){j3=S,Z0e=AD(B7(B7(Ux(AD(new nW,(rre(),X1e),(kse(),o0e)),Y1e),r0e),i0e),K1e,a0e)}function B3(){B3=S,rWe=E5((Uhe(),m3(ay(sWe,1),Kye,255,0,[qVe,YVe,KVe,ZVe,QVe,JVe,tWe,WVe,XVe,eWe])))}function z3(){z3=S,gDe={boolean:X_,number:kv,string:Cv,object:rce,function:rce,undefined:tm}}function $3(e,t){MP(e>=0,"Negative initial capacity"),MP(t>=0,"Non-positive load factor"),zU(this)}function H3(e){var t;if(e<0)return iEe;if(0==e)return 0;for(t=Xye;0==(t&e);t>>=1);return t}function G3(e){var t,n;return SM(t=1+~e.l&HEe,n=~e.m+(0==t?1:0)&HEe,~e.h+(0==t&&0==n?1:0)&GEe)}function V3(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 W3(e){var t,n;return L2(n=new VX,e),q3(n,(q1(),sze),e),function(e,t,n){var i,a,o,s,c;for(i=0,o=new gI((!e.a&&(e.a=new AU(Let,e,10,11)),e.a));o.e!=o.i.gc();)s="",0==(!(a=xL(aee(o),34)).n&&(a.n=new AU(Pet,a,1,7)),a.n).i||(s=xL(FQ((!a.n&&(a.n=new AU(Pet,a,1,7)),a.n),0),137).a),L2(c=new eB(s),a),q3(c,(q1(),sze),a),c.b=i++,c.d.a=a.i+a.g/2,c.d.b=a.j+a.f/2,c.e.a=r.Math.max(a.g,1),c.e.b=r.Math.max(a.f,1),SL(t.e,c),tce(n.f,a,c),xL(gue(a,(ehe(),KBe)),100),Hie()}(e,n,t=new Hb),function(e,t,n){var i,a,o,s,c,l,u,f;for(l=new gI((!e.a&&(e.a=new AU(Let,e,10,11)),e.a));l.e!=l.i.gc();)for(a=new lU(RI(efe(c=xL(aee(l),34)).a.Ic(),new p));Wle(a);){if(!(i=xL(qq(a),80)).b&&(i.b=new VN(ket,i,4,7)),!(i.b.i<=1&&(!i.c&&(i.c=new VN(ket,i,5,8)),i.c.i<=1)))throw Jb(new Vv("Graph must not contain hyperedges."));if(!Ple(i)&&c!=Jie(xL(FQ((!i.c&&(i.c=new VN(ket,i,5,8)),i.c),0),93)))for(L2(u=new wN,i),q3(u,(q1(),sze),i),bh(u,xL(Tk(H$(n.f,c)),144)),mh(u,xL(qj(n,Jie(xL(FQ((!i.c&&(i.c=new VN(ket,i,5,8)),i.c),0),93))),144)),SL(t.c,u),s=new gI((!i.n&&(i.n=new AU(Pet,i,1,7)),i.n));s.e!=s.i.gc();)L2(f=new tq(u,(o=xL(aee(s),137)).a),o),q3(f,sze,o),f.e.a=r.Math.max(o.g,1),f.e.b=r.Math.max(o.f,1),dbe(f),SL(t.d,f)}}(e,n,t),n}function q3(e,t,n){return null==n?(!e.q&&(e.q=new Hb),BX(e.q,t)):(!e.q&&(e.q=new Hb),zB(e.q,t,n)),e}function X3(e,t,n){return null==n?(!e.q&&(e.q=new Hb),BX(e.q,t)):(!e.q&&(e.q=new Hb),zB(e.q,t,n)),e}function Y3(e,t){this.b=e,aC.call(this,(xL(FQ(u$((Ij(),Gtt).o),10),17),t.i),t.g),this.a=(z0(),wnt)}function K3(e,t){this.c=e,this.d=t,this.b=this.d/this.c.c.Hd().gc()|0,this.a=this.d%this.c.c.Hd().gc()}function Z3(){this.o=null,this.k=null,this.j=null,this.d=null,this.b=null,this.n=null,this.a=null}function Q3(e,t,n){this.q=new r.Date,this.q.setFullYear(e+Tye,t,n),this.q.setHours(0,0,0,0),Kge(this,0)}function J3(e,t){var n,r,i;for(n=!1,r=e.a[t].length,i=0;in&&(n=e[t]);return n}function h4(e,t,n){var r,i;return i=lW(t,"labels"),function(e,t,n){var r,i,a,o;if(n)for(i=((r=new qF(n.a.length)).b-r.a)*r.c<0?(QS(),pit):new bI(r);i.Ob();)(a=fW(n,xL(i.Pb(),20).a))&&(o=LJ(hW(a,POe),t),zB(e.f,o,a),qOe in a.a&&d1(o,hW(a,qOe)),uae(a,o),sce(a,o))}((r=new tk(e,n)).a,r.b,i),i}function d4(){d4=S,QHe=new wr,JHe=new vr,ZHe=new yr,KHe=new Er,sB(new _r),YHe=new A}function p4(){p4=S,WQe=new OT(FTe,0),VQe=new OT("NODES_AND_EDGES",1),qQe=new OT("PREFER_EDGES",2)}function g4(e){if(0===e.g)return new ts;throw Jb(new Nv(UMe+(null!=e.f?e.f:""+e.g)))}function b4(e){if(0===e.g)return new is;throw Jb(new Nv(UMe+(null!=e.f?e.f:""+e.g)))}function m4(e,t){switch(t){case 7:return!!e.e&&0!=e.e.i;case 8:return!!e.d&&0!=e.d.i}return N9(e,t)}function w4(e,t){var n;return n=T6(e,t),IE(IH(e,t),0)|function(e){return K4(e,0)>=0}(IH(e,n))?n:T6(Oye,IH(fD(n,63),1))}function v4(e,t){var n;for(n=0;n1||t>=0&&e.b<3)}function _4(e){var t,n,r;for(i$(),r=1,n=e.Ic();n.Ob();)r=31*r+(null!=(t=n.Pb())?L4(t):0),r|=0;return r}function S4(e,t,n){var r,i;return NM(t,144)&&n?(r=xL(t,144),i=n,e.a[r.b][i.b]+e.a[i.b][r.b]):0}function x4(e,t,n){var r;for(r=n-1;r>=0&&e[r]===t[r];r--);return r<0?0:IE(lH(e[r],l_e),lH(t[r],l_e))?-1:1}function T4(e){var t;for(t=new td(e.a.b);t.a=e.b.c.length||(G4(e,2*t+1),(n=2*t+2)0)return FF(t-1,e.a.c.length),NX(e.a,t-1);throw Jb(new xm)}function e5(e,t,n){var r,i;for(i=n.Ic();i.Ob();)if(r=xL(i.Pb(),43),e.re(t,r.bd()))return!0;return!1}function t5(e,t,n){return e.d[t.p][n.p]||(function(e,t,n){if(e.e)switch(e.b){case 1:!function(e,t,n){e.i=0,e.e=0,t!=n&&I4(e,t,n)}(e.c,t,n);break;case 0:!function(e,t,n){e.i=0,e.e=0,t!=n&&O4(e,t,n)}(e.c,t,n)}else VW(e.c,t,n);e.a[t.p][n.p]=e.c.i,e.a[n.p][t.p]=e.c.e}(e,t,n),e.d[t.p][n.p]=!0,e.d[n.p][t.p]=!0),e.a[t.p][n.p]}function n5(e,t){return!(!e||e==t||!HO(t,(Rve(),zWe)))&&xL(Hae(t,(Rve(),zWe)),10)!=e}function r5(e,t){var n;if(0!=t.c.length){for(;Kae(e,t);)Aue(e,t,!1);n=E3(t),e.a&&(e.a.gg(n),r5(e,n))}}function i5(e,t){null==e.D&&null!=e.B&&(e.D=e.B,e.B=null),y1(e,null==t?null:(sB(t),t)),e.C&&e.tk(null)}function a5(){a5=S,K7e=new ok("ELK",0),Z7e=new ok("JSON",1),Y7e=new ok("DOT",2),Q7e=new ok("SVG",3)}function o5(){o5=S,XFe=new hx("CONCURRENT",0),YFe=new hx("IDENTITY_FINISH",1),KFe=new hx("UNORDERED",2)}function s5(){s5=S,d2e=new sA(FTe,0),p2e=new sA("RADIAL_COMPACTION",1),g2e=new sA("WEDGE_COMPACTION",2)}function c5(){c5=S,a9e=new tM(15),i9e=new iM((Ove(),U6e),a9e),o9e=s8e,e9e=Q5e,t9e=I6e,r9e=N6e,n9e=R6e}function l5(){l5=S,Ove(),N2e=s8e,D2e=S8e,oue(),M2e=w2e,I2e=v2e,O2e=E2e,R2e=S2e,P2e=x2e,L2e=T2e,F2e=k2e}function u5(){u5=S,ES(),fBe=new rC(ixe,hBe=sBe),uBe=new mb(axe),dBe=new mb(oxe),pBe=new mb(sxe)}function f5(e,t,n){if(e>t)throw Jb(new Nv(D_e+e+F_e+t));if(e<0||t>n)throw Jb(new oy(D_e+e+U_e+t+k_e+n))}function h5(e,t,n,i,a){i?function(e,t){var n,r;for(r=new td(t);r.a1&&(i$(),wM(t,e.b),function(e,t){e.c&&(Spe(e,t,!0),aS(new JD(null,new LG(t,16)),new Zp(e))),Spe(e,t,!1)}(e.c,t))}function d5(e,t,n){var r,i;for(r=new iS,i=xee(n,0);i.b!=i.d.c;)oD(r,new nM(xL(_W(i),8)));Y4(e,t,r)}function p5(e){var t;return!e.a&&(e.a=new AU(Ftt,e,9,5)),0!=(t=e.a).i?function(e){return e.b?e.b:e.a}(xL(FQ(t,0),666)):null}function g5(e,t){var n,r;if(0!=(r=e.c[t]))for(e.c[t]=0,e.d-=r,n=t+1;nHCe?e-n>HCe:n-e>HCe)}function M5(e){if(!(e.a&&8&e.a.i))throw Jb(new Pv("Enumeration class expected for layout option "+e.f))}function I5(e){YH.call(this,"The given string does not match the expected format for individual spacings.",e)}function O5(){Qw.call(this,new XY(vQ(16))),JJ(2,Aye),this.b=2,this.a=new DB(null,null,0,null),am(this.a,this.a)}function R5(e){fv(),dM(this),Yz(this),this.e=e,fhe(this,e),this.g=null==e?cye:K8(e),this.a="",this.b=e,this.a=""}function N5(){this.a=new Zo,this.f=new xg(this),this.b=new Tg(this),this.i=new Ag(this),this.e=new kg(this)}function P5(){P5=S,pJe=new DT("CONSERVATIVE",0),gJe=new DT("CONSERVATIVE_SOFT",1),bJe=new DT("SLOPPY",2)}function L5(){L5=S,Bze=TH(m3(ay(U8e,1),Kye,108,0,[(K6(),M8e),I8e])),zze=TH(m3(ay(U8e,1),Kye,108,0,[R8e,C8e]))}function D5(e,t){var n,r;n=e.ik(t,null),r=null,t&&(_E(),XQ(r=new Wb,e.r)),(n=mae(e,r,n))&&n.Ai()}function F5(e,t){var n;for(n=0;ni&&(Sie(t.q,i),r=n!=t.q.c)),r}function z5(e,t){var n,i,a,o,s;return o=t.i,s=t.j,i=o-(n=e.f).i,a=s-n.j,r.Math.sqrt(i*i+a*a)}function $5(e,t){var n;return(n=U7(e))||(!Eet&&(Eet=new Tc),zbe(),cK((n=new Lb(Use(t))).Qk(),e)),n}function H5(e){var t;if(0!=e.c)return e.c;for(t=0;tn)throw Jb(new Sv(D_e+e+U_e+t+", size: "+n));if(e>t)throw Jb(new Nv(D_e+e+F_e+t))}function a6(e){throw z3(),Jb(new cv("Unexpected typeof result '"+e+"'; please report this bug to the GWT team"))}function o6(e){return Ghe(),e<0?-1!=e?new Qee(-1,-e):tFe:e<=10?rFe[dH(e)]:new Qee(1,e)}function s6(e){switch(e.gc()){case 0:return GLe;case 1:return new RD(cj(e.Xb(0)));default:return new eH(e)}}function c6(e){switch(bP(),e.gc()){case 0:return CB(),JLe;case 1:return new ny(e.Ic().Pb());default:return new rx(e)}}function l6(e){switch(bP(),e.c){case 0:return CB(),JLe;case 1:return new ny(wce(new rS(e)));default:return new nv(e)}}function u6(e,t){switch(t){case 1:return!e.n&&(e.n=new AU(Pet,e,1,7)),void lme(e.n);case 2:return void d1(e,null)}A3(e,t)}function f6(e,t){var n,r,i;for(i=1,n=e,r=t>=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(i*=n,r-=1);return t<0?1/i:i}function h6(e){var t,n,r,i;if(null!=e)for(n=0;nn);)i>=t&&++r;return r}function b6(e){var t;return(t=xL(LZ(e.c.c,""),227))||(t=new SG(Gy(Xy(new ps,""),"Other")),Eee(e.c.c,"",t)),t}function m6(e){var t;return 64&e.Db?Iue(e):((t=new BI(Iue(e))).a+=" (name: ",Fk(t,e.zb),t.a+=")",t.a)}function w6(e,t,n){var r,i;return i=e.sb,e.sb=t,4&e.Db&&!(1&e.Db)&&(r=new xU(e,1,4,i,t),n?n.zi(r):n=r),n}function v6(e,t,n){var r;if(t>(r=e.gc()))throw Jb(new PN(t,r));if(e.ci()&&e.Fc(n))throw Jb(new Nv(cRe));e.Sh(t,n)}function y6(e,t,n){if(t<0)Ece(e,n);else{if(!n.Dj())throw Jb(new Nv(lOe+n.ne()+uOe));xL(n,65).Ij().Qj(e,e.th(),t)}}function E6(e,t,n){var r;e.li(e.i+1),r=e.ji(t,n),t!=e.i&&Abe(e.g,t,e.g,t+1,e.i-t),Gj(e.g,t,r),++e.i,e.Yh(t,n),e.Zh()}function _6(e,t,n){var r,i;return i=e.r,e.r=t,4&e.Db&&!(1&e.Db)&&(r=new xU(e,1,8,i,e.r),n?n.zi(r):n=r),n}function S6(e,t){var n,r;return!(r=(n=xL(t,664)).qk())&&n.rk(r=NM(t,87)?new vk(e,xL(t,26)):new yV(e,xL(t,148))),r}function x6(e,t){var n;return n=new ee,e.a.sd(n)?(II(),new bv(sB(hZ(e,n.a,t)))):(SB(e),II(),II(),MFe)}function T6(e,t){var n;return Ik(e)&&Ik(t)&&YEe<(n=e+t)&&n>22),i=e.h+t.h+(r>>22),SM(n&HEe,r&HEe,i&GEe)}(Ik(e)?I2(e):e,Ik(t)?I2(t):t))}function A6(e,t){var n;return Ik(e)&&Ik(t)&&YEe<(n=e*t)&&n>13|(15&e.m)<<9,i=e.m>>4&8191,a=e.m>>17|(255&e.h)<<5,o=(1048320&e.h)>>8,b=r*(s=8191&t.l),m=i*s,w=a*s,v=o*s,0!=(c=t.l>>13|(15&t.m)<<9)&&(b+=n*c,m+=r*c,w+=i*c,v+=a*c),0!=(l=t.m>>4&8191)&&(m+=n*l,w+=r*l,v+=i*l),0!=(u=t.m>>17|(255&t.h)<<5)&&(w+=n*u,v+=r*u),0!=(f=(1048320&t.h)>>8)&&(v+=n*f),d=((g=n*s)>>22)+(b>>9)+((262143&m)<<4)+((31&w)<<17),p=(m>>18)+(w>>5)+((4095&v)<<8),p+=(d+=(h=(g&HEe)+((511&b)<<13))>>22)>>22,SM(h&=HEe,d&=HEe,p&=GEe)}(Ik(e)?I2(e):e,Ik(t)?I2(t):t))}function k6(e,t){var n;return Ik(e)&&Ik(t)&&YEe<(n=e-t)&&n-129&&e<128?(t=e+128,!(n=(FD(),$De)[t])&&(n=$De[t]=new Kh(e)),n):new Kh(e)}function G6(e){var t,n;return e>-129&&e<128?(t=e+128,!(n=(iD(),NDe)[t])&&(n=NDe[t]=new Xh(e)),n):new Xh(e)}function V6(e){var t;return e.k==(yoe(),f$e)&&((t=xL(Hae(e,(Rve(),NWe)),61))==(Lwe(),Q9e)||t==g7e)}function W6(e){var t;e.g&&(bhe((t=e.c.Of()?e.f:e.a).a,e.o,!0),bhe(t.a,e.o,!1),q3(e.o,(mve(),yZe),(Hie(),D9e)))}function q6(e){var t;if(!e.a)throw Jb(new Pv("Cannot offset an unassigned cut."));t=e.c-e.b,e.b+=t,Qz(e,t),Jz(e,t)}function X6(e,t,n){var r,i;return(i=Pue(e.b,t))&&(r=xL(Wbe(pZ(e,i),""),26))?Tue(e,r,t,n):null}function Y6(e,t){var n,r;for(r=new gI(e);r.e!=r.i.gc();)if(n=xL(aee(r),138),Ak(t)===Ak(n))return!0;return!1}function K6(){K6=S,O8e=new vA(kSe,0),I8e=new vA(SSe,1),M8e=new vA(_Se,2),C8e=new vA(PSe,3),R8e=new vA("UP",4)}function Z6(){Z6=S,c9e=new SA("INHERIT",0),s9e=new SA("INCLUDE_CHILDREN",1),l9e=new SA("SEPARATE_CHILDREN",2)}function Q6(){Q6=S,P3e=new dA("P1_STRUCTURE",0),L3e=new dA("P2_PROCESSING_ORDER",1),D3e=new dA("P3_EXECUTION",2)}function J6(e){return e=((e=((e-=e>>1&1431655765)>>2&858993459)+(858993459&e))>>4)+e&252645135,63&(e+=e>>8)+(e>>16)}function e8(e){var t,n,r;for(t=new $b,r=new td(e.b);r.a=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e>=48&&e<=57?e-48:0}function r8(e,t){return et?1:e==t?0==e?r8(1/e,1/t):0:isNaN(e)?isNaN(t)?0:1:-1}function i8(e){switch(e.g){case 2:return I8e;case 1:return M8e;case 4:return C8e;case 3:return R8e;default:return O8e}}function a8(e){switch(e.g){case 1:return m7e;case 2:return Q9e;case 3:return Z9e;case 4:return g7e;default:return b7e}}function o8(e){switch(e.g){case 1:return g7e;case 2:return m7e;case 3:return Q9e;case 4:return Z9e;default:return b7e}}function s8(e){switch(e.g){case 1:return Z9e;case 2:return g7e;case 3:return m7e;case 4:return Q9e;default:return b7e}}function c8(e,t){switch(e.b.g){case 0:case 1:return t;case 2:case 3:return new Sz(t.d,0,t.a,t.b);default:return null}}function l8(e){if(e.c)l8(e.c);else if(e.d)throw Jb(new Pv("Stream already terminated, can't be modified or used"))}function u8(e,t){var n;n=0!=(e.Bb&n_e),t?e.Bb|=n_e:e.Bb&=-4097,4&e.Db&&!(1&e.Db)&&E2(e,new aX(e,1,12,n,t))}function f8(e,t){var n;n=0!=(e.Bb&uNe),t?e.Bb|=uNe:e.Bb&=-1025,4&e.Db&&!(1&e.Db)&&E2(e,new aX(e,1,10,n,t))}function h8(e,t){var n;n=0!=(e.Bb&MNe),t?e.Bb|=MNe:e.Bb&=-2049,4&e.Db&&!(1&e.Db)&&E2(e,new aX(e,1,11,n,t))}function d8(e,t){var n;n=0!=(e.Bb&CNe),t?e.Bb|=CNe:e.Bb&=-8193,4&e.Db&&!(1&e.Db)&&E2(e,new aX(e,1,15,n,t))}function p8(e,t){var n,r,i;null==e.d?(++e.e,--e.f):(i=t.ad(),function(e,t,n){++e.e,--e.f,xL(e.d[t].Yc(n),133).bd()}(e,r=((n=t.Nh())&Jve)%e.d.length,Nue(e,r,n,i)))}function g8(e,t,n){var r,i;return e._i()?(i=e.aj(),r=qce(e,t,n),e.Vi(e.Ui(7,G6(n),r,t,i)),r):qce(e,t,n)}function b8(e,t){var n;for(n=new td(e.a);n.a=1?I8e:C8e:t}function k8(e){switch(xL(Hae(e,(Rve(),BWe)),301).g){case 1:q3(e,BWe,(MZ(),lWe));break;case 2:q3(e,BWe,(MZ(),fWe))}}function C8(e,t,n){var r,i;for(i=e.a.ec().Ic();i.Ob();)if(r=xL(i.Pb(),10),o3(n,xL($D(t,r.p),15)))return r;return null}function M8(e,t,n){var r;return yE(),CJ(r=new ec,t),xJ(r,n),e&&cK((!e.a&&(e.a=new iI(xet,e,5)),e.a),r),r}function I8(e,t,n,r){var i,a;return sB(r),sB(n),null==(a=null==(i=e.vc(t))?n:oS(xL(i,14),xL(n,15)))?e.zc(t):e.xc(t,a),a}function O8(e,t,n){var r;return r=e.a.get(t),e.a.set(t,void 0===n?null:n),void 0===r?(++e.c,B$(e.b)):++e.d,r}function R8(e){var t;return 64&e.Db?Iue(e):((t=new BI(Iue(e))).a+=" (identifier: ",Fk(t,e.k),t.a+=")",t.a)}function N8(e){var t,n;for(t=new $b,n=new td(e.j);n.a>10)+a_e&pEe,t[1]=56320+(1023&e)&pEe,A7(t,0,t.length)}function F8(e){var t,n,r;for(t=new tN(e.Hd().gc()),r=0,n=wK(e.Hd().Ic());n.Ob();)JH(t,n.Pb(),G6(r++));return function(e){var t;switch(cz(),e.c.length){case 0:return VLe;case 1:return function(e,t){return cz(),hte(e,t),new FB(e,t)}((t=xL(wce(new td(e)),43)).ad(),t.bd());default:return new ov(xL(gee(e,HY(WLe,jye,43,e.c.length,0,1)),164))}}(t.a)}function U8(){var e,t,n;rae(),n=DFe+++Date.now(),e=dH(r.Math.floor(n*x_e))&A_e,t=dH(n-e*T_e),this.a=1502^e,this.b=t^S_e}function j8(e,t,n,r,i,a){this.e=new $b,this.f=(t1(),nJe),SL(this.e,e),this.d=t,this.a=n,this.b=r,this.f=i,this.c=a}function B8(e){var t;this.a=new PP(t=xL(e.e&&e.e(),9),xL(lN(t,t.length),9),0),this.b=HY(LLe,aye,1,this.a.a.length,5,1)}function z8(e,t){var n;switch(n=xL(QB(e.b,t),121).n,t.g){case 1:n.d=e.s;break;case 3:n.a=e.s}e.B&&(n.b=e.B.b,n.c=e.B.c)}function $8(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 H8(e,t){if(t==e.d)return e.e;if(t==e.e)return e.d;throw Jb(new Nv("Node "+t+" not part of edge "+e))}function G8(e,t,n,r){if(t<0)tfe(e,n,r);else{if(!n.Dj())throw Jb(new Nv(lOe+n.ne()+uOe));xL(n,65).Ij().Oj(e,e.th(),t,r)}}function V8(e,t){var n,r;for(n=xee(e,0);n.b!=n.d.c;){if((r=Iv(RR(_W(n))))==t)return;if(r>t){CV(n);break}}pj(n,t)}function W8(e,t){var n,r;for(r=0,n=xL(t.Kb(e),19).Ic();n.Ob();)Av(OR(Hae(xL(n.Pb(),18),(Rve(),fqe))))||++r;return r}function q8(e,t){var n,r,i,a,o;if(n=t.f,Eee(e.c.d,n,t),null!=t.g)for(a=0,o=(i=t.g).length;a>>0).toString(16):e.toString()}function Z8(e,t,n,r){switch(t){case 3:return e.f;case 4:return e.g;case 5:return e.i;case 6:return e.j}return O6(e,t,n,r)}function Q8(e){return e.k==(yoe(),p$e)&&tX(new JD(null,new dj(new lU(RI(L8(e).a.Ic(),new p)))),new Hi)}function J8(e){var t,n,r;for(this.a=new zC,r=new td(e);r.a=a)return t.c+n;return t.c+t.b.gc()}function n9(e,t){var n,r;for(r=e.e.a.ec().Ic();r.Ob();)if(goe(t,(n=xL(r.Pb(),265)).d)||oce(t,n.d))return!0;return!1}function r9(e,t,n){var r,i;for(r=lH(n,l_e),i=0;0!=K4(r,0)&&it?1:bC(isNaN(e),isNaN(t))}function d9(e,t){e.hj();try{e.d.Tc(e.e++,t),e.f=e.d.j,e.g=-1}catch(e){throw NM(e=H2(e),73)?Jb(new Sm):Jb(e)}}function p9(e){switch(Lwe(),e.g){case 4:return Q9e;case 1:return Z9e;case 3:return g7e;case 2:return m7e;default:return b7e}}function g9(e){switch(e.g){case 0:return new zo;case 1:return new Go;default:throw Jb(new Nv(PTe+(null!=e.f?e.f:""+e.g)))}}function b9(e){switch(e.g){case 0:return new Ww;case 1:return new bw;default:throw Jb(new Nv(UMe+(null!=e.f?e.f:""+e.g)))}}function m9(e,t){var n;return e.d?UU(e.b,t)?xL(qj(e.b,t),52):(n=t.Hf(),zB(e.b,t,n),n):t.Hf()}function w9(e,t){var n;return Ak(e)===Ak(t)||!!NM(t,90)&&(n=xL(t,90),e.e==n.e&&e.d==n.d&&function(e,t){var n;for(n=e.d-1;n>=0&&e.a[n]===t[n];n--);return n<0}(e,n.a))}function v9(e,t){var n,r;for(r=new td(t);r.a0&&(r+=i,++n);return n>1&&(r+=e.d*(n-1)),r}function _9(e){var t,n,r;for((r=new ly).a+="[",t=0,n=e.gc();tl.d&&(f=l.d+l.a+o));n.c.d=f,t.a.xc(n,t),u=r.Math.max(u,n.c.d+n.c.a)}return u}(e),aS(new JD(null,new LG(e.d,16)),new Ud(e)),t}function I9(e){var t;return 64&e.Db?m6(e):((t=new BI(m6(e))).a+=" (instanceClassName: ",Fk(t,e.D),t.a+=")",t.a)}function O9(e,t,n){var r,i;if(++e.j,n.dc())return!1;for(i=n.Ic();i.Ob();)r=i.Pb(),e.Ci(t,e.ji(t,r)),++t;return!0}function R9(e,t){var n;if(t){for(n=0;n0&&(e.lj(),-1!=Nue(e,((n=null==t?0:L4(t))&Jve)%e.d.length,n,t))}function j9(e,t){var n,r,i,a;for(a=Kfe(e.e.Og(),t),n=xL(e.g,118),i=0;i0&&(t.lengthe.i&&Gj(t,e.i,null),t}function z9(e,t){var n,r;return sM(),r=null,t==(n=CN((dv(),dv(),cDe)))&&(r=xL(fH(sDe,e),605)),r||(r=new aB(e),t==n&&rG(sDe,e,r)),r}function $9(e){var t;return uN(),t=new nM(xL(e.e.Xe((Ove(),N6e)),8)),e.A.Fc((Tpe(),N7e))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function H9(e,t,n){var r,i,a;return e._i()?(r=e.i,a=e.aj(),E6(e,r,t),i=e.Ui(3,null,t,r,a),n?n.zi(i):n=i):E6(e,e.i,t),n}function G9(e,t){var n,r;return e.f>0&&(e.lj(),n=nle(e,((r=null==t?0:L4(t))&Jve)%e.d.length,r,t))?n.bd():null}function V9(e,t){var n,r,i;return!!NM(t,43)&&(r=(n=xL(t,43)).ad(),pB(i=_5(e.Pc(),r),n.bd())&&(null!=i||e.Pc()._b(r)))}function W9(e){return bte(),(e.q?e.q:(i$(),i$(),pFe))._b((mve(),nZe))?xL(Hae(e,nZe),196):xL(Hae(xB(e),rZe),196)}function q9(e,t){var n,r;return r=null,HO(e,(mve(),HZe))&&(n=xL(Hae(e,HZe),94)).Ye(t)&&(r=n.Xe(t)),null==r&&(r=Hae(xB(e),t)),r}function X9(){X9=S,V7e=new RA("SIMPLE",0),$7e=new RA("GROUP_DEC",1),G7e=new RA("GROUP_MIXED",2),H7e=new RA("GROUP_INC",3)}function Y9(){Y9=S,Pnt=new kc,knt=new Cc,Cnt=new Mc,Mnt=new Ic,Int=new Oc,Ont=new Rc,Rnt=new Nc,Nnt=new Pc,Lnt=new Lc}function K9(){K9=S,_7e=new tM(15),E7e=new iM((Ove(),U6e),_7e),x7e=new iM(S8e,15),S7e=new iM(l8e,G6(0)),y7e=new iM(Z5e,Rxe)}function Z9(e,t){var n,r;for(r=t.length,n=0;n>1,this.k=t-1>>1}function r7(e){if(null==e.b){for(;e.a.Ob();)if(e.b=e.a.Pb(),!xL(e.b,48).Ug())return!0;return e.b=null,!1}return!0}function i7(e,t){var n;if(NM(t,244)){n=xL(t,244);try{return 0==e.vd(n)}catch(e){if(!NM(e=H2(e),203))throw Jb(e)}}return!1}function a7(e,t){return hM(),hM(),eJ(rEe),(r.Math.abs(e-t)<=rEe||e==t||isNaN(e)&&isNaN(t)?0:et?1:bC(isNaN(e),isNaN(t)))>0}function o7(e,t){return hM(),hM(),eJ(rEe),(r.Math.abs(e-t)<=rEe||e==t||isNaN(e)&&isNaN(t)?0:et?1:bC(isNaN(e),isNaN(t)))<0}function s7(e){var t;0!=e.c&&(1==(t=xL($D(e.a,e.b),286)).b?(++e.b,e.bs)}(e.f,n,r)&&(function(e,t,n){var r,i;Rae(e.e,t,n,(Lwe(),m7e)),Rae(e.i,t,n,Z9e),e.a&&(i=xL(Hae(t,(Rve(),QWe)),11),r=xL(Hae(n,QWe),11),aV(e.g,i,r))}(e.f,e.a[t][n],e.a[t][r]),o=(a=e.a[t])[r],a[r]=a[n],a[n]=o,i=!0),i}function h7(e,t,n){var r,i,a;for(i=null,a=e.b;a;){if(r=e.a.ue(t,a.d),n&&0==r)return a;r>=0?a=a.a[1]:(i=a,a=a.a[0])}return i}function d7(e,t,n){var r,i,a;for(i=null,a=e.b;a;){if(r=e.a.ue(t,a.d),n&&0==r)return a;r<=0?a=a.a[0]:(i=a,a=a.a[1])}return i}function p7(e,t,n){var r,i,a;for(i=xL(qj(e.b,n),177),r=0,a=new td(t.j);a.a>5,t&=31,i=e.d+n+(0==t?0:1),function(e,t,n,r){var i,a,o;if(0==r)Abe(t,0,e,n,e.length-n);else for(o=32-r,e[e.length-1]=0,a=e.length-1;a>n;a--)e[a]|=t[a-n-1]>>>o,e[a-1]=t[a-n-1]<t.e?1:e.et.d?e.e:e.d=48&&e<48+r.Math.min(10,10)?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function R7(e,t){return hM(),hM(),eJ(rEe),(r.Math.abs(e-t)<=rEe||e==t||isNaN(e)&&isNaN(t)?0:et?1:bC(isNaN(e),isNaN(t)))<=0}function N7(e){switch(e.g){case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:return!0;default:return!1}}function P7(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw Jb(new Nv("Input edge is not connected to the input port."))}function L7(e){return Ghe(),K4(e,0)<0?0!=K4(e,-1)?new hie(-1,nK(e)):tFe:K4(e,10)<=0?rFe[zD(e)]:new hie(1,e)}function D7(e){var t,n;return K4(e,-129)>0&&K4(e,128)<0?(t=zD(e)+128,!(n=(DD(),DDe)[t])&&(n=DDe[t]=new Yh(e)),n):new Yh(e)}function F7(e,t){var n;return Ak(t)===Ak(e)||!!NM(t,21)&&(n=xL(t,21)).gc()==e.gc()&&e.Gc(n)}function U7(e){var t,n,r;if(!(r=e.Ug()))for(t=0,n=e.$g();n;n=n.$g()){if(++t>s_e)return n._g();if((r=n.Ug())||n==e)break}return r}function j7(e,t){var n,r;for(pG(t,e.length),n=e.charCodeAt(t),r=t+1;r=2*t&&SL(n,new nL(o[r-1]+t,o[r]-t));return n}(n,r),a=function(e){var t,n,r,i,a,o,s;for(a=new zC,n=new td(e);n.a2&&s.e.b+s.j.b<=2&&(i=s,r=o),a.a.xc(i,a),i.q=r);return a}(t),aS(MQ(new JD(null,new LG(a,1)),new vo),new _z(e,n,i,r)))}function W7(e,t,n){var r;0!=(e.Db&t)?null==n?function(e,t){var n,r,i,a,o,s,c;if(1==(r=J6(254&e.Db)))e.Eb=null;else if(a=KQ(e.Eb),2==r)i=wne(e,t),e.Eb=a[0==i?1:0];else{for(o=HY(LLe,aye,1,r-1,5,1),n=2,s=0,c=0;n<=128;n<<=1)n==t?++s:0!=(e.Db&n)&&(o[c++]=a[s++]);e.Eb=o}e.Db&=~t}(e,t):-1==(r=wne(e,t))?e.Eb=n:Gj(KQ(e.Eb),r,n):null!=n&&function(e,t,n){var r,i,a,o,s,c;if(0==(i=J6(254&e.Db)))e.Eb=n;else{if(1==i)o=HY(LLe,aye,1,2,5,1),0==wne(e,t)?(o[0]=n,o[1]=e.Eb):(o[0]=e.Eb,o[1]=n);else for(o=HY(LLe,aye,1,i+1,5,1),a=KQ(e.Eb),r=2,s=0,c=0;r<=128;r<<=1)r==t?o[c++]=n:0!=(e.Db&r)&&(o[c++]=a[s++]);e.Eb=o}e.Db|=t}(e,t,n)}function q7(e){var t;return 32&e.Db||0!=(t=Oj(xL(k2(e,16),26)||e.uh())-Oj(e.uh()))&&W7(e,32,HY(LLe,aye,1,t,5,1)),e}function X7(e,t){return sB(e),null!=t&&(!!eP(e,t)||e.length==t.length&&eP(e.toLowerCase(),t.toLowerCase()))}function Y7(e,t,n){var r,i,a;for(a=new td(n.a);a.aS&&(g.c=S-g.b),SL(s.d,new OF(g,c8(s,g))),v=t==Q9e?r.Math.max(v,b.b+u.b.pf().b):r.Math.min(v,b.b));for(v+=t==Q9e?e.s:-e.s,(y=M9((s.e=v,s)))>0&&(xL(QB(e.b,t),121).a.b=y),f=d.Ic();f.Ob();)!(u=xL(f.Pb(),110)).c||u.c.d.c.length<=0||((g=u.c.i).c-=u.e.a,g.d-=u.e.b)}else Cwe(e,t)}(e,t):Cwe(e,t):e.t.Fc(q9e)&&(n?function(e,t){var n,i,a,o,s,c,l,u,f,h,d,p,g,b,m,w;if((f=xL(xL(MX(e.r,t),21),81)).gc()<=2||t==(Lwe(),Z9e)||t==(Lwe(),m7e))Vwe(e,t);else{for(b=e.t.Fc((lae(),X9e)),n=t==(Lwe(),Q9e)?(F2(),Bje):(F2(),Fje),w=t==Q9e?(CZ(),oje):(CZ(),cje),i=xy(OP(n),e.s),m=t==Q9e?e_e:t_e,u=f.Ic();u.Ob();)!(c=xL(u.Pb(),110)).c||c.c.d.c.length<=0||(g=c.b.pf(),p=c.e,(d=(h=c.c).i).b=(o=h.n,h.e.a+o.b+o.c),d.a=(s=h.n,h.e.b+s.d+s.a),b?(d.c=p.a-(a=h.n,h.e.a+a.b+a.c)-e.s,b=!1):d.c=p.a+g.a+e.s,oB(w,xSe),h.f=w,lK(h,(IK(),tje)),SL(i.d,new OF(d,c8(i,d))),m=t==Q9e?r.Math.min(m,p.b):r.Math.max(m,p.b+c.b.pf().b));for(m+=t==Q9e?-e.s:e.s,M9((i.e=m,i)),l=f.Ic();l.Ob();)!(c=xL(l.Pb(),110)).c||c.c.d.c.length<=0||((d=c.c.i).c-=c.e.a,d.d-=c.e.b)}}(e,t):Vwe(e,t))}function cee(e){var t;Ak(gue(e,(Ove(),g6e)))===Ak((Z6(),c9e))&&($H(e)?(t=xL(gue($H(e),g6e),332),Zee(e,g6e,t)):Zee(e,g6e,l9e))}function lee(e,t,n){return new Sz(r.Math.min(e.a,t.a)-n/2,r.Math.min(e.b,t.b)-n/2,r.Math.abs(e.a-t.a)+n,r.Math.abs(e.b-t.b)+n)}function uee(e,t,n){var r,i,a;r=t.c.p,a=t.p,e.b[r][a]=new O$(e,t),n&&(e.a[r][a]=new Qp(t),(i=xL(Hae(t,(Rve(),zWe)),10))&&Xce(e.d,i,t))}function fee(e,t,n){var r;if(!n[t.d])for(n[t.d]=!0,r=new td(Y8(t));r.a=64&&t<128&&(i=uH(i,uD(1,t-64)));return i}function pee(e,t,n,r){var i;if(t>=(i=e.length))return i;for(t=t>0?t:0;tr&&Gj(t,r,null),t}function bee(e,t){var n,r;for(r=e.a.length,t.lengthr&&Gj(t,r,null),t}function mee(e){this.d=new $b,this.e=new wq,this.c=HY(Eit,kEe,24,(Lwe(),m3(ay(M7e,1),sTe,61,0,[b7e,Q9e,Z9e,g7e,m7e])).length,15,1),this.b=e}function wee(e){var t;this.d=new $b,this.j=new lE,this.g=new lE,t=e.g.b,this.f=xL(Hae(xB(t),(mve(),hKe)),108),this.e=Mv(RR(zee(t,GZe)))}function vee(e,t,n){var r;switch(r=n[e.g][t],e.g){case 1:case 3:return new HA(0,r);case 2:case 4:return new HA(r,0);default:return null}}function yee(e,t,n){var r,i,a,o;return r=null,(a=Ume(e1(),t))&&(i=null,null!=(o=Ame(a,n))&&(i=e.Ze(a,o)),r=i),r}function Eee(e,t,n){var r,i,a;return(i=xL(qj(e.e,t),382))?(a=oN(i,n),ZM(e,i),a):(r=new EL(e,t,n),zB(e.e,t,r),pH(r),null)}function _ee(e,t,n,r){var i,a;for(fle(),i=0,a=0;a=e.b>>1)for(r=e.c,n=e.b;n>t;--n)r=r.b;else for(r=e.a.a,n=0;n=0?e.gh(i):Vce(e,r):n<0?Vce(e,r):xL(r,65).Ij().Nj(e,e.th(),n)}function Uee(e){var t,n;for(!e.o&&(e.o=new iK((uve(),pet),qet,e,0)),t=(n=e.o).c.Ic();t.e!=t.i.gc();)xL(t.ij(),43).bd();return BY(n)}function jee(){jee=S,Ove(),ABe=g8e,yBe=h6e,gBe=Z5e,EBe=U6e,Mre(),xBe=CUe,SBe=AUe,TBe=IUe,_Be=TUe,u5(),mBe=fBe,bBe=uBe,wBe=dBe,vBe=pBe}function Bee(e){switch(yS(),this.c=new $b,this.d=e,e.g){case 0:case 2:this.a=sz(r$e),this.b=e_e;break;case 3:case 1:this.a=r$e,this.b=t_e}}function zee(e,t){var n,r;return r=null,HO(e,(Ove(),v8e))&&(n=xL(Hae(e,v8e),94)).Ye(t)&&(r=n.Xe(t)),null==r&&xB(e)&&(r=Hae(xB(e),t)),r}function $ee(e,t){var n;return n=xL(Hae(e,(mve(),FKe)),74),qM(t,a$e)?n?qz(n):(n=new mw,q3(e,FKe,n)):n&&q3(e,FKe,null),n}function Hee(e,t){var n,r,i,a;for(i$(),n=e,a=t,NM(e,21)&&!NM(t,21)&&(n=t,a=e),i=n.Ic();i.Ob();)if(r=i.Pb(),a.Fc(r))return!1;return!0}function Gee(e,t,n){var r;t.a.length>0&&(SL(e.b,new mL(t.a,n)),0<(r=t.a.length)?t.a=t.a.substr(0,0):0>r&&(t.a+=WM(HY(yit,dEe,24,-r,15,1))))}function Vee(e,t){var n,r,i;for(n=e.o,i=xL(xL(MX(e.r,t),21),81).Ic();i.Ob();)(r=xL(i.Pb(),110)).e.a=Fne(r,n.a),r.e.b=n.b*Mv(RR(r.b.Xe(Dje)))}function Wee(e){var t;return(t=new fy).a+="n",e.k!=(yoe(),p$e)&&Bk(Bk((t.a+="(",t),VO(e.k).toLowerCase()),")"),Bk((t.a+="_",t),Une(e)),t.a}function qee(e,t,n,r){var i;return n>=0?e.bh(t,n,r):(e.$g()&&(r=(i=e.Qg())>=0?e.Lg(r):e.$g().dh(e,-1-i,null,r)),e.Ng(t,n,r))}function Xee(e,t,n){var r,i;if(t>=(i=e.gc()))throw Jb(new PN(t,i));if(e.ci()&&(r=e.Vc(n))>=0&&r!=t)throw Jb(new Nv(cRe));return e.hi(t,n)}function Yee(e,t,n){var r,i,a,o;return-1!=(r=e.Vc(t))&&(e._i()?(a=e.aj(),o=Vne(e,r),i=e.Ui(4,o,null,r,a),n?n.zi(i):n=i):Vne(e,r)),n}function Kee(e,t){switch(t){case 7:return!e.e&&(e.e=new VN(Cet,e,7,4)),void lme(e.e);case 8:return!e.d&&(e.d=new VN(Cet,e,8,5)),void lme(e.d)}P9(e,t)}function Zee(e,t,n){return null==n?(!e.o&&(e.o=new iK((uve(),pet),qet,e,0)),k7(e.o,t)):(!e.o&&(e.o=new iK((uve(),pet),qet,e,0)),Xre(e.o,t,n)),e}function Qee(e,t){this.e=e,tn.b)return!0}return!1}function rte(e,t){return Mk(e)?!!qve[t]:e.cm?!!e.cm[t]:Ck(e)?!!Wve[t]:!!kk(e)&&!!Vve[t]}function ite(e){var t;if(Z4(e))return hF(e),e.Gk()&&(t=Wce(e.e,e.b,e.c,e.a,e.j),e.j=t),e.g=e.a,++e.a,++e.c,e.i=0,e.j;throw Jb(new mm)}function ate(e,t,n,r){var i,a,o;return a=mQ(e.Og(),t),(i=t-e.vh())<0?(o=e.Tg(a))>=0?e.Wg(o,n,!0):Jce(e,a,n):xL(a,65).Ij().Kj(e,e.th(),i,n,r)}function ote(e,t,n,r){var i,a;n.hh(t)&&(YS(),NZ(t)?function(e,t){var n,r,i,a;for(r=0,i=t.gc();r0||e==(zw(),$Le)||t==($w(),HLe))throw Jb(new Nv("Invalid range: "+HW(e,t)))}function hte(e,t){if(null==e)throw Jb(new Dv("null key in entry: null="+t));if(null==t)throw Jb(new Dv("null value in entry: "+e+"=null"))}function dte(e,t){var n,r;if((r=ore(e,t))>=0)return r;if(e.Ak())for(n=0;n0),(t&-t)==t)return dH(t*Fue(e,31)*4.656612873077393e-10);do{r=(n=Fue(e,31))%t}while(n-r+(t-1)<0);return dH(r)}function vte(e){var t,n,r;return kN(),null!=(r=sUe[n=":"+e])?dH((sB(r),r)):(t=null==(r=oUe[n])?function(e){var t,n,r,i;for(t=0,i=(r=e.length)-4,n=0;n0)for(r=new AP(xL(MX(e.a,a),21)),i$(),wM(r,new Yd(t)),i=new FV(a.b,0);i.b(c=null==e.d?0:e.d.length)){for(u=e.d,e.d=HY(Zet,cNe,60,2*c+4,0,1),a=0;a102?-1:e<=57?e-48:e<65?-1:e<=70?e-65+10:e<97?-1:e-97+10}function Wte(e){var t;if(t=function(e){var t;for(cj(e),uP(!0,"numberToAdvance must be nonnegative"),t=0;t<0&&Wle(e);t++)qq(e);return t}(e),!Wle(e))throw Jb(new Sv("position (0) must be less than the number of elements that remained ("+t+")"));return qq(e)}function qte(e,t){var n;return n=m3(ay(Tit,1),o_e,24,15,[S5(e.a[0],t),S5(e.a[1],t),S5(e.a[2],t)]),e.d&&(n[0]=r.Math.max(n[0],n[2]),n[2]=n[0]),n}function Xte(e,t){var n;return n=m3(ay(Tit,1),o_e,24,15,[x5(e.a[0],t),x5(e.a[1],t),x5(e.a[2],t)]),e.d&&(n[0]=r.Math.max(n[0],n[2]),n[2]=n[0]),n}function Yte(e,t,n){aP(xL(Hae(t,(mve(),yZe)),100))||(IZ(e,t,Boe(t,n)),IZ(e,t,Boe(t,(Lwe(),g7e))),IZ(e,t,Boe(t,Q9e)),i$(),wM(t.j,new Yp(e)))}function Kte(e){var t,n;for(e.c||function(e){var t,n,i,a,o,s;if(a=new FV(e.e,0),i=new FV(e.a,0),e.d)for(n=0;nBCe;){for(o=t,s=0;r.Math.abs(t-o)0),a.a.Xb(a.c=--a.b),Age(e,e.b-s,o,i,a),wO(a.b0),i.a.Xb(i.c=--i.b)}if(!e.d)for(n=0;n0||!o&&0==s))}(e,n,r.d,i,a,o,s)&&t.Dc(r),(l=r.a[1])&&ine(e,t,n,l,i,a,o,s))}function ane(e,t,n){try{Sde(e,t+e.j,n+e.k,!1,!0)}catch(e){throw NM(e=H2(e),73)?Jb(new Sv(e.g+VSe+t+rye+n+").")):Jb(e)}}function one(e,t,n){try{Sde(e,t+e.j,n+e.k,!0,!1)}catch(e){throw NM(e=H2(e),73)?Jb(new Sv(e.g+VSe+t+rye+n+").")):Jb(e)}}function sne(e,t){var n,r;if(n=xL(BQ(e.g,t),34))return n;if(r=xL(BQ(e.j,t),122))return r;throw Jb(new Wv("Referenced shape does not exist: "+t))}function cne(e,t){var n,r,i,a;for(a=e.gc(),t.lengtha&&Gj(t,a,null),t}function lne(e,t){var n,r,i;return n=t.ad(),i=t.bd(),r=e.vc(n),!(!(Ak(i)===Ak(r)||null!=i&&C6(i,r))||null==r&&!e._b(n))}function une(e,t,n,r){var i,a;this.a=t,this.c=r,function(e,t){e.b=t}(this,new HA(-(i=e.a).c,-i.d)),MN(this.b,n),a=r/2,t.a?YO(this.b,0,a):YO(this.b,a,0),SL(e.c,this)}function fne(e,t){if(e.c==t)return e.d;if(e.d==t)return e.c;throw Jb(new Nv("Node 'one' must be either source or target of edge 'edge'."))}function hne(e,t){if(e.c.i==t)return e.d.i;if(e.d.i==t)return e.c.i;throw Jb(new Nv("Node "+t+" is neither source nor target of edge "+e))}function dne(){dne=S,z2e=new uA(FTe,0),j2e=new uA(JTe,1),B2e=new uA("EDGE_LENGTH_BY_POSITION",2),U2e=new uA("CROSSING_MINIMIZATION_BY_POSITION",3)}function pne(e){var t;if(!e.C&&(null!=e.D||null!=e.B))if(t=function(e){var t,n,r,i;if(-1!=(t=mC(n=null!=e.D?e.D:e.B,_ae(91)))){r=n.substr(0,t),i=new ly;do{i.a+="["}while(-1!=(t=IO(n,91,++t)));eP(r,Yve)?i.a+="Z":eP(r,INe)?i.a+="B":eP(r,ONe)?i.a+="C":eP(r,RNe)?i.a+="D":eP(r,NNe)?i.a+="F":eP(r,PNe)?i.a+="I":eP(r,LNe)?i.a+="J":eP(r,DNe)?i.a+="S":(i.a+="L",i.a+=""+r,i.a+=";");try{return null}catch(e){if(!NM(e=H2(e),59))throw Jb(e)}}else if(-1==mC(n,_ae(46))){if(eP(n,Yve))return _it;if(eP(n,INe))return xit;if(eP(n,ONe))return yit;if(eP(n,RNe))return Tit;if(eP(n,NNe))return Ait;if(eP(n,PNe))return Eit;if(eP(n,LNe))return Sit;if(eP(n,DNe))return kit}return null}(e),t)e.tk(t);else try{e.tk(null)}catch(e){if(!NM(e=H2(e),59))throw Jb(e)}return e.C}function gne(e,t){var n;switch(t.g){case 2:case 4:n=e.a,e.c.d.n.b0&&(c+=i),l[u]=o,o+=s*(c+r)}function mne(e){var t,n,r;for(r=e.f,e.n=HY(Tit,o_e,24,r,15,1),e.d=HY(Tit,o_e,24,r,15,1),t=0;t=0;t--)if(eP(e[t].d,"Ey")||eP(e[t].d,"Sx")){e.length>=t+1&&e.splice(0,t+1);break}return e}(oDe.ce(e)))),t=0,n=e.j.length;t0&&(a.b+=t),a}function Rne(e,t){var n,i,a;for(a=new lE,i=e.Ic();i.Ob();)Vde(n=xL(i.Pb(),38),0,a.b),a.b+=n.f.b+t,a.a=r.Math.max(a.a,n.f.a);return a.a>0&&(a.a+=t),a}function Nne(e,t){var n,r;if(0==t.length)return 0;for(n=Jj(e.a,t[0],(Lwe(),m7e)),n+=Jj(e.a,t[t.length-1],Z9e),r=0;r>16==6?e.Cb.dh(e,5,Net,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||e.uh(),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function Dne(e){var t,n,i;e.b==e.c&&(i=e.a.length,n=H3(r.Math.max(8,i))<<1,0!=e.b?(F1(e,t=lN(e.a,n),i),e.a=t,e.b=0):Mm(e.a,n),e.c=i)}function Fne(e,t){var n;return(n=e.b).Ye((Ove(),Z6e))?n.Ef()==(Lwe(),m7e)?-n.pf().a-Mv(RR(n.Xe(Z6e))):t+Mv(RR(n.Xe(Z6e))):n.Ef()==(Lwe(),m7e)?-n.pf().a:t}function Une(e){var t;return 0!=e.b.c.length&&xL($D(e.b,0),69).a?xL($D(e.b,0),69).a:null!=(t=Cz(e))?t:""+(e.c?YK(e.c.a,e,0):-1)}function jne(e){var t;return 0!=e.f.c.length&&xL($D(e.f,0),69).a?xL($D(e.f,0),69).a:null!=(t=Cz(e))?t:""+(e.i?YK(e.i.j,e,0):-1)}function Bne(e,t){var n,r;if(t<0||t>=e.gc())return null;for(n=t;n=e.i)throw Jb(new iC(t,e.i));return++e.j,n=e.g[t],(r=e.i-t-1)>0&&Abe(e.g,t+1,e.g,t,r),Gj(e.g,--e.i,null),e.ai(t,n),e.Zh(),n}function Wne(e,t){var n,r;n=e.Xc(t);try{return r=n.Pb(),n.Qb(),r}catch(e){throw NM(e=H2(e),114)?Jb(new Sv("Can't remove element "+t)):Jb(e)}}function qne(e,t){var n,r,i;return!((i=e.h-t.h)<0||(n=e.l-t.l,(i+=(r=e.m-t.m+(n>>22))>>22)<0||(e.l=n&HEe,e.m=r&HEe,e.h=i&GEe,0)))}function Xne(e,t,n){var r,i;return D5(i=new Mw,t),o0(i,n),cK((!e.c&&(e.c=new AU(Btt,e,12,10)),e.c),i),MJ(r=i,0),IJ(r,1),D6(r,!0),B6(r,!0),r}function Yne(e,t){var n;return e.Db>>16==17?e.Cb.dh(e,21,Rtt,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||e.uh(),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function Kne(e){var t,n,r,i,a;for(i=Jve,a=null,r=new td(e.d);r.an.a.c.length))throw Jb(new Nv("index must be >= 0 and <= layer node count"));e.c&&KK(e.c.a,e),e.c=n,n&&mF(n.a,t,e)}function Jne(e,t,n){var r,i,a,o,s,c;for(c=0,i=0,a=(r=e.a[t]).length;i>16==6?e.Cb.dh(e,6,Cet,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(uve(),cet),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function dre(e,t){var n;return e.Db>>16==7?e.Cb.dh(e,1,Tet,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(uve(),fet),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function pre(e,t){var n;return e.Db>>16==9?e.Cb.dh(e,9,Let,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(uve(),det),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function gre(e,t){var n;return e.Db>>16==5?e.Cb.dh(e,9,Dtt,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(Fve(),Qtt),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function bre(e,t){var n;return e.Db>>16==7?e.Cb.dh(e,6,Net,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(Fve(),snt),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function mre(e,t){var n;return e.Db>>16==3?e.Cb.dh(e,0,Iet,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(Fve(),Vtt),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function wre(e,t){var n;return e.Db>>16==3?e.Cb.dh(e,12,Let,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(uve(),set),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function vre(){this.a=new oc,this.g=new Pte,this.j=new Pte,this.b=new Hb,this.d=new Pte,this.i=new Pte,this.k=new Hb,this.c=new Hb,this.e=new Hb,this.f=new Hb}function yre(e,t){var n,r;if(t){if(t==e)return!0;for(n=0,r=xL(t,48).$g();r&&r!=t;r=r.$g()){if(++n>s_e)return yre(e,r);if(r==e)return!0}}return!1}function Ere(e){var t;return 1&e.Bb||!e.r||!e.r.fh()||(t=xL(e.r,48),e.r=xL(Q5(e,t),138),e.r!=t&&4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,9,8,t,e.r))),e.r}function _re(e,t){var n;return Ik(e)&&Ik(t)&&YEe<(n=e/t)&&n>16==11?e.Cb.dh(e,10,Let,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(uve(),het),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function Are(e,t){var n;return e.Db>>16==10?e.Cb.dh(e,11,Rtt,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(Fve(),ant),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function kre(e,t){var n;return e.Db>>16==10?e.Cb.dh(e,12,jtt,t):(n=Ote(xL(mQ(xL(k2(e,16),26)||(Fve(),cnt),e.Db>>16),17)),e.Cb.dh(e,n.n,n.f,t))}function Cre(e,t){var n,r,i,a,o,s;return(o=e.h>>19)!=(s=t.h>>19)?s-o:(r=e.h)!=(a=t.h)?r-a:(n=e.m)!=(i=t.m)?n-i:e.l-t.l}function Mre(){Mre=S,dde(),IUe=new rC(lSe,OUe=UUe),hQ(),CUe=new rC(uSe,MUe=_Ue),Oee(),AUe=new rC(fSe,kUe=wUe),TUe=new rC(hSe,(pO(),!0))}function Ire(e,t,n){var r,i;r=t*n,NM(e.g,145)?(i=SW(e)).f.d?i.f.a||(e.d.a+=r+CSe):(e.d.d-=r+CSe,e.d.a+=r+CSe):NM(e.g,10)&&(e.d.d-=r,e.d.a+=2*r)}function Ore(e,t,n){var i,a,o,s,c;for(a=e[n.g],c=new td(t.d);c.as&&(c=s/i),(a=r.Math.abs(e.b))>o&&(l=o/a),nI(e,r.Math.min(c,l)),e}function Ure(){JS.call(this),this.e=-1,this.a=!1,this.p=iEe,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=iEe}function jre(){jre=S,kze=zF(AD(AD(AD(new nW,(Gae(),Nze),(Pve(),oHe)),Nze,uHe),Pze,mHe),Pze,X$e),Mze=AD(AD(new nW,Nze,U$e),Nze,Y$e),Cze=zF(new nW,Pze,Z$e)}function Bre(e,t){var n,r,i,a;for(a=new Hb,t.e=null,t.f=null,r=new td(t.i);r.a=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(i*=n,r-=1);return t<0?1/i:i}(e,e)/f6(2.718281828459045,e))}function Vre(e,t,n,r){switch(n){case 7:return!e.e&&(e.e=new VN(Cet,e,7,4)),H9(e.e,t,r);case 8:return!e.d&&(e.d=new VN(Cet,e,8,5)),H9(e.d,t,r)}return gae(e,t,n,r)}function Wre(e,t,n,r){switch(n){case 7:return!e.e&&(e.e=new VN(Cet,e,7,4)),Yee(e.e,t,r);case 8:return!e.d&&(e.d=new VN(Cet,e,8,5)),Yee(e.d,t,r)}return n3(e,t,n,r)}function qre(e){if(-1==e.g)throw Jb(new ym);e.hj();try{e.i.Yc(e.g),e.f=e.i.j,e.g0&&(i=nle(e,(a&Jve)%e.d.length,a,t))?i.cd(n):(r=e.oj(a,t,n),e.c.Dc(r),null)}function Yre(e,t){var n,r,i,a;switch(S6(e,t).Wk()){case 3:case 2:for(i=0,a=(n=Ebe(t)).i;i=0?(n=_re(e,XEe),r=a9(e,XEe)):(n=_re(t=fD(e,1),5e8),r=T6(uD(r=a9(t,5e8),1),lH(e,1))),uH(uD(r,32),lH(n,l_e))}function Zre(e,t){var n,i,a,o;for(o=0,a=xL(xL(MX(e.r,t),21),81).Ic();a.Ob();)i=xL(a.Pb(),110),o=r.Math.max(o,i.e.a+i.b.pf().a);(n=xL(QB(e.b,t),121)).n.b=0,n.a.a=o}function Qre(e,t){var n,i,a,o;for(n=0,o=xL(xL(MX(e.r,t),21),81).Ic();o.Ob();)a=xL(o.Pb(),110),n=r.Math.max(n,a.e.b+a.b.pf().b);(i=xL(QB(e.b,t),121)).n.d=0,i.a.b=n}function Jre(e,t){if(t==e.c.i)return e.d.i;if(t==e.d.i)return e.c.i;throw Jb(new Nv("'node' must either be the source node or target node of the edge."))}function eie(e,t){var n;if(n=!1,Mk(t)&&(n=!0,uB(e,new lj(NR(t)))),n||NM(t,236)&&(n=!0,uB(e,new lh(SP(xL(t,236))))),!n)throw Jb(new Tv(WOe))}function tie(e,t){var n;if(e.ii()&&null!=t){for(n=0;n0&&(e.b+=2,e.a+=i):(e.b+=1,e.a+=r.Math.min(i,a))}function iie(e){var t,n;switch(xL(Hae(xB(e),(mve(),DKe)),414).g){case 0:return t=e.n,n=e.o,new HA(t.a+n.a/2,t.b+n.b/2);case 1:return new nM(e.n);default:return null}}function aie(){aie=S,NVe=new yT(FTe,0),RVe=new yT("LEFTUP",1),LVe=new yT("RIGHTUP",2),OVe=new yT("LEFTDOWN",3),PVe=new yT("RIGHTDOWN",4),IVe=new yT("BALANCED",5)}function oie(e,t,n){switch(t){case 1:return!e.n&&(e.n=new AU(Pet,e,1,7)),lme(e.n),!e.n&&(e.n=new AU(Pet,e,1,7)),void Bj(e.n,xL(n,15));case 2:return void d1(e,NR(n))}R4(e,t,n)}function sie(e,t,n){switch(t){case 3:return void vJ(e,Mv(RR(n)));case 4:return void yJ(e,Mv(RR(n)));case 5:return void EJ(e,Mv(RR(n)));case 6:return void _J(e,Mv(RR(n)))}oie(e,t,n)}function cie(e,t,n){var r,i;(r=mae(i=new Mw,t,null))&&r.Ai(),o0(i,n),cK((!e.c&&(e.c=new AU(Btt,e,12,10)),e.c),i),MJ(i,0),IJ(i,1),D6(i,!0),B6(i,!0)}function lie(e,t){var n,r;return NM(n=ix(e.g,t),234)?((r=xL(n,234)).Lh(),r.Ih()):NM(n,490)?r=xL(n,1910).b:null}function uie(e,t,n,r){var i,a;return cj(t),cj(n),JK(!!(a=xL(_P(e.d,t),20)),"Row %s not in %s",t,e.e),JK(!!(i=xL(_P(e.b,n),20)),"Column %s not in %s",n,e.c),b3(e,a.a,i.a,r)}function fie(e,t,n,r,i,a,o){var s,c,l,u,f;if(f=_ne(s=(l=a==o-1)?r:0,u=i[a]),10!=r&&m3(ay(e,o-a),t[a],n[a],s,f),!l)for(++a,c=0;c1||-1==s?(a=xL(c,14),i.Wb(function(e,t){var n,r,i;for(r=new dY(t.gc()),n=t.Ic();n.Ob();)(i=Ape(e,xL(n.Pb(),55)))&&(r.c[r.c.length]=i);return r}(e,a))):i.Wb(Ape(e,xL(c,55))))}function Eie(){Eie=S,V5e=new wA("V_TOP",0),G5e=new wA("V_CENTER",1),H5e=new wA("V_BOTTOM",2),z5e=new wA("H_LEFT",3),B5e=new wA("H_CENTER",4),$5e=new wA("H_RIGHT",5)}function _ie(e){var t;return 64&e.Db?I9(e):((t=new BI(I9(e))).a+=" (abstract: ",jE(t,!!(256&e.Bb)),t.a+=", interface: ",jE(t,!!(512&e.Bb)),t.a+=")",t.a)}function Sie(e,t){var n,i,a,o,s;for(s=e.e,a=0,o=0,i=new td(e.a);i.a0&&Jne(this,this.c-1,(Lwe(),Z9e)),this.c0&&e[0].length>0&&(this.c=Av(OR(Hae(xB(e[0][0]),(Rve(),HWe))))),this.a=HY(UJe,kye,1987,e.length,0,2),this.b=HY(GJe,kye,1988,e.length,0,2),this.d=new O5}function Bie(e){return 0!=e.c.length&&((dG(0,e.c.length),xL(e.c[0],18)).c.i.k==(yoe(),d$e)||tX(uz(new JD(null,new LG(e,16)),new Ca),new Ma))}function zie(e,t,n){return Qie(n,"Tree layout",1),YV(e.b),tj(e.b,(rre(),q1e),q1e),tj(e.b,X1e,X1e),tj(e.b,Y1e,Y1e),tj(e.b,K1e,K1e),e.a=mme(e.b,t),function(e,t,n){var r,i,a;if(!(i=n)&&(i=new qw),Qie(i,"Layout",e.a.c.length),Av(OR(Hae(t,(xoe(),N0e)))))for(Y_(),r=0;r=0;t--)PFe[t]=r,r*=.5;for(n=1,e=24;e>=0;e--)NFe[e]=n,n*=.5}function iae(e){var t,n;if(Av(OR(gue(e,(mve(),NKe)))))for(n=new lU(RI(efe(e).a.Ic(),new p));Wle(n);)if(Zce(t=xL(qq(n),80))&&Av(OR(gue(t,PKe))))return!0;return!1}function aae(e,t){var n,r,i;ZU(e.f,t)&&(t.b=e,r=t.c,-1!=YK(e.j,r,0)||SL(e.j,r),i=t.d,-1!=YK(e.j,i,0)||SL(e.j,i),0!=(n=t.a.b).c.length&&(!e.i&&(e.i=new wee(e)),function(e,t){var n,r;for(r=new td(t);r.a=e.f)break;a.c[a.c.length]=n}return a}function pae(e){var t,n,r,i;for(t=null,i=new td(e.uf());i.a0&&Abe(e.g,t,e.g,t+r,s),o=n.Ic(),e.i+=r,i=0;ia&&FU(l,XZ(n[s],kFe))&&(i=s,a=c);return i>=0&&(r[0]=t+a),i}function Eae(e,t,n){Qie(n,"Grow Tree",1),e.b=t.f,Av(OR(Hae(t,(g2(),Jje))))?(e.c=new et,EG(e,null)):e.c=new et,e.a=!1,$fe(e,t.f),q3(t,eBe,(pO(),!!e.a)),Toe(n)}function _ae(e){var t,n;return e>=i_e?(t=a_e+(e-i_e>>10&1023)&pEe,n=56320+(e-i_e&1023)&pEe,String.fromCharCode(t)+""+String.fromCharCode(n)):String.fromCharCode(e&pEe)}function Sae(e,t,n,r,i){var a,o,s;for(a=Ohe(e,t,n,r,i),s=!1;!a;)Aue(e,i,!0),s=!0,a=Ohe(e,t,n,r,i);s&&Aue(e,i,!1),0!=(o=E3(i)).c.length&&(e.d&&e.d.gg(o),Sae(e,i,n,r,o))}function xae(){xae=S,K8e=new _A(FTe,0),X8e=new _A("DIRECTED",1),Z8e=new _A("UNDIRECTED",2),W8e=new _A("ASSOCIATION",3),Y8e=new _A("GENERALIZATION",4),q8e=new _A("DEPENDENCY",5)}function Tae(e,t,n,r){var i;if(i=!1,Mk(r)&&(i=!0,jL(t,n,NR(r))),i||kk(r)&&(i=!0,Tae(e,t,n,r)),i||NM(r,236)&&(i=!0,s$(t,n,xL(r,236))),!i)throw Jb(new Tv(WOe))}function Aae(e,t){var n,r;for(sB(t),r=e.b.c.length,SL(e.b,t);r>0;){if(n=r,r=(r-1)/2|0,e.a.ue($D(e.b,r),t)<=0)return Kq(e.b,n,t),!0;Kq(e.b,n,$D(e.b,r))}return Kq(e.b,r,t),!0}function kae(e,t,n,i){var a,o;if(a=0,n)a=x5(e.a[n.g][t.g],i);else for(o=0;o=o)}function Mae(e,t){var n,r,i,a;if(sB(t),(a=e.a.gc())=(i=e.Qi())||t<0)throw Jb(new Sv(lRe+t+uRe+i));if(n>=i||n<0)throw Jb(new Sv(fRe+n+uRe+i));return t!=n?(a=e.Oi(n),e.Ci(t,a),r=a):r=e.Ji(n),r}function Lae(e,t){NM(fH((WS(),Ptt),e),490)?rG(Ptt,e,new pk(this,t)):rG(Ptt,e,this),moe(this,t),t==(_E(),Htt)?(this.wb=xL(this,1911),xL(t,1913)):this.wb=(Ij(),Gtt)}function Dae(e){if(1!=(!e.b&&(e.b=new VN(ket,e,4,7)),e.b).i||1!=(!e.c&&(e.c=new VN(ket,e,5,8)),e.c).i)throw Jb(new Nv(sRe));return Jie(xL(FQ((!e.b&&(e.b=new VN(ket,e,4,7)),e.b),0),93))}function Fae(e){if(1!=(!e.b&&(e.b=new VN(ket,e,4,7)),e.b).i||1!=(!e.c&&(e.c=new VN(ket,e,5,8)),e.c).i)throw Jb(new Nv(sRe));return $2(xL(FQ((!e.b&&(e.b=new VN(ket,e,4,7)),e.b),0),93))}function Uae(e){if(1!=(!e.b&&(e.b=new VN(ket,e,4,7)),e.b).i||1!=(!e.c&&(e.c=new VN(ket,e,5,8)),e.c).i)throw Jb(new Nv(sRe));return $2(xL(FQ((!e.c&&(e.c=new VN(ket,e,5,8)),e.c),0),93))}function jae(e){if(1!=(!e.b&&(e.b=new VN(ket,e,4,7)),e.b).i||1!=(!e.c&&(e.c=new VN(ket,e,5,8)),e.c).i)throw Jb(new Nv(sRe));return Jie(xL(FQ((!e.c&&(e.c=new VN(ket,e,5,8)),e.c),0),93))}function Bae(e){var t,n,r;if(r=e,e)for(t=0,n=e.Pg();n;n=n.Pg()){if(++t>s_e)return Bae(n);if(r=n,n==e)throw Jb(new Pv("There is a cycle in the containment hierarchy of "+e))}return r}function zae(){zae=S,yFe=m3(ay(eFe,1),kye,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),EFe=m3(ay(eFe,1),kye,2,6,["Jan","Feb","Mar","Apr",vEe,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function $ae(e){var t,n;(t=eP(typeof t,N_e)?null:new le)&&(J_(),Yj(n=900>=Jye?"error":"warn",e.a),e.b&&Ffe(t,n,e.b,"Exception: ",!0))}function Hae(e,t){var n,r;return!e.q&&(e.q=new Hb),null!=(r=qj(e.q,t))?r:(NM(n=t.rg(),4)&&(null==n?(!e.q&&(e.q=new Hb),BX(e.q,t)):(!e.q&&(e.q=new Hb),zB(e.q,t,n))),n)}function Gae(){Gae=S,Ize=new Lx("P1_CYCLE_BREAKING",0),Oze=new Lx("P2_LAYERING",1),Rze=new Lx("P3_NODE_ORDERING",2),Nze=new Lx("P4_NODE_PLACEMENT",3),Pze=new Lx("P5_EDGE_ROUTING",4)}function Vae(e,t){var n,r,i,a;for(r=(1==t?zze:Bze).a.ec().Ic();r.Ob();)for(n=xL(r.Pb(),108),a=xL(MX(e.f.c,n),21).Ic();a.Ob();)i=xL(a.Pb(),46),KK(e.b.b,i.b),KK(e.b.a,xL(i.b,79).d)}function Wae(e,t){var n,r;if(Kae(e,t))return!0;for(r=new td(t);r.ar&&(pG(t-1,e.length),e.charCodeAt(t-1)<=32);)--t;return r>0||t1&&(e.j.b+=e.e)):(e.j.a+=n.a,e.j.b=r.Math.max(e.j.b,n.b),e.d.c.length>1&&(e.j.a+=e.e))}function toe(){toe=S,wGe=m3(ay(M7e,1),sTe,61,0,[(Lwe(),Q9e),Z9e,g7e]),mGe=m3(ay(M7e,1),sTe,61,0,[Z9e,g7e,m7e]),vGe=m3(ay(M7e,1),sTe,61,0,[g7e,m7e,Q9e]),yGe=m3(ay(M7e,1),sTe,61,0,[m7e,Q9e,Z9e])}function noe(e,t,n,r){var i,a,o,s,c;if(a=e.c.d,o=e.d.d,a.j!=o.j)for(c=e.b,i=a.j,s=null;i!=o.j;)s=0==t?s8(i):a8(i),oD(r,MN(vee(i,c.d[i.g],n),vee(s,c.d[s.g],n))),i=s}function roe(e,t,n,r){var i,a,o,s,c;return s=xL((o=tre(e.a,t,n)).a,20).a,a=xL(o.b,20).a,r&&(c=xL(Hae(t,(Rve(),oqe)),10),i=xL(Hae(n,oqe),10),c&&i&&(VW(e.b,c,i),s+=e.b.i,a+=e.b.e)),s>a}function ioe(e){var t,n,r,i,a,o,s,c;for(this.a=ute(e),this.b=new $b,r=0,i=(n=e).length;r0&&(e.a[H.p]=Q++)}for(re=0,P=0,F=(O=n).length;P0;){for(wO(q.b>0),W=0,c=new td((H=xL(q.a.Xb(q.c=--q.b),11)).e);c.a0&&(H.j==(Lwe(),Q9e)?(e.a[H.p]=re,++re):(e.a[H.p]=re+U+B,++B))}re+=B}for(V=new Hb,g=new zC,R=0,L=(M=t).length;Ru.b&&(u.b=X)):H.i.c==Z&&(Xu.c&&(u.c=X));for($K(b,0,b.length,null),ne=HY(Eit,kEe,24,b.length,15,1),i=HY(Eit,kEe,24,re+1,15,1),w=0;w0;)x%2>0&&(a+=oe[x+1]),++oe[x=(x-1)/2|0];for(A=HY(JJe,aye,359,2*b.length,0,1),E=0;Ee.d[i.p]&&(n+=Zq(e.b,r)*xL(o.b,20).a,yW(e.a,G6(r)));for(;!Bv(e.a);)BZ(e.b,xL(JU(e.a),20).a)}return n}(e,n)}(e.a,i)),o}function ooe(e,t,n,r,i){var a,o,s,c;for(c=null,s=new td(r);s.aFR(e.d).c?(e.i+=e.g.c,s7(e.d)):FR(e.d).c>FR(e.g).c?(e.e+=e.d.c,s7(e.g)):(e.i+=WD(e.g),e.e+=WD(e.d),s7(e.g),s7(e.d))}function coe(e,t,n,i){e.a.d=r.Math.min(t,n),e.a.a=r.Math.max(t,i)-e.a.d,tc&&(l=c/i),(a=r.Math.abs(t.b-e.b))>o&&(u=o/a),s=r.Math.min(l,u),e.a+=s*(t.a-e.a),e.b+=s*(t.b-e.b)}function doe(e,t,n,r,i){var a,o;for(o=!1,a=xL($D(n.b,0),34);Zge(e,t,a,r,i)&&(o=!0,mie(n,a),0!=n.b.c.length);)a=xL($D(n.b,0),34);return 0==n.b.c.length&&H7(n.j,n),o&&Q9(t.q),o}function poe(e,t){if(e<0||t<0)throw Jb(new Nv("k and n must be positive"));if(t>e)throw Jb(new Nv("k must be smaller than n"));return 0==t||t==e?1:0==e?0:Gre(e)/(Gre(t)*Gre(e-t))}function goe(e,t){var n,r,i,a;if(zhe(),t.b<2)return!1;for(r=n=xL(_W(a=xee(t,0)),8);a.b!=a.d.c;){if(Sfe(e,r,i=xL(_W(a),8)))return!0;r=i}return!!Sfe(e,r,n)}function boe(e,t,n,r){return 0==n?(!e.o&&(e.o=new iK((uve(),pet),qet,e,0)),vP(e.o,t,r)):xL(mQ(xL(k2(e,16),26)||e.uh(),n),65).Ij().Mj(e,q7(e),n-Oj(e.uh()),t,r)}function moe(e,t){var n;t!=e.sb?(n=null,e.sb&&(n=xL(e.sb,48).dh(e,1,Oet,n)),t&&(n=xL(t,48).ah(e,1,Oet,n)),(n=w6(e,t,n))&&n.Ai()):4&e.Db&&!(1&e.Db)&&E2(e,new xU(e,1,4,t,t))}function woe(e){if(null==xDe&&(xDe=new RegExp("^\\s*[+-]?(NaN|Infinity|((\\d+\\.?\\d*)|(\\.\\d+))([eE][+-]?\\d+)?[dDfF]?)\\s*$")),!xDe.test(e))throw Jb(new cy(JEe+e+'"'));return parseFloat(e)}function voe(e,t){var n,r;r=xL(Hae(t,(mve(),yZe)),100),q3(t,(Rve(),rqe),r),(n=t.e)&&(aS(new JD(null,new LG(n.a,16)),new qd(e)),aS(DZ(new JD(null,new LG(n.b,16)),new dt),new Xd(e)))}function yoe(){yoe=S,p$e=new Vx("NORMAL",0),d$e=new Vx("LONG_EDGE",1),f$e=new Vx("EXTERNAL_PORT",2),g$e=new Vx("NORTH_SOUTH_PORT",3),h$e=new Vx("LABEL",4),u$e=new Vx("BREAKING_POINT",5)}function Eoe(e){var t,n,r,i,a,o;for(t=new wq,i=0,a=(r=e).length;i>22-t,i=e.h<>22-t):t<44?(n=0,r=e.l<>44-t):(n=0,r=0,i=e.l<r&&(e.a=r),e.bi&&(e.b=i),e}function Voe(e){var t,n,r;for(oD(r=new mw,new HA(e.j,e.k)),n=new gI((!e.a&&(e.a=new iI(xet,e,5)),e.a));n.e!=n.i.gc();)oD(r,new HA((t=xL(aee(n),463)).a,t.b));return oD(r,new HA(e.b,e.c)),r}function Woe(e){if(NM(e,149))return function(e){var t,n,r,i,a;return a=fae(e),null!=e.a&&jL(a,"category",e.a),!e_(new Uh(e.d))&&(GZ(a,"knownOptions",r=new dh),t=new hb(r),Jq(new Uh(e.d),t)),!e_(e.g)&&(GZ(a,"supportedFeatures",i=new dh),n=new db(i),Jq(e.g,n)),a}(xL(e,149));if(NM(e,227))return function(e){var t,n,r;return r=fae(e),!e_(e.c)&&(GZ(r,"knownLayouters",n=new dh),t=new pb(n),Jq(e.c,t)),r}(xL(e,227));if(NM(e,23))return function(e){var t,n,r;return r=fae(e),null!=e.e&&jL(r,iRe,e.e),!!e.k&&jL(r,"type",VO(e.k)),!e_(e.j)&&(n=new dh,GZ(r,UOe,n),t=new gb(n),Jq(e.j,t)),r}(xL(e,23));throw Jb(new Nv(YOe+Yae(new Uv(m3(ay(LLe,1),aye,1,5,[e])))))}function qoe(e,t){var n;SL(e.d,t),n=t.pf(),e.c?(e.e.a=r.Math.max(e.e.a,n.a),e.e.b+=n.b,e.d.c.length>1&&(e.e.b+=e.a)):(e.e.a+=n.a,e.e.b=r.Math.max(e.e.b,n.b),e.d.c.length>1&&(e.e.a+=e.a))}function Xoe(e){var t,n,r,i;switch(t=(i=e.i).b,r=i.j,n=i.g,i.a.g){case 0:n.a=(e.g.b.o.a-r.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-r.a;break;case 3:n.b=t.d.n.b+t.d.a.b}}function Yoe(e,t,n,r){var i;this.b=r,this.e=e==(r1(),$Je),i=t[n],this.d=kD(_it,[kye,bSe],[177,24],16,[i.length,i.length],2),this.a=kD(Eit,[kye,kEe],[47,24],15,[i.length,i.length],2),this.c=new Uie(t,n)}function Koe(e,t,n,r){var i,a;if(t.k==(yoe(),d$e))for(a=new lU(RI(P8(t).a.Ic(),new p));Wle(a);)if((i=xL(qq(a),18)).c.i.k==d$e&&e.c.a[i.c.i.c.p]==r&&e.c.a[t.c.p]==n)return!0;return!1}function Zoe(e){var t,n;return xL(gue(e,(Ove(),I6e)),21).Fc((x7(),T7e))?(n=xL(gue(e,L6e),21),t=xL(gue(e,N6e),8),n.Fc((Tpe(),N7e))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t):new lE}function Qoe(e){switch(e.g){case 0:return new NF;case 1:return new Zu;case 2:return new Qu;default:throw Jb(new Nv("No implementation is available for the cycle breaker "+(null!=e.f?e.f:""+e.g)))}}function Joe(e,t){var n,r,i;ZU(e.d,t),n=new ho,zB(e.c,t,n),n.f=M6(t.c),n.a=M6(t.d),n.d=(ihe(),(i=t.c.i.k)==(yoe(),p$e)||i==u$e),n.e=(r=t.d.i.k)==p$e||r==u$e,n.b=t.c.j==(Lwe(),m7e),n.c=t.d.j==Z9e}function ese(e,t){var n,r,i,a;for(r=0,i=e.length;r=n)return lse(e,t,r.p),!0;return!1}function rse(e,t,n){var r,i,a,o,s;for(s=Kfe(e.e.Og(),t),i=xL(e.g,118),r=0,o=0;o=0?e.wh(i):Ece(e,r)}else y6(e,n,r)}function ose(e){var t;return 64&e.Db?koe(e):(t=new zI(iOe),!e.a||Bk(Bk((t.a+=' "',t),e.a),'"'),Bk(BE(Bk(BE(Bk(BE(Bk(BE((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function sse(e){var t,n,r;if(2==(t=e.c)||7==t||1==t)return Lve(),Lve(),Qrt;for(r=fve(e),n=null;2!=(t=e.c)&&7!=t&&1!=t;)n||(Lve(),Lve(),ime(n=new mM(1),r),r=n),ime(n,fve(e));return r}function cse(e,t,n){var r,i,a,o;for(Qie(n,"ELK Force",1),function(e){var t,n;(t=xL(Hae(e,(ehe(),QBe)),20))?(n=t.a,q3(e,(q1(),cze),0==n?new U8:new vW(n))):q3(e,(q1(),cze),new vW(1))}(o=W3(t)),function(e,t){switch(t.g){case 0:NM(e.b,621)||(e.b=new u2);break;case 1:NM(e.b,622)||(e.b=new nD)}}(e,xL(Hae(o,(ehe(),qBe)),418)),i=(a=Cge(e.a,o)).Ic();i.Ob();)r=xL(i.Pb(),229),cpe(e.b,r,P0(n,1/a.gc()));Fwe(o=Wwe(a)),Toe(n)}function lse(e,t,n){var i,a;for(n!=t.c+t.b.gc()&&function(e,t){var n,r,i,a,o,s,c,l,u,f,h,d,p,g,b,m,w,v,y,E,_,S,x,T;for(y=e.c,E=t.c,n=YK(y.a,e,0),r=YK(E.a,t,0),w=xL(L9(e,(t1(),eJe)).Ic().Pb(),11),x=xL(L9(e,tJe).Ic().Pb(),11),v=xL(L9(t,eJe).Ic().Pb(),11),T=xL(L9(t,tJe).Ic().Pb(),11),b=ZV(w.e),_=ZV(x.g),m=ZV(v.e),S=ZV(T.g),Qne(e,r,E),l=0,d=(a=m).length;l0&&use(e,a,n));t.p=0}function fse(e){var t;this.c=new iS,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=new PP(t=xL(RE(p5e),9),xL(lN(t,t.length),9),0),this.g=e.f}function hse(e){var t,n;if(n=null,t=!1,NM(e,202)&&(t=!0,n=xL(e,202).a),t||NM(e,257)&&(t=!0,n=""+xL(e,257).a),t||NM(e,477)&&(t=!0,n=""+xL(e,477).a),!t)throw Jb(new Tv(WOe));return n}function dse(e,t,n){var r,i,a;if(!(n<=t+2))for(i=(n-t)/2|0,r=0;r=(i/2|0))for(this.e=r?r.c:null,this.d=i;n++0;)KH(this);this.b=t,this.a=null}function Mse(e,t){var n,r;if(n=xL(QB(e.b,t),121),xL(xL(MX(e.r,t),21),81).dc())return n.n.b=0,void(n.n.c=0);n.n.b=e.B.b,n.n.c=e.B.c,e.w.Fc((x7(),C7e))&&ide(e,t),r=function(e,t){var n,r,i;for(i=0,r=xL(xL(MX(e.r,t),21),81).Ic();r.Ob();)i+=(n=xL(r.Pb(),110)).d.b+n.b.pf().a+n.d.c,r.Ob()&&(i+=e.v);return i}(e,t),Vhe(e,t)==(Cee(),O9e)&&(r+=2*e.v),n.a.a=r}function Ise(e,t){var n,r;if(n=xL(QB(e.b,t),121),xL(xL(MX(e.r,t),21),81).dc())return n.n.d=0,void(n.n.a=0);n.n.d=e.B.d,n.n.a=e.B.a,e.w.Fc((x7(),C7e))&&ade(e,t),r=function(e,t){var n,r,i;for(i=0,r=xL(xL(MX(e.r,t),21),81).Ic();r.Ob();)i+=(n=xL(r.Pb(),110)).d.d+n.b.pf().b+n.d.a,r.Ob()&&(i+=e.v);return i}(e,t),Vhe(e,t)==(Cee(),O9e)&&(r+=2*e.v),n.a.b=r}function Ose(e,t){var n,r,i,a;for(a=new $b,r=new td(t);r.a=0&&eP(e.substr(s,2),"//")?(c=pee(e,s+=2,_tt,Stt),r=e.substr(s,c-s),s=c):null==f||s!=e.length&&(pG(s,e.length),47==e.charCodeAt(s))||(o=!1,-1==(c=ZI(e,_ae(35),s))&&(c=e.length),r=e.substr(s,c-s),s=c);if(!n&&s0&&58==ez(u,u.length-1)&&(i=u,s=c)),s0&&(pG(0,n.length),47!=n.charCodeAt(0))))throw Jb(new Nv("invalid opaquePart: "+n));if(e&&(null==t||!j_(ftt,t.toLowerCase()))&&null!=n&&i9(n,_tt,Stt))throw Jb(new Nv(hNe+n));if(e&&null!=t&&j_(ftt,t.toLowerCase())&&!function(e){if(null!=e&&e.length>0&&33==ez(e,e.length-1))try{return null==Use(OO(e,0,e.length-1)).e}catch(e){if(!NM(e=H2(e),31))throw Jb(e)}return!1}(n))throw Jb(new Nv(hNe+n));if(!function(e){var t;return null==e||(t=e.length)>0&&(pG(t-1,e.length),58==e.charCodeAt(t-1))&&!i9(e,_tt,Stt)}(r))throw Jb(new Nv("invalid device: "+r));if(!function(e){var t,n;if(null==e)return!1;for(t=0,n=e.length;t=0?e.nh(a,n):tfe(e,i,n)}else G8(e,r,i,n)}function Hse(e,t,n){var r,i,a,o,s;if(null!=(o=xL(k2(e.a,8),1908)))for(i=0,a=o.length;in.a&&(r.Fc((Eie(),B5e))?i=(t.a-n.a)/2:r.Fc($5e)&&(i=t.a-n.a)),t.b>n.b&&(r.Fc((Eie(),G5e))?a=(t.b-n.b)/2:r.Fc(H5e)&&(a=t.b-n.b)),Nae(e,i,a)}function Zse(e,t,n,r,i,a,o,s,c,l,u,f,h){NM(e.Cb,87)&&cce(yX(xL(e.Cb,87)),4),o0(e,n),e.f=o,u8(e,s),h8(e,c),f8(e,l),d8(e,u),D6(e,f),_8(e,h),B6(e,!0),MJ(e,i),e.jk(a),D5(e,t),null!=r&&(e.i=null,R1(e,r))}function Qse(e){var t,n;if(e.f){for(;e.n>0;){if(NM(n=(t=xL(e.k.Xb(e.n-1),71)).Xj(),97)&&0!=(xL(n,17).Bb&gOe)&&(!e.e||n.Bj()!=Set||0!=n.Xi())&&null!=t.bd())return!0;--e.n}return!1}return e.n>0}function Jse(e,t,n,r,i,a){var o,s,c;if(r-n<7)!function(e,t,n,r){var i,a,o;for(i=t+1;it&&r.ue(e[a-1],e[a])>0;--a)o=e[a],Gj(e,a,e[a-1]),Gj(e,a-1,o)}(t,n,r,a);else if(Jse(t,e,s=n+i,c=s+((o=r+i)-s>>1),-i,a),Jse(t,e,c,o,-i,a),a.ue(e[c-1],e[c])<=0)for(;n=r||to.a&&!t&&(a.b=o.a),a.c=-(a.b-o.a)/2,n.g){case 1:a.d=-a.a;break;case 3:a.d=o.b}kge(i),Rge(i)}function ace(e,t,n){var i,a,o;switch(o=e.o,(a=(i=xL(QB(e.p,n),243)).i).b=jce(i),a.a=Uce(i),a.a=r.Math.max(a.a,o.b),a.a>o.b&&!t&&(a.a=o.b),a.d=-(a.a-o.b)/2,n.g){case 4:a.c=-a.b;break;case 2:a.c=o.a}kge(i),Rge(i)}function oce(e,t){var n,r,i,a;if(zhe(),t.b<2)return!1;for(r=n=xL(_W(a=xee(t,0)),8);a.b!=a.d.c;){if(i=xL(_W(a),8),!X0(e,r)||!X0(e,i))return!1;r=i}return!(!X0(e,r)||!X0(e,n))}function sce(e,t){var n,r,i,a,o;return n=PJ(o=e,"x"),function(e,t){EJ(e,null==t||xP((sB(t),t))||isNaN((sB(t),t))?0:(sB(t),t))}(new Jg(t).a,n),r=PJ(o,"y"),function(e,t){_J(e,null==t||xP((sB(t),t))||isNaN((sB(t),t))?0:(sB(t),t))}(new eb(t).a,r),i=PJ(o,ROe),function(e,t){yJ(e,null==t||xP((sB(t),t))||isNaN((sB(t),t))?0:(sB(t),t))}(new tb(t).a,i),a=PJ(o,OOe),function(e,t){vJ(e,null==t||xP((sB(t),t))||isNaN((sB(t),t))?0:(sB(t),t))}(new nb(t).a,a),a}function cce(e,t){xde(e,t),1&e.b&&(e.a.a=null),2&e.b&&(e.a.f=null),4&e.b&&(e.a.g=null,e.a.i=null),16&e.b&&(e.a.d=null,e.a.e=null),8&e.b&&(e.a.b=null),32&e.b&&(e.a.j=null,e.a.c=null)}function lce(e){var t,n,r,i,a;if(null==e)return cye;for(a=new P2(rye,"[","]"),r=0,i=(n=e).length;r0)for(o=e.c.d,i=nI(IN(new HA((s=e.d.d).a,s.b),o),1/(r+1)),a=new HA(o.a,o.b),n=new td(e.a);n.a",Jb(new Nv(r.a))}function vce(e,t,n){var i,a,o,s,c,l;for(l=e_e,o=new td(pfe(e.b));o.a(dG(a+1,t.c.length),xL(t.c[a+1],20)).a-r&&++s,SL(i,(dG(a+s,t.c.length),xL(t.c[a+s],20))),o+=(dG(a+s,t.c.length),xL(t.c[a+s],20)).a-r,++n;n